Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-262651

Faces of certain "polished" stair block sides appear incorrectly cut off

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.19.4, 1.20 Pre-release 1, 1.20 Pre-release 2, 1.20.2, 23w43a, 1.20.4, 24w09a
    • Confirmed
    • Textures and models

      The bug

      The textures of stairs made from certain polished materials appear undesirably cut off in many places. Compare the high-priority issue MC-137583.

      Currently, the following types of stairs are affected:

      • minecraft:polished_andesite_stairs
      • minecraft:polished_blackstone_stairs
      • minecraft:polished_deepslate_stairs
      • minecraft:polished_diorite_stairs
      • minecraft:polished_granite_stairs
      • minecraft:polished_tuff_stairs
      • minecraft:quartz_stairs

      How to reproduce

      1. Place any of the above stairs
      2. Inspect the stairs, particularly at the edges

      Expected results

      The stairs textures would have shiny-looking seams at all edges of the block, including the "cut-out" area.

      Actual results

      In the "cut-out" areas of the block, the texture unexpectedly ends abruptly.

      How to fix

      Unlike MC-137583, a perfect fix for this issue is by no means simple. However, it is still completely possible. Resource packs which demonstrate this are attached. A breakdown for how this issue can be fixed is given below.

      Firstly, for each affected stair material, seven textures will be needed:

      • A "full block" texture. We already have this texture, since it's used for the full blocks of each of these materials.
      • A "slab" texture, in which the texture is divided into an upper half and a lower half. This is the type of texture that smooth stone slabs use on their sides. (The absence of these textures for the six affected materials is half of what's responsible for MC-137583.)
      • A similar texture to the above that divides the full block texture in half, except that instead of there being a bottom and top half, there is a left half and right half.
      • Four further texture which divide the full block texture into segments of one quarter and three quarters. One will be needed for each corner: top-left, top-right, bottom-left and bottom-right.

      We'll also need three template models specifically for polished stair type; one for normal stairs, one for inner stairs and one for outer stairs. The vanilla stair template models do not permit the ability to map differing textures to different horizontal faces of the block, which is something we'll need to be able to do. It might be possible to change the three vanilla stair templates to accommodate this, but this will mean that all vanilla stair models will also need to be changed accordingly, so it's more convenient to simply define new templates for our purposes. The three template models we'll need can be found in the attached resource pack.

      For each stair material, we'll then need to define 20 different block models. This might seem like overkill, but it's necessary if we want the texture mapping to always be right (our only other alternatives would be either getting it wrong and looking weird, or having the textures be rotated and also looking weird). Four of these will be used for "straight" stairs, eight for "outer" stairs and eight for "inner" stairs. (Don't forget to change the item model for stairs so that it points to one of them - this is accounted for in the example resource pack as well.)

      Finally, the blockstates file will need to be updated accordingly. A correctly configured file is also included in the resource pack attached as an example.

      Description of attached resource packs

      The following resource packs attached to this issue detail how this issue is entirely fixable:

      • polished-stairs-demo-1.20pre1-v1.0.zip is the main demo: it implements all of the needed texture and model files and the blockstates file which are used to fix this issue. Debug textures are included with this resource pack to visually indicate what texture is mapped to what side on each stair block. Use quartz stairs to see how the fix works.
      • quartz-stairs-texture-example-1.20pre1-v1.0.zip is a resource pack that can be applied on top of the above resource pack to replace the included debug textures with textures based on the quartz block, to give an example "fixed" appearance for quartz stairs.
      • andesite-stairs-texture-example-1.20pre1-v1.0.zip is the same as the above, except it uses the polished andesite texture instead since the results of this fix are more obvious for polished andesite. It still replaces the quartz stairs textures, so you can use this resource pack for a side-by-side comparison for current vanilla andesite stairs versus the fixed versions of andesite stairs.
      • mc137583-bonus-fix-quartz-1.20pre1-v1.0.zip is a resource pack that can be applied on top of the second resource pack as a demonstration that fixing this bug effectively gets us a fix for MC-137583 for completely free. Since one of the textures required for fixing polished stairs is effectively a slab side texture, it's a trivial task to create a model that points to that texture and is used for the double slab block. This resource pack fixes the models for quartz slabs.

      I've also attached two "fix kits" to this ticket, which can be used to fix this bug very, very easily:

      • polished-stairs-fix-kit-23w43a-v1.1.zip implements all of the needed block and item model files and blockstates files needed to fix all six affected stair types. It also includes placeholder textures for all of the new textures that will be needed, where the "seams" are marked in blue. There is also a text file included in this resource pack listing all of the stair models which will no longer be used (and can be deleted) once this issue is fixed. All that needs to be done to fix this issue is to simply drag and drop each file into the appropriate directory in Minecraft, replacing files as necessary, deleting the superseded models listed in the text file, and for textures to be created to replace the placeholder textures included.
      • polished-slabs-fix-kit-23w43a-v1.1.zip is a secondary fix kit which applies on top of the above fix, which demonstrates how the texture files that are implemented by said fix also permit an easy MC-137583 fix. It implements all of the needed models and blockstates files needed for said fix to work. This, too, should be a simple drag-and-drop fix (in this case, no files need to be deleted, only replaced).

      Mojang have my full permission to use any/all of the attached resource packs to fix this issue, and are strongly encouraged to if they help.

        1. 2023-05-13_21.00.59.png
          100 kB
          Connor Steppie
        2. 2023-05-13_21.01.19.png
          100 kB
          Connor Steppie
        3. 2023-05-13_21.02.07.png
          44 kB
          Connor Steppie
        4. 2023-05-13_21.02.27.png
          45 kB
          Connor Steppie
        5. 2023-05-13_21.19.34.png
          72 kB
          Connor Steppie
        6. 2023-05-13_21.20.01.png
          127 kB
          Connor Steppie
        7. 2023-05-13_22.57.10.png
          96 kB
          Connor Steppie
        8. 2023-05-13_22.57.27.png
          94 kB
          Connor Steppie

            Unassigned Unassigned
            Awesoman3000 Connor Steppie
            Votes:
            12 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              CHK: