From c629b1e79b3a549d4e8c50cfd18a22382be06f1d Mon Sep 17 00:00:00 2001 From: Vaern Date: Mon, 31 Mar 2025 11:48:56 -0700 Subject: [PATCH] added lightstone, variants, recipes, stairs, slabs --- src/main/java/com/hbm/blocks/BlockEnums.java | 8 +++ src/main/java/com/hbm/blocks/ModBlocks.java | 23 +++++++- .../hbm/blocks/generic/BlockLightstone.java | 39 ++++++++++++++ .../hbm/blocks/generic/BlockMultiSlab.java | 6 ++- .../blocks/generic/BlockMultiSlabMeta.java | 49 ++++++++++++++++++ .../java/com/hbm/items/block/ItemModSlab.java | 2 + .../java/com/hbm/main/CraftingManager.java | 10 +++- src/main/resources/assets/hbm/lang/en_US.lang | 9 ++++ .../hbm/textures/blocks/lightstone.bricks.png | Bin 0 -> 527 bytes .../blocks/lightstone.bricks_chiseled.png | Bin 0 -> 510 bytes .../blocks/lightstone.bricks_chiseled.top.png | Bin 0 -> 520 bytes .../textures/blocks/lightstone.chiseled.png | Bin 0 -> 515 bytes .../blocks/lightstone.chiseled.top.png | Bin 0 -> 503 bytes .../hbm/textures/blocks/lightstone.tile.png | Bin 0 -> 511 bytes .../textures/blocks/lightstone.unrefined.png | Bin 0 -> 471 bytes 15 files changed, 141 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockLightstone.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockMultiSlabMeta.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/lightstone.bricks.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/lightstone.tile.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/lightstone.unrefined.png diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index bf35a4e17..15a618779 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -58,6 +58,14 @@ public class BlockEnums { SMALL } + public static enum LightstoneType { + UNREFINED, + TILE, + BRICKS, + BRICKS_CHISELED, + CHISELED + } + public static enum DecoComputerEnum { IBM_300PL } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index d86f1dd15..3c1570845 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -338,6 +338,8 @@ public class ModBlocks { public static Block brick_compound; public static Block brick_asbestos; public static Block brick_fire; + + public static Block lightstone; public static Block concrete_slab; public static Block concrete_double_slab; @@ -345,6 +347,8 @@ public class ModBlocks { public static Block concrete_brick_double_slab; public static Block brick_slab; public static Block brick_double_slab; + public static Block stones_slab; + public static Block stones_double_slab; public static Block concrete_smooth_stairs; public static Block concrete_stairs; @@ -364,6 +368,8 @@ public class ModBlocks { public static Block brick_asbestos_stairs; public static Block brick_fire_stairs; public static Block asphalt_stairs; + public static Block lightstone_tile_stairs; + public static Block lightstone_bricks_stairs; public static Block cmb_brick; public static Block cmb_brick_reinforced; @@ -1531,13 +1537,17 @@ public class ModBlocks { brick_ducrete = new BlockGeneric(Material.rock).setBlockName("brick_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(750.0F).setBlockTextureName(RefStrings.MODID + ":brick_ducrete"); reinforced_ducrete = new BlockGeneric(Material.rock).setBlockName("reinforced_ducrete").setCreativeTab(MainRegistry.blockTab).setHardness(20.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_ducrete"); + lightstone = new BlockLightstone(Material.rock, LightstoneType.class, true, true).setBlockName("lightstone").setCreativeTab(MainRegistry.blockTab).setHardness(2F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":lightstone"); + concrete_slab = new BlockMultiSlab(null, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_slab").setCreativeTab(MainRegistry.blockTab); concrete_double_slab = new BlockMultiSlab(concrete_slab, Material.rock, concrete_smooth, concrete, concrete_asbestos, ducrete_smooth, ducrete, asphalt).setBlockName("concrete_double_slab").setCreativeTab(MainRegistry.blockTab); concrete_brick_slab = new BlockMultiSlab(null, Material.rock, brick_concrete, brick_concrete_mossy, brick_concrete_cracked, brick_concrete_broken, brick_ducrete).setBlockName("concrete_brick_slab").setCreativeTab(MainRegistry.blockTab); concrete_brick_double_slab = new BlockMultiSlab(concrete_brick_slab, Material.rock, brick_concrete, brick_concrete_mossy, brick_concrete_cracked, brick_concrete_broken, brick_ducrete).setBlockName("concrete_brick_double_slab").setCreativeTab(MainRegistry.blockTab); brick_slab = new BlockMultiSlab(null, Material.rock, reinforced_stone, reinforced_brick, brick_obsidian, brick_light, brick_compound, brick_asbestos, brick_fire).setBlockName("brick_slab").setCreativeTab(MainRegistry.blockTab); brick_double_slab = new BlockMultiSlab(brick_slab, Material.rock, reinforced_stone, reinforced_brick, brick_obsidian, brick_light, brick_compound, brick_asbestos, brick_fire).setBlockName("brick_double_slab").setCreativeTab(MainRegistry.blockTab); - + stones_slab = new BlockMultiSlabMeta(null, Material.rock, new Block[] { lightstone, lightstone }, LightstoneType.TILE.ordinal(), LightstoneType.BRICKS.ordinal()).setBlockName("stones_slab").setCreativeTab(MainRegistry.blockTab); + stones_double_slab = new BlockMultiSlabMeta(stones_slab, Material.rock, new Block[] { lightstone, lightstone }, LightstoneType.TILE.ordinal(), LightstoneType.BRICKS.ordinal()).setBlockName("stones_double_slab").setCreativeTab(MainRegistry.blockTab); + concrete_smooth_stairs = new BlockGenericStairs(concrete_smooth, 0).setBlockName("concrete_smooth_stairs").setCreativeTab(MainRegistry.blockTab); concrete_stairs = new BlockGenericStairs(concrete, 0).setBlockName("concrete_stairs").setCreativeTab(MainRegistry.blockTab); concrete_asbestos_stairs = new BlockGenericStairs(concrete_asbestos, 0).setBlockName("concrete_asbestos_stairs").setCreativeTab(MainRegistry.blockTab); @@ -1556,6 +1566,8 @@ public class ModBlocks { brick_asbestos_stairs = new BlockGenericStairs(brick_asbestos, 0).setBlockName("brick_asbestos_stairs").setCreativeTab(MainRegistry.blockTab); brick_fire_stairs = new BlockGenericStairs(brick_fire, 0).setBlockName("brick_fire_stairs").setCreativeTab(MainRegistry.blockTab); asphalt_stairs = new BlockSpeedyStairs(asphalt, 0, 1.5).setBlockName("asphalt_stairs").setCreativeTab(MainRegistry.blockTab); + lightstone_tile_stairs = new BlockGenericStairs(lightstone, LightstoneType.TILE.ordinal()).setBlockName("lightstone_tile_stairs").setCreativeTab(MainRegistry.blockTab); + lightstone_bricks_stairs = new BlockGenericStairs(lightstone, LightstoneType.BRICKS.ordinal()).setBlockName("lightstone_bricks_stairs").setCreativeTab(MainRegistry.blockTab); vinyl_tile = new BlockEnumMulti(Material.rock, TileType.class, true, true).setBlockName("vinyl_tile").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":vinyl_tile"); @@ -2676,7 +2688,14 @@ public class ModBlocks { GameRegistry.registerBlock(brick_light, ItemBlockBlastInfo.class, brick_light.getUnlocalizedName()); GameRegistry.registerBlock(brick_asbestos, brick_asbestos.getUnlocalizedName()); GameRegistry.registerBlock(brick_fire, ItemBlockBlastInfo.class, brick_fire.getUnlocalizedName()); - + + //Lightstone and its stair/slab variants + register(lightstone); + register(lightstone_tile_stairs); + register(lightstone_bricks_stairs); + register(stones_slab, ItemModSlab.class); + register(stones_double_slab, ItemModSlab.class); + GameRegistry.registerBlock(concrete_slab, ItemModSlab.class, concrete_slab.getUnlocalizedName()); GameRegistry.registerBlock(concrete_double_slab, ItemModSlab.class, concrete_double_slab.getUnlocalizedName()); GameRegistry.registerBlock(concrete_brick_slab, ItemModSlab.class, concrete_brick_slab.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockLightstone.java b/src/main/java/com/hbm/blocks/generic/BlockLightstone.java new file mode 100644 index 000000000..c055a50a3 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockLightstone.java @@ -0,0 +1,39 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockEnumMulti; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +public class BlockLightstone extends BlockEnumMulti { + + public BlockLightstone(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { + super(mat, theEnum, multiName, multiTexture); + } + + protected IIcon[] topIcons; + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + + Enum[] enums = theEnum.getEnumConstants(); + this.icons = new IIcon[enums.length]; + this.topIcons = new IIcon[enums.length]; + + for(int i = 0; i < icons.length; i++) { + Enum num = enums[i]; + this.icons[i] = reg.registerIcon(this.getTextureMultiName(num)); + if(i >= 3) this.topIcons[i] = reg.registerIcon(this.getTextureMultiName(num) + ".top"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1) && this.topIcons[meta % this.icons.length] != null ? this.topIcons[meta % this.icons.length] : this.icons[meta % this.icons.length]; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java b/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java index 8374ba803..77dbfb7fd 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java +++ b/src/main/java/com/hbm/blocks/generic/BlockMultiSlab.java @@ -35,13 +35,17 @@ public class BlockMultiSlab extends BlockSlab implements IStepTickReceiver { if(single == null) { for(int i = 0; i < slabMaterials.length; i++) { - recipeGen.add(new Object[] {slabMaterials[i], this, i}); + recipeGen.add(new Object[] {slabMaterials[i], 0, this, i}); } } this.setBlockTextureName(RefStrings.MODID + ":concrete"); } + public BlockMultiSlab(boolean b, Material mat) { + super(b, mat); + } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { diff --git a/src/main/java/com/hbm/blocks/generic/BlockMultiSlabMeta.java b/src/main/java/com/hbm/blocks/generic/BlockMultiSlabMeta.java new file mode 100644 index 000000000..956d5a261 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockMultiSlabMeta.java @@ -0,0 +1,49 @@ +package com.hbm.blocks.generic; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.util.IIcon; + +// kinda ugly solution, but no other stairs use metadata-dependent blocks anyway. feel free to refactor/merge them once needed +public class BlockMultiSlabMeta extends BlockMultiSlab { + + public int[] metas; + + public BlockMultiSlabMeta(Block single, Material mat, Block[] slabMaterials, int...metas) { + super(single != null, mat); + this.single = single; + this.slabMaterials = slabMaterials; + this.metas = new int[slabMaterials.length]; //initialized to 0s + for(int i = 0; i < metas.length; i++) { + this.metas[i] = metas[i]; + } + + this.useNeighborBrightness = true; + + if(single == null) { + for(int i = 0; i < slabMaterials.length; i++) { + recipeGen.add(new Object[] {slabMaterials[i], metas[i], this, i}); + } + } + + this.setBlockTextureName(RefStrings.MODID + ":concrete"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + meta = (meta & 7) % slabMaterials.length; + Block block = slabMaterials[meta]; + return block.getIcon(side, metas[meta]); + } + + //blocks don't have meta-dependent unlocalized names by default, so we have to do this ugly solution + @Override + public String func_150002_b(int meta) { + return super.func_150002_b(meta) + "." + metas[meta]; + } +} diff --git a/src/main/java/com/hbm/items/block/ItemModSlab.java b/src/main/java/com/hbm/items/block/ItemModSlab.java index 9a6720064..97f0c7d69 100644 --- a/src/main/java/com/hbm/items/block/ItemModSlab.java +++ b/src/main/java/com/hbm/items/block/ItemModSlab.java @@ -18,6 +18,7 @@ public class ItemModSlab extends ItemSlab { if(b == ModBlocks.concrete_slab || b == ModBlocks.concrete_double_slab) return (BlockSlab) ModBlocks.concrete_slab; if(b == ModBlocks.concrete_brick_slab || b == ModBlocks.concrete_brick_double_slab) return (BlockSlab) ModBlocks.concrete_brick_slab; if(b == ModBlocks.brick_slab || b == ModBlocks.brick_double_slab) return (BlockSlab) ModBlocks.brick_slab; + if(b == ModBlocks.stones_slab || b == ModBlocks.stones_double_slab) return (BlockSlab) ModBlocks.stones_slab; return null; } @@ -25,6 +26,7 @@ public class ItemModSlab extends ItemSlab { if(b == ModBlocks.concrete_slab || b == ModBlocks.concrete_double_slab) return (BlockSlab) ModBlocks.concrete_double_slab; if(b == ModBlocks.concrete_brick_slab || b == ModBlocks.concrete_brick_double_slab) return (BlockSlab) ModBlocks.concrete_brick_double_slab; if(b == ModBlocks.brick_slab || b == ModBlocks.brick_double_slab) return (BlockSlab) ModBlocks.brick_double_slab; + if(b == ModBlocks.stones_slab || b == ModBlocks.stones_double_slab) return (BlockSlab) ModBlocks.stones_double_slab; return null; } } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index c9c6a1eeb..34f5571a8 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1,6 +1,7 @@ package com.hbm.main; import com.hbm.blocks.BlockEnums.DecoCabinetEnum; +import com.hbm.blocks.BlockEnums.LightstoneType; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockConcreteColoredExt.EnumConcreteType; import com.hbm.blocks.generic.BlockGenericStairs; @@ -79,7 +80,7 @@ public class CraftingManager { public static void AddCraftingRec() { for(Object[] array : BlockMultiSlab.recipeGen) { - addRecipeAuto(new ItemStack((Block) array[1], 6, (int) array[2]), new Object[] { "###", '#', (Block) array[0] }); + addRecipeAuto(new ItemStack((Block) array[2], 6, (int) array[3]), new Object[] { "###", '#', new ItemStack((Block) array[0], 1, (int) array[1]) }); } for(Object[] array : BlockGenericStairs.recipeGen) { addRecipeAuto(new ItemStack((Block) array[2], 4), new Object[] { "# ", "## ", "###", '#', new ItemStack((Block) array[0], 1, (int) array[1]) }); @@ -408,7 +409,12 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.basalt_polished, 4), new Object[] { "CC", "CC", 'C', ModBlocks.basalt_smooth }); addRecipeAuto(new ItemStack(ModBlocks.basalt_brick, 4), new Object[] { "CC", "CC", 'C', ModBlocks.basalt_polished }); addRecipeAuto(new ItemStack(ModBlocks.basalt_tiles, 4), new Object[] { "CC", "CC", 'C', ModBlocks.basalt_brick }); - + + addShapelessAuto(new ItemStack(ModBlocks.lightstone, 4), new Object[] { Blocks.stone, Blocks.stone, Blocks.stone, ModItems.powder_limestone }); + addRecipeAuto(new ItemStack(ModBlocks.lightstone, 4, LightstoneType.TILE.ordinal()), new Object[] { "CC", "CC", 'C', new ItemStack(ModBlocks.lightstone, 1, 0) }); + addRecipeAuto(new ItemStack(ModBlocks.lightstone, 4, LightstoneType.BRICKS.ordinal()), new Object[] { "CC", "CC", 'C', new ItemStack(ModBlocks.lightstone, 1, LightstoneType.TILE.ordinal()) }); + addShapelessAuto(new ItemStack(ModBlocks.lightstone, 1, LightstoneType.BRICKS_CHISELED.ordinal()), new Object[] { new ItemStack(ModBlocks.lightstone, 1, LightstoneType.BRICKS.ordinal()) }); + addShapelessAuto(new ItemStack(ModBlocks.lightstone, 1, LightstoneType.CHISELED.ordinal()), new Object[] { ModBlocks.lightstone }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_brick), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', ModBlocks.brick_concrete }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_compound), 4), new Object[] { "FBF", "BTB", "FBF", 'F', STEEL.bolt(), 'B', ModBlocks.reinforced_brick, 'T', ANY_TAR.any() }); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 25e9ef98a..7dbb3e158 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5557,6 +5557,13 @@ tile.launch_pad_large.name=Launch Pad tile.launch_pad_rusted.name=Old Launch Pad tile.launch_table.name=Large Launch Pad tile.leaves_layer.name=Fallen Leaves +tile.lightstone.unrefined.name=Raw Lightstone +tile.lightstone.tile.name=Lightstone Tile +tile.lightstone.bricks.name=Lightstone Bricks +tile.lightstone.bricks_chiseled.name=Lightstone Chiseled Bricks +tile.lightstone.chiseled.name=Chiseled Lightstone +tile.lightstone_tile_stairs.name=Lightstone Tile Stairs +tile.lightstone_bricks_stairs.name=Lightstone Brick Stairs tile.lox_barrel.name=LOX Barrel tile.machine_amgen.name=Ambience Radiation Generator tile.machine_ammo_press.name=Ammo Press @@ -6071,6 +6078,8 @@ tile.stone_resource.hematite.name=Hematite tile.stone_resource.limestone.name=Limestone tile.stone_resource.malachite.name=Malachite tile.stone_resource.sulfur.name=Sulfurous Stone +tile.stones_slab.lightstone.1.name=Lightstone Tile Slab +tile.stones_slab.lightstone.2.name=Lightstone Brick Slab tile.struct_icf_core.name=Inertial Confinement Fusion Reactor Core Component tile.struct_iter_core.name=Fusion Reactor Core Component tile.struct_launcher.name=Launch Pad Component Block diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks.png new file mode 100644 index 0000000000000000000000000000000000000000..34aeb4c05549524bb0e8a5484833364d7ff00655 GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFIesvJDxTz`ltBvNPLR zz~WgzHV7mDF-Sj*MzfRw=>G}q3@ktu21dpPj0+&9f^@JhfS5D|$OZu>pgBxnl|hyk zKo(S&p@9KNR@Hr8?_!g!M}f>fPZ!4!iOZsA4EdTBB-k#Tm*%iN=r64AApQ2-BfZWY z;zHp;9~or5Vq$F=xQos8!>by;2N)h}O)$Tb&~&-fA$M-+C)0+Qh?E`f6Q=L`8tXE- z^x9)d!{wSU-~L$?{&(S(jp9E1Nuul*Q#HhoC(U2B%}im-YQ^mqTQ(UhvGjl3ymz)q k>Yx6|=Pf}RTUS43@86;|J>gEmO^_=+UHx3vIVCg!0H!*Vh5!Hn literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.png new file mode 100644 index 0000000000000000000000000000000000000000..8154f33c7eeaa9fe2a939ba028dc151e080c9784 GIT binary patch literal 510 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFt@`AwfG%i}u7SbfKtl9x#uvmO~8E$%w4)z)-ZcDMDe zp0yG?%1hqAh{(w~qaY!rAt529bt=G8kV#T4zs;eo(^_$YqsR(1lK>MD2JS~%CdFU6 QmVg}P>FVdQ&MBb@09E6HJ^%m! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.top.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.bricks_chiseled.top.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3b2e6290c59fc60ae776c6081d82cb63abe2f2 GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFIesvJDxTz`ltBvNPLR zz~WgzHV7mDF-Sj*MzfRw=>G}q3@ktu21dpPj0+&9f^@JhfS5D|$OZu>pgBxnl|hyk zKo(S&p@9KNR@Hr8?_!g!M}f?CPZ!4!iOb0eA|gRTLLx#b0%e7TW@cu-DFT}8O?{c% zjXmE!b)7q+z&5cfG^sO*$&p9vE%#-X%@RzKA*ULdRyXiG#5TqiJD4>l zY^xS*E>aIr5Ii!2Q$*m_-U*HsvnEXvVxF*Y&XOYw4jcdqWMyW&ShaLvCr^`?Q&*Ey amlK1Psm9k|)~7+S!QkoY=d#Wzp$Pz=T8Pa6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.png new file mode 100644 index 0000000000000000000000000000000000000000..b53955893e64b2dc36ef06737cd26e4b57dc65a9 GIT binary patch literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF~kXKn^Q|6eBAGBar0<#L`eU$fX*L%wTaQAls0U3G9_9AUm_21uUKg zWP?Bg5QFr?Xf#V1fS#Yg&H!?;fswHR;{u4OARVj=ASO)#vO$0eXbuxtWss!>kOkFc zXkY-6Rdt`&yVzvwQ6RI`)5S4F;a>&p30Jbmi%{A1j;k9AgRch;S?G4E#7RFgGXS=+g|qK?60 Wt?HeY?RLjNj`MW&b6Mw<&;$T2QjK%~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.top.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.chiseled.top.png new file mode 100644 index 0000000000000000000000000000000000000000..6816a523279ddd7e5149a25b8b542e94db3991cf GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF`E(zKba9X$!jiEGxc-@;)k22{pb;1OBO zz`%DHgc*X6s4hbT1CXq$ z`@G)8CR>jJnf0D7jv*44RnOiQJftANdSNTeG?NKFQXNYe&m>7TBrt9=X}HiJsd>Bf zkG1@FM)6i*t&j!bw|FixSsAGNiLu>}(tgM0yyi@#!Sh>Q>%t23EyFmu?cUpa6inUl z`eXae_iKMl-_m#C{PM{MlcygHe&zG>Vl%7m{9|jlS8%$wD%UY~&Qo1;EJ9!z$XTAQ KelF{r5}E*~L4>{l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.tile.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.tile.png new file mode 100644 index 0000000000000000000000000000000000000000..1663fa30ef4e57b5399d107a1a95410295fd23bc GIT binary patch literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF%FBlnrvG1|u_AoC(M_WMl&SBMQjQY-a(BX93wD zaI=h&;RVopFdEHL2B6dgb_N!pN&_Qf1I7gqQ$aSeE`XRc1;_>gCZM@YV3k3Z7C;tM zm!W|HNH%-dHR(yeC4zy>7Ec$)5Q)pYJqLLY83?eL3-TU`5GmMnr(x=i{O3FP7EQ>{ z(Nk66a#+Z^>*%ce9>xs27@1=)N*49qk+t1@r(#k0sYODC6Sd|&ztQt%%GZX8bGK%- zoPCo0jOFl|n`b#))?WO`tsND;f1Bd!X@-x)xTden*>K9yIpX2+O)VR8Jf1)QST}dS YeaC(IV~x6XAt1MTy85}Sb4q9e0Ap>IVE_OC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/lightstone.unrefined.png b/src/main/resources/assets/hbm/textures/blocks/lightstone.unrefined.png new file mode 100644 index 0000000000000000000000000000000000000000..67602d43bfc8ced6ea962803df3c1c88f4f8c5eb GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFQp_BeIx*f$uN~Gak=hkpdKy zC~=J_3C>R|DNig)We7;j%q!9Ja}7~2)icyH@4oik5~yZdYJ_K+r>7PJ2av3CK2NWCA-p3dqiEX90_60ofps0K_2uFdEHL2B23bursg# zRTvl<8!#?_mw>FU!5z z@YLaq@q&LQ_CJ+o7fj=G*5~GxTI9DVP4$~##l+gQHKf>}qc6IlhEjvo>rRqc?HM`p00i_>zopr08LqSegFUf literal 0 HcmV?d00001