feat(blockstates): pin un-rotated bedrock and deepslate variants - #232
Merged
Merged
Conversation
There was a problem hiding this comment.
Blockers
pack_template/assets/minecraft/blockstates/deepslate.json:L3:deepslateis a pillar block (axis=x|y|z), and the vanilla blockstate rotatesaxis=xbyx:90,y:90andaxis=zbyx:90. The catch-all""variant matches every axis with no rotation, so any sideways deepslate renders withdeepslate_topon its top face and the strata running vertically. Keep the three axis keys and remove only the random mirrored/y:180entries:"axis=y": {"model": "minecraft:block/deepslate"},"axis=z": {"model": "minecraft:block/deepslate", "x": 90},"axis=x": {"model": "minecraft:block/deepslate", "x": 90, "y": 90}.
Nits
pack_template/assets/minecraft/blockstates/oak_log.json:L1: Same content as the vanilla 1.21oak_log.json, which has no random rotation. The commit body says this file suppresses "random horizontal rotation", which is wrong. Drop the file, or correct the PR description and commit text to say it only pins the vanilla mapping.pack_template/assets/minecraft/blockstates/oak_planks.json:L1,pack_template/assets/minecraft/blockstates/oak_leaves.json:L1: Vanilla already maps both blocks to one model with no rotation, so these overrides do nothing. Remove them, or give a reason to keep them (for example, guarding against a future vanilla change).- Commit
be382b6body: The body is a single 305-character line that restates the PR description, which breaksN6-COMMIT-05(keep it short and wrapped at 72 columns; reasoning belongs in the PR). The repo squash-merges withCOMMIT_MESSAGES, so this body will land onmain. Trim it in the squash message at merge time. - Branch
feat/unrotated-blockstates-pedosphere-strata: Thepedosphere-stratapart does not describe the change. Bedrock and deepslate are lithosphere blocks, and the oak blocks are neither. Prefer a two- or three-word slug such asfeat/unrotated-blockstatesfor future branches (N6-BRANCH-03, CONTRIBUTING §2).
Drop vanilla random mirror/y:180 variants; keep deepslate per-axis pillar rotation. Signed-off-by: Bharath <bharathasl74185@gmail.com>
BharathASL
force-pushed
the
feat/unrotated-blockstates-pedosphere-strata
branch
from
September 23, 2026 19:14
be382b6 to
1a91f80
Compare
There was a problem hiding this comment.
Blockers
pack_template/assets/minecraft/blockstates/deepslate.json:L3: Vanillainfested_deepslate.json(1.20.4 and 1.21.6) uses the samedeepslateanddeepslate_mirroredmodels with the same four random mirror andy:180variants per axis. It is not overridden here, so it keeps the random variants. Infested deepslate generates as blobs inside the deepslate layer. After this change, about 3 in 4 infested blocks show a mirrored or flipped lighting rim next to pinned deepslate. That breaks the continuity this PR is meant to guarantee, and it lets players spot silverfish blocks by sight. Addpack_template/assets/minecraft/blockstates/infested_deepslate.jsonwith the same three axis variants asdeepslate.json.
Nits
pack_template/assets/minecraft/blockstates/stone.json:L1: Same gap already onmain: vanillainfested_stone.jsonhas the four random stone variants and has no override. Open a follow-up issue to pin it too.CONTRIBUTING.md:L235: The branch was force-pushed at 19:14Z after the 19:00Z review ofbe382b6, which replaced the reviewed commit and removed the review delta. Follow-up changes during review go in new signed-off commits, and each reply should cite the SHA that fixes it.
Signed-off-by: Bharath <bharathasl74185@gmail.com>
Contributor
Author
|
There was a problem hiding this comment.
Blockers
None.
Nits
CHANGELOG.md:L30: Players will see this change (bedrock, deepslate and infested deepslate no longer get random mirrored ory:180variants), but[Unreleased]has no entry for it. The stone override got one atCHANGELOG.md:L27. Add a line under### Addedfor the pinned single-variant blockstates, and mention that deepslate keeps its per-axis pillar rotation.
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Pin bedrock, deepslate and infested deepslate to a single un-rotated, un-mirrored model per state, so the directional lighting rims and horizontal strata in the Keyframe masters stay consistent across block boundaries.
Vanilla 1.21.x picks one of four weighted variants for these blocks at random (the base model, its
_mirroredtwin, and each of those aty: 180). This PR keeps only the base model. Deepslate is a pillar block, so it keeps the vanilla per-axis rotation (axis=xgetsx: 90, y: 90,axis=zgetsx: 90). Without it, sideways deepslate would showdeepslate_topon the wrong face. Vanillainfested_deepslateuses the samedeepslateanddeepslate_mirroredmodels with the same four random variants per axis, so it gets the same override; otherwise infested blobs would render mirrored next to pinned deepslate. All three files were checked against the 1.21.6 client jar.The oak overrides from the earlier revision are gone. The vanilla
oak_log,oak_planksandoak_leavesblockstates already map to a single model with no random rotation, so those overrides had no effect.Refs #77. This PR only adds the blockstates. The texture criteria in #77 are still open.
infested_stonehas the same gap relative tostone.jsonand is tracked in #236.Affected Assets
pack_template/assets/minecraft/blockstates/bedrock.jsonpack_template/assets/minecraft/blockstates/deepslate.jsonpack_template/assets/minecraft/blockstates/infested_deepslate.jsonType of Change
feat: New vector texture master, blockstate, or compiler capabilityfix: Tiling fix, palette correction, or bugfixdocs: Documentation improvementchore/refactor: Maintenance, dependencies, or codebase cleanupContributor Checklist
Please check all applicable boxes before requesting review:
Vector Texture Standards (if adding/modifying SVGs)
viewBox="0 0 512 512"). Not applicable: no SVGs changed.npm testtiling audit still passes).rx) matchtextures/block/stone.svgexactly. Not applicable: no ore textures.Build & Verification
npm run buildlocally and verified that the pack compiles successfully.dist/. Not done: I haven't checked the blockstates in game yet. The variant keys and rotations were compared by hand against the vanilla 1.21.6 blockstate JSON.Git Hygiene & Standards
feat(textures): ...).git commit -s).mainwith no merge commits..editorconfig(2-space indent, LF endings, trailing newline).