diff --git a/chunky/src/java/se/llbit/chunky/block/MinecraftBlockProvider.java b/chunky/src/java/se/llbit/chunky/block/MinecraftBlockProvider.java index 87b9f53145..f5421d9c7c 100644 --- a/chunky/src/java/se/llbit/chunky/block/MinecraftBlockProvider.java +++ b/chunky/src/java/se/llbit/chunky/block/MinecraftBlockProvider.java @@ -7,7 +7,6 @@ import se.llbit.chunky.entity.SkullEntity; import se.llbit.chunky.model.minecraft.FlowerPotModel; import se.llbit.chunky.model.minecraft.FlowerPotModel.Kind; -import se.llbit.chunky.resources.EntityTexture; import se.llbit.chunky.resources.ShulkerTexture; import se.llbit.chunky.resources.Texture; import se.llbit.chunky.world.BlockData; @@ -1005,7 +1004,6 @@ private static void addBlocks(Texture texture, String... names) { addBlock("bamboo_mosaic_slab", (name, tag) -> slab(tag, Texture.bambooMosaic)); addBlock("bamboo_mosaic_stairs", (name, tag) -> stairs(tag, Texture.bambooMosaic)); addBlock("bamboo_trapdoor", (name, tag) -> trapdoor(tag, Texture.bambooTrapdoor)); - addBlock("cherry_button", (name, tag) -> button(tag, Texture.cherryPlanks)); addBlock("cherry_door", (name, tag) -> door(tag, Texture.cherryDoorTop, Texture.cherryDoorBottom)); addBlock("cherry_fence", (name, tag) -> fence(tag, Texture.cherryPlanks)); @@ -1074,6 +1072,51 @@ private static void addBlocks(Texture texture, String... names) { addBlock("bamboo_wall_hanging_sign", (name, tag) -> wallHangingSign(tag, "bamboo")); addBlock("cherry_hanging_sign", (name, tag) -> hangingSign(tag, "cherry")); addBlock("cherry_wall_hanging_sign", (name, tag) -> wallHangingSign(tag, "cherry")); + + //1.21 + addBlock("tuff_slab", (name, tag) -> slab(tag, Texture.tuff)); + addBlock("tuff_stairs", (name, tag) -> stairs(tag, Texture.tuff)); + addBlock("tuff_wall", (name, tag) -> wall(tag, Texture.tuff)); + addBlock("polished_tuff", Texture.polishedTuff); + addBlock("polished_tuff_slab", (name, tag) -> slab(tag, Texture.polishedTuff)); + addBlock("polished_tuff_stairs", (name, tag) -> stairs(tag, Texture.polishedTuff)); + addBlock("polished_tuff_wall", (name, tag) -> wall(tag, Texture.polishedTuff)); + addBlock("tuff_bricks", Texture.tuffBricks); + addBlock("tuff_brick_slab", (name, tag) -> slab(tag, Texture.tuffBricks)); + addBlock("tuff_brick_stairs", (name, tag) -> stairs(tag, Texture.tuffBricks)); + addBlock("tuff_brick_wall", (name, tag) -> wall(tag, Texture.tuffBricks)); + addBlock("chiseled_tuff", Texture.chiseledTuff); + addBlock("chiseled_tuff_bricks", Texture.chiseledTuffBricks); + for(String s : new String[]{"", "waxed_"}) { + addBlock(s + "chiseled_copper", Texture.chiseledCopper); + addBlock(s + "copper_grate", (name, tag) -> new SolidNonOpaqueBlock(name, Texture.copperGrate)); + addBlock(s + "copper_bulb", (name, tag) -> new CopperBulb(name, tag.get("Properties").get("lit").stringValue().equals("true"), tag.get("Properties").get("powered").stringValue().equals("true"), + Texture.copperBulbLitPowered, Texture.copperBulbLit, Texture.copperBulbPowered, Texture.copperBulb)); + addBlock(s + "copper_door", (name, tag) -> door(tag, Texture.copperDoorTop, Texture.copperDoorBottom)); + addBlock(s + "copper_trapdoor", (name, tag) -> trapdoor(tag, Texture.copperTrapdoor)); + addBlock(s + "exposed_chiseled_copper", Texture.exposedChiseledCopper); + addBlock(s + "exposed_copper_grate", Texture.exposedCopperGrate); + addBlock(s + "exposed_copper_bulb", (name, tag) -> new CopperBulb(name, tag.get("Properties").get("lit").stringValue().equals("true"), tag.get("Properties").get("powered").stringValue().equals("true"), + Texture.exposedCopperBulbLitPowered, Texture.exposedCopperBulbLit, Texture.exposedCopperBulbPowered, Texture.exposedCopperBulb)); + addBlock(s + "exposed_copper_door", (name, tag) -> door(tag, Texture.exposedCopperDoorTop, Texture.exposedCopperDoorBottom)); + addBlock(s + "exposed_copper_trapdoor", (name, tag) -> trapdoor(tag, Texture.exposedCopperTrapdoor)); + addBlock(s + "weathered_chiseled_copper", Texture.weatheredChiseledCopper); + addBlock(s + "weathered_copper_grate", Texture.weatheredCopperGrate); + addBlock(s + "weathered_copper_bulb", (name, tag) -> new CopperBulb(name, tag.get("Properties").get("lit").stringValue().equals("true"), tag.get("Properties").get("powered").stringValue().equals("true"), + Texture.weatheredCopperBulbLitPowered, Texture.weatheredCopperBulbLit, Texture.weatheredCopperBulbPowered, Texture.weatheredCopperBulb)); + addBlock(s + "weathered_copper_door", (name, tag) -> door(tag, Texture.weatheredCopperDoorTop, Texture.weatheredCopperDoorBottom)); + addBlock(s + "weathered_copper_trapdoor", (name, tag) -> trapdoor(tag, Texture.weatheredCopperTrapdoor)); + addBlock(s + "oxidized_chiseled_copper", Texture.oxidizedChiseledCopper); + addBlock(s + "oxidized_copper_grate", Texture.oxidizedCopperGrate); + addBlock(s + "oxidized_copper_bulb", (name, tag) -> new CopperBulb(name, tag.get("Properties").get("lit").stringValue().equals("true"), tag.get("Properties").get("powered").stringValue().equals("true"), + Texture.oxidizedCopperBulbLitPowered, Texture.oxidizedCopperBulbLit, Texture.oxidizedCopperBulbPowered, Texture.oxidizedCopperBulb)); + addBlock(s + "oxidized_copper_door", (name, tag) -> door(tag, Texture.oxidizedCopperDoorTop, Texture.oxidizedCopperDoorBottom)); + addBlock(s + "oxidized_copper_trapdoor", (name, tag) -> trapdoor(tag, Texture.oxidizedCopperTrapdoor)); + } + addBlock("crafter", (name, tag) -> new Crafter(name, tag.get("Properties").get("orientation").stringValue(), tag.get("Properties").get("crafting").stringValue().equals("true"), tag.get("Properties").get("triggered").stringValue().equals("true"), + Texture.crafterNorth, Texture.crafterNorthCrafting, Texture.crafterEast, Texture.crafterEastCrafting, Texture.crafterEastTriggered, + Texture.crafterSouth, Texture.crafterSouthTriggered, Texture.crafterWest, Texture.crafterWestCrafting, Texture.crafterWestTriggered, + Texture.crafterTop, Texture.crafterTopCrafting, Texture.crafterTopTriggered, Texture.crafterBottom)); } @Override diff --git a/chunky/src/java/se/llbit/chunky/block/SolidNonOpaqueBlock.java b/chunky/src/java/se/llbit/chunky/block/SolidNonOpaqueBlock.java new file mode 100644 index 0000000000..1fab2c7711 --- /dev/null +++ b/chunky/src/java/se/llbit/chunky/block/SolidNonOpaqueBlock.java @@ -0,0 +1,12 @@ +package se.llbit.chunky.block; + +import se.llbit.chunky.resources.Texture; + +public class SolidNonOpaqueBlock extends Block { + + public SolidNonOpaqueBlock(String name, Texture texture) { + super(name, texture); + solid = true; + opaque = false; + } +} diff --git a/chunky/src/java/se/llbit/chunky/block/minecraft/CopperBulb.java b/chunky/src/java/se/llbit/chunky/block/minecraft/CopperBulb.java new file mode 100644 index 0000000000..31cc91ccae --- /dev/null +++ b/chunky/src/java/se/llbit/chunky/block/minecraft/CopperBulb.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2023 Chunky contributors + * + * This file is part of Chunky. + * + * Chunky is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Chunky is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with Chunky. If not, see . + */ + +package se.llbit.chunky.block.minecraft; + +import se.llbit.chunky.block.MinecraftBlock; +import se.llbit.chunky.resources.Texture; + +public class CopperBulb extends MinecraftBlock { + private final boolean lit; + private final boolean powered; + + public CopperBulb(String name, boolean lit, boolean powered, Texture lp, Texture lnp, Texture nlp, Texture nlnp) { + super(name, lit ? (powered ? lp : lnp) : (powered ? nlp : nlnp)); + this.lit = lit; + this.powered = powered; + } + public boolean isLit() { + return lit; + } + + public boolean isPowered() { + return powered; + } + + @Override public String description() { + return "lit=" + lit + ", powered=" + powered; + } +} diff --git a/chunky/src/java/se/llbit/chunky/block/minecraft/Crafter.java b/chunky/src/java/se/llbit/chunky/block/minecraft/Crafter.java new file mode 100644 index 0000000000..a5d1778410 --- /dev/null +++ b/chunky/src/java/se/llbit/chunky/block/minecraft/Crafter.java @@ -0,0 +1,100 @@ +/* + * Copyeast (c) 2023 Chunky contributors + * + * This file is part of Chunky. + * + * Chunky is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Chunky is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with Chunky. If not, see . + */ + +package se.llbit.chunky.block.minecraft; + +import se.llbit.chunky.block.AbstractModelBlock; +import se.llbit.chunky.model.RotatableBlockModel; +import se.llbit.chunky.resources.Texture; +import se.llbit.math.Quad; +import se.llbit.math.Vector3; +import se.llbit.math.Vector4; + +public class Crafter extends AbstractModelBlock { + + private final String description; + + public Crafter(String name, String orientation, boolean crafting, boolean triggered, Texture north, Texture northCrafting, Texture east, Texture eastCrafting, Texture eastTriggered, + Texture south, Texture southTriggered, Texture west, Texture westCrafting, Texture westTriggered, Texture top, Texture topCrafting, Texture topTriggered, Texture bottom) { + super(name, north); + this.description = "orientation=" + orientation + ", crafting=" + crafting + ", triggered=" + triggered; + RotatableBlockModel m = new RotatableBlockModel(crafting ? northCrafting : north, + crafting ? eastCrafting : (triggered ? eastTriggered : east), + triggered ? southTriggered : south, + crafting ? westCrafting : (triggered ? westTriggered : west), + crafting ? topCrafting : (triggered ? topTriggered : top), + bottom); + // Fix top quad + m.setFaceQuad(4, new Quad( + new Vector3(1, 1, 0), + new Vector3(0, 1, 0), + new Vector3(1, 1, 1), + new Vector4(1, 0, 0, 1))); // texture is mirrored for some reason?? + switch(orientation) { + case "north_up": + break; + case "east_up": + m.rotateY(1); + break; + case "south_up": + m.rotateY(2); + break; + case "west_up": + m.rotateY(-1); + break; + case "up_south": + m.rotateX(1); + break; + case "up_west": + m.rotateX(1); + m.rotateY(1); + break; + case "up_north": + m.rotateX(1); + m.rotateY(2); + break; + case "up_east": + m.rotateX(1); + m.rotateY(-1); + break; + case "down_north": + m.rotateX(-1); + break; + case "down_east": + m.rotateX(-1); + m.rotateY(1); + break; + case "down_south": + m.rotateX(-1); + m.rotateY(2); + break; + case "down_west": + m.rotateX(-1); + m.rotateY(-1); + break; + } + this.model = m; + opaque = true; + solid = true; + } + + @Override + public String description() { + return description; + } +} diff --git a/chunky/src/java/se/llbit/chunky/block/minecraft/RedstoneLamp.java b/chunky/src/java/se/llbit/chunky/block/minecraft/RedstoneLamp.java index 6b6008b2cb..c9930f607d 100644 --- a/chunky/src/java/se/llbit/chunky/block/minecraft/RedstoneLamp.java +++ b/chunky/src/java/se/llbit/chunky/block/minecraft/RedstoneLamp.java @@ -22,14 +22,18 @@ import se.llbit.chunky.resources.Texture; public class RedstoneLamp extends MinecraftBlock { - public final boolean isLit; + private final boolean lit; public RedstoneLamp(boolean lit) { super("redstone_lamp", lit ? Texture.redstoneLampOn : Texture.redstoneLampOff); - this.isLit = lit; + this.lit = lit; + } + + public boolean isLit() { + return lit; } @Override public String description() { - return "lit=" + isLit; + return "lit=" + lit; } } diff --git a/chunky/src/java/se/llbit/chunky/chunk/BlockPalette.java b/chunky/src/java/se/llbit/chunky/chunk/BlockPalette.java index 9fc15279d2..93394c1338 100644 --- a/chunky/src/java/se/llbit/chunky/chunk/BlockPalette.java +++ b/chunky/src/java/se/llbit/chunky/chunk/BlockPalette.java @@ -19,6 +19,7 @@ import se.llbit.chunky.block.*; import se.llbit.chunky.block.minecraft.*; import se.llbit.chunky.plugin.PluginApi; +import se.llbit.chunky.resources.Texture; import se.llbit.math.Octree; import se.llbit.nbt.CompoundTag; import se.llbit.nbt.IntTag; @@ -380,7 +381,7 @@ public static Map> getDefaultMaterialProperties() { block.ior = 1.52f; }); materialProperties.put("minecraft:redstone_lamp", block -> { - if (block instanceof RedstoneLamp && ((RedstoneLamp) block).isLit) { + if (block instanceof RedstoneLamp && ((RedstoneLamp) block).isLit()) { block.emittance = 1.0f; } }); @@ -480,42 +481,46 @@ public static Map> getDefaultMaterialProperties() { block.metalness = 1.0f; block.setPerceptualSmoothness(0.75); }; - Consumer lightlyWeatheredCopperConfig = block -> { + Consumer exposedCopperConfig = block -> { block.metalness = 0.66f; block.setPerceptualSmoothness(0.75); }; - Consumer semiWeatheredCopperConfig = block -> { + Consumer weatheredCopperConfig = block -> { block.metalness = 0.66f; block.setPerceptualSmoothness(0.75); }; - materialProperties.put("minecraft:copper_block", copperConfig); materialProperties.put("minecraft:raw_copper_block", block -> { block.metalness = 0.66f; block.setPerceptualSmoothness(0.5); }); - materialProperties.put("minecraft:exposed_copper", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:weathered_copper", semiWeatheredCopperConfig); - materialProperties.put("minecraft:cut_copper", copperConfig); - materialProperties.put("minecraft:exposed_cut_copper", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:weathered_cut_copper", semiWeatheredCopperConfig); - materialProperties.put("minecraft:cut_copper_stairs", copperConfig); - materialProperties.put("minecraft:exposed_cut_copper_stairs", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:weathered_cut_copper_stairs", semiWeatheredCopperConfig); - materialProperties.put("minecraft:cut_copper_slab", copperConfig); - materialProperties.put("minecraft:exposed_cut_copper_slab", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:weathered_cut_copper_slab", semiWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_copper_block", copperConfig); - materialProperties.put("minecraft:waxed_exposed_copper", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_weathered_copper", semiWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_cut_copper", copperConfig); - materialProperties.put("minecraft:waxed_exposed_cut_copper", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_weathered_cut_copper", semiWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_cut_copper_stairs", copperConfig); - materialProperties.put("minecraft:waxed_exposed_cut_copper_stairs", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_weathered_cut_copper_stairs", semiWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_cut_copper_slab", copperConfig); - materialProperties.put("minecraft:waxed_exposed_cut_copper_slab", lightlyWeatheredCopperConfig); - materialProperties.put("minecraft:waxed_weathered_cut_copper_slab", semiWeatheredCopperConfig); + for(String s : new String[]{"minecraft:", "minecraft:waxed_"}) { + materialProperties.put(s + "copper_block", copperConfig); + materialProperties.put(s + "cut_copper", copperConfig); + materialProperties.put(s + "cut_copper_stairs", copperConfig); + materialProperties.put(s + "cut_copper_slab", copperConfig); + materialProperties.put(s + "chiseled_copper", copperConfig); + materialProperties.put(s + "copper_grate", copperConfig); + materialProperties.put(s + "copper_door", copperConfig); + materialProperties.put(s + "copper_trapdoor", copperConfig); + + materialProperties.put(s + "exposed_copper", exposedCopperConfig); + materialProperties.put(s + "exposed_cut_copper", exposedCopperConfig); + materialProperties.put(s + "exposed_cut_copper_stairs", exposedCopperConfig); + materialProperties.put(s + "exposed_cut_copper_slab", exposedCopperConfig); + materialProperties.put(s + "exposed_chiseled_copper", exposedCopperConfig); + materialProperties.put(s + "exposed_copper_grate", exposedCopperConfig); + materialProperties.put(s + "exposed_copper_door", exposedCopperConfig); + materialProperties.put(s + "exposed_copper_trapdoor", exposedCopperConfig); + + materialProperties.put(s + "weathered_copper", weatheredCopperConfig); + materialProperties.put(s + "weathered_cut_copper", weatheredCopperConfig); + materialProperties.put(s + "weathered_cut_copper_stairs", weatheredCopperConfig); + materialProperties.put(s + "weathered_cut_copper_slab", weatheredCopperConfig); + materialProperties.put(s + "weathered_chiseled_copper", weatheredCopperConfig); + materialProperties.put(s + "weathered_copper_grate", weatheredCopperConfig); + materialProperties.put(s + "weathered_copper_door", weatheredCopperConfig); + materialProperties.put(s + "weathered_copper_trapdoor", weatheredCopperConfig); + } materialProperties.put("minecraft:lightning_rod", block -> { // apply copper attributes only to non-powered lightning rods if (block instanceof LightningRod && !((LightningRod) block).isPowered()) { @@ -575,6 +580,28 @@ public static Map> getDefaultMaterialProperties() { materialProperties.put("minecraft:sculk_catalyst", block -> { block.emittance = 1.0f / 15f * 6; }); + for(String s : new String[]{"minecraft:", "minecraft:waxed_"}) { + materialProperties.put(s + "copper_bulb", block -> { + if(block instanceof CopperBulb && ((CopperBulb) block).isLit()) { + block.emittance = 1.0f; + } + }); + materialProperties.put(s + "exposed_copper_bulb", block -> { + if(block instanceof CopperBulb && ((CopperBulb) block).isLit()) { + block.emittance = 12 / 15f; + } + }); + materialProperties.put(s + "weathered_copper_bulb", block -> { + if(block instanceof CopperBulb && ((CopperBulb) block).isLit()) { + block.emittance = 8 / 15f; + } + }); + materialProperties.put(s + "oxidized_copper_bulb", block -> { + if(block instanceof CopperBulb && ((CopperBulb) block).isLit()) { + block.emittance = 4 / 15f; + } + }); + } return materialProperties; } diff --git a/chunky/src/java/se/llbit/chunky/model/Model.java b/chunky/src/java/se/llbit/chunky/model/Model.java index 32b22c0e7d..54a222911f 100644 --- a/chunky/src/java/se/llbit/chunky/model/Model.java +++ b/chunky/src/java/se/llbit/chunky/model/Model.java @@ -167,6 +167,18 @@ public static Quad[] rotateZ(Quad[] src) { return rot; } + /** + * @param src source quads + * @return Quads rotated about the negative Z axis + */ + public static Quad[] rotateNegZ(Quad[] src) { + Quad[] rot = new Quad[src.length]; + for (int i = 0; i < src.length; ++i) { + rot[i] = src[i].transform(Transform.NONE.rotateNegZ()); + } + return rot; + } + /** * @param src source quads * @return Quads rotated about the Z axis by some angle diff --git a/chunky/src/java/se/llbit/chunky/model/RotatableBlockModel.java b/chunky/src/java/se/llbit/chunky/model/RotatableBlockModel.java new file mode 100644 index 0000000000..a397387a13 --- /dev/null +++ b/chunky/src/java/se/llbit/chunky/model/RotatableBlockModel.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2016 Jesper Öqvist + * + * This file is part of Chunky. + * + * Chunky is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Chunky is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with Chunky. If not, see . + */ +package se.llbit.chunky.model; + +import se.llbit.chunky.resources.Texture; +import se.llbit.math.Quad; +import se.llbit.math.Vector3; +import se.llbit.math.Vector4; + +/** + * This block model is used to render blocks which can face east, west, north, south, up and down. + * For example, command blocks and observer blocks. + */ +public class RotatableBlockModel extends QuadModel { + private Quad[] quads = new Quad[] { + FULL_BLOCK_NORTH_SIDE, + FULL_BLOCK_EAST_SIDE, + FULL_BLOCK_SOUTH_SIDE, + FULL_BLOCK_WEST_SIDE, + FULL_BLOCK_TOP_SIDE, + FULL_BLOCK_BOTTOM_SIDE + }; + private final Texture[] textures; + + public RotatableBlockModel(Texture north, Texture east, Texture south, Texture west, Texture top, Texture bottom) { + textures = new Texture[] {north, east, south, west, top, bottom}; + } + + public void setFaceQuad(int face, Quad quad) { + quads[face] = quad; + } + + public void rotateX(int r) { + r %= 4; + if(r < 0) { + r += 4; + } + switch(r) { + case 1: + quads = Model.rotateX(quads); + break; + case 2: + quads = Model.rotateX(Model.rotateX(quads)); + break; + case 3: + quads = Model.rotateNegX(quads); + break; + } + } + + public void rotateY(int r) { + r %= 4; + if(r < 0) { + r += 4; + } + switch(r) { + case 1: + quads = Model.rotateY(quads); + break; + case 2: + quads = Model.rotateY(Model.rotateY(quads)); + break; + case 3: + quads = Model.rotateNegY(quads); + break; + } + } + + public void rotateZ(int r) { + r %= 4; + if(r < 0) { + r += 4; + } + switch(r) { + case 1: + quads = Model.rotateZ(quads); + break; + case 2: + quads = Model.rotateZ(Model.rotateZ(quads)); + break; + case 3: + quads = Model.rotateNegZ(quads); + break; + } + } + + @Override + public Quad[] getQuads() { + return quads; + } + + @Override + public Texture[] getTextures() { + return textures; + } +} diff --git a/chunky/src/java/se/llbit/chunky/resources/Texture.java b/chunky/src/java/se/llbit/chunky/resources/Texture.java index 7583945752..5bda12f467 100644 --- a/chunky/src/java/se/llbit/chunky/resources/Texture.java +++ b/chunky/src/java/se/llbit/chunky/resources/Texture.java @@ -1341,6 +1341,114 @@ public class Texture { public static final Texture cherryHangingSign = new Texture(); @TexturePath("assets/minecraft/textures/entity/piglin/piglin") public static final Texture piglin = new Texture(); + @TexturePath("assets/minecraft/textures/block/polished_tuff") + public static final Texture polishedTuff = new Texture(); + @TexturePath("assets/minecraft/textures/block/tuff_bricks") + public static final Texture tuffBricks = new Texture(); + @TexturePath("assets/minecraft/textures/block/chiseled_tuff") + public static final Texture chiseledTuff = new Texture(); + @TexturePath("assets/minecraft/textures/block/chiseled_tuff_bricks") + public static final Texture chiseledTuffBricks = new Texture(); + @TexturePath("assets/minecraft/textures/block/chiseled_copper") + public static final Texture chiseledCopper = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_grate") + public static final Texture copperGrate = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_bulb") + public static final Texture copperBulb = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_bulb_lit") + public static final Texture copperBulbLit = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_bulb_powered") + public static final Texture copperBulbPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_bulb_lit_powered") + public static final Texture copperBulbLitPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_door_top") + public static final Texture copperDoorTop = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_door_bottom") + public static final Texture copperDoorBottom = new Texture(); + @TexturePath("assets/minecraft/textures/block/copper_trapdoor") + public static final Texture copperTrapdoor = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_chiseled_copper") + public static final Texture exposedChiseledCopper = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_grate") + public static final Texture exposedCopperGrate = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_bulb") + public static final Texture exposedCopperBulb = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_bulb_lit") + public static final Texture exposedCopperBulbLit = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_bulb_powered") + public static final Texture exposedCopperBulbPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_bulb_lit_powered") + public static final Texture exposedCopperBulbLitPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_door_top") + public static final Texture exposedCopperDoorTop = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_door_bottom") + public static final Texture exposedCopperDoorBottom = new Texture(); + @TexturePath("assets/minecraft/textures/block/exposed_copper_trapdoor") + public static final Texture exposedCopperTrapdoor = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_chiseled_copper") + public static final Texture weatheredChiseledCopper = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_grate") + public static final Texture weatheredCopperGrate = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_bulb") + public static final Texture weatheredCopperBulb = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_bulb_lit") + public static final Texture weatheredCopperBulbLit = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_bulb_powered") + public static final Texture weatheredCopperBulbPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_bulb_lit_powered") + public static final Texture weatheredCopperBulbLitPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_door_top") + public static final Texture weatheredCopperDoorTop = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_door_bottom") + public static final Texture weatheredCopperDoorBottom = new Texture(); + @TexturePath("assets/minecraft/textures/block/weathered_copper_trapdoor") + public static final Texture weatheredCopperTrapdoor = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_chiseled_copper") + public static final Texture oxidizedChiseledCopper = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_grate") + public static final Texture oxidizedCopperGrate = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_bulb") + public static final Texture oxidizedCopperBulb = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_bulb_lit") + public static final Texture oxidizedCopperBulbLit = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_bulb_powered") + public static final Texture oxidizedCopperBulbPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_bulb_lit_powered") + public static final Texture oxidizedCopperBulbLitPowered = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_door_top") + public static final Texture oxidizedCopperDoorTop = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_door_bottom") + public static final Texture oxidizedCopperDoorBottom = new Texture(); + @TexturePath("assets/minecraft/textures/block/oxidized_copper_trapdoor") + public static final Texture oxidizedCopperTrapdoor = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_north") + public static final Texture crafterNorth = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_north_crafting") + public static final Texture crafterNorthCrafting = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_east") + public static final Texture crafterEast = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_east_crafting") + public static final Texture crafterEastCrafting = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_east_triggered") + public static final Texture crafterEastTriggered = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_south") + public static final Texture crafterSouth = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_south_triggered") + public static final Texture crafterSouthTriggered = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_west") + public static final Texture crafterWest = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_west_crafting") + public static final Texture crafterWestCrafting = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_west_triggered") + public static final Texture crafterWestTriggered = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_top") + public static final Texture crafterTop = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_top_crafting") + public static final Texture crafterTopCrafting = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_top_triggered") + public static final Texture crafterTopTriggered = new Texture(); + @TexturePath("assets/minecraft/textures/block/crafter_bottom") + public static final Texture crafterBottom = new Texture(); /** Banner base texture. */ public static final Texture bannerBase = new Texture();