Posted September 23, 20214 yr I am trying to generate my block models with Data Generators which I incounter this error. It's easy to spot why this error occurs ("block/minecraft:sand", ':' triggers the error) but I don't understand where this error could come from by looking at my code. Since I have a few variants of the same block, I've replicated Minecraft's way by defining a template JSON for my variant and simply have my block use it as a parent and add a texture. Heres what I have: private void generateSiltBlockFenceGateFromTemplate(SiltFenceGateBlock gate) { String texture = Objects.requireNonNull(gate.getParentBlock().getRegistryName()).toString(); getVariantBuilder(gate).forAllStatesExcept(state -> { String base = "silt_fence_gate" + (state.get(OPEN) ? "_open_" : "_close_") + state.get(AbstractSiltBarrierBlock.LAYER); if (state.get(IN_WALL)) base = base + "_in_wall"; // <base> would look like "silt_fence_gate_close_1" ModelBuilder<?> model = models() .withExistingParent(texture + "_" + base, modLoc("block/template_" + base)) .texture("texture", mcLoc("block/" + texture)) // <--- stacktrace points here .element().end(); int rotation = (int) state.get(HORIZONTAL_FACING).getHorizontalAngle(); return ConfiguredModel.builder().modelFile(model).uvLock(true).rotationY(rotation).build(); }, WATERLOGGED ); } I've also tried to feed it a texture as a string directly but to no avail: .texture("texture", "block/" + texture) // <--- stacktrace points here What I expect is sand_silt_fence_gate_close_1.json: { "parent": "siltsand:block/template_silt_fence_gate_close_1" "textures": { "texture": "sand" } } Here's my template JSON: template_silt_fence_gate_close_1.json: { "parent": "block/block", "textures": { "particle": "#texture" }, "elements": [ { "from": [ 14, 0, 7 ], "to": [ 16, 1, 9 ], "faces": { "north": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "east": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "south": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "west": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "up": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" } } }, { "from": [ 0, 0, 7 ], "to": [ 2, 1, 9 ], "faces": { "north": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "east": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "south": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "west": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "up": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" } } }, { "from": [ 2, -1, 7 ], "to": [ 14, 0, 9 ], "faces": { "up": { "uv": [ 0, 0, 12, 2 ], "texture": "#texture" }, "north": { "uv": [ 0, 0, 12, 1 ], "texture": "#texture" }, "south": { "uv": [ 0, 0, 12, 1 ], "texture": "#texture" }, "west": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "east": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" } } }, { "from": [ 10, -7, 7 ], "to": [ 14, -6, 9 ], "faces": { "up": { "uv": [ 0, 0, 4, 2 ], "texture": "#texture" }, "north": { "uv": [ 0, 0, 4, 1 ], "texture": "#texture" }, "south": { "uv": [ 0, 0, 4, 1 ], "texture": "#texture" }, "west": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "east": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" } } }, { "from": [ 2, -7, 7 ], "to": [ 6, -6, 9 ], "faces": { "up": { "uv": [ 0, 0, 4, 2 ], "texture": "#texture" }, "north": { "uv": [ 0, 0, 4, 1 ], "texture": "#texture" }, "south": { "uv": [ 0, 0, 4, 1 ], "texture": "#texture" }, "west": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" }, "east": { "uv": [ 0, 0, 2, 1 ], "texture": "#texture" } } } ] } I have read that maybe this might be caused by invalid JSON but that has been checked too. Any idea why this happens? PS: I am new to Data Gens so it is very likely that I using the builder wrong. Edited September 24, 20214 yr by than00ber1 added further explanation
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.