diff --git a/src/main/java/com/hbm/blocks/BlockEnumMulti.java b/src/main/java/com/hbm/blocks/BlockEnumMulti.java index a79493e26..fe84c3b58 100644 --- a/src/main/java/com/hbm/blocks/BlockEnumMulti.java +++ b/src/main/java/com/hbm/blocks/BlockEnumMulti.java @@ -14,7 +14,7 @@ public class BlockEnumMulti extends BlockMulti { public Class theEnum; public boolean multiName; - private boolean multiTexture; + protected boolean multiTexture; public BlockEnumMulti(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { super(mat); diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index f2cef0da2..e6a4b5644 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -26,7 +26,12 @@ public class BlockEnums { public static enum EnumStalagmiteType { SULFUR, - ASBESTOS + ASBESTOS, + ICE, + SNOW, + GLYPHID1, + GLYPHID2, + GLYPHID3 } public static enum EnumCMMaterials { @@ -49,15 +54,15 @@ public class BlockEnums { GOLD, SCHRABIDIUM } - + /** DECO / STRUCTURE ENUMS */ //i apologize in advance - + public static enum TileType { LARGE, SMALL } - + public static enum LightstoneType { UNREFINED, TILE, @@ -65,11 +70,11 @@ public class BlockEnums { BRICKS_CHISELED, CHISELED } - + public static enum DecoComputerEnum { IBM_300PL } - + public static enum DecoCabinetEnum { GREEN, STEEL @@ -81,4 +86,21 @@ public class BlockEnums { HALOGEN } + public static enum PlatemetalType { + BASE, + BLACK, + WHITE, + RED, + GREEN, + LIGHT_GRAY, + BLUE, + PURPLE, + CYAN, + PINK, + LIME, + YELLOW, + LIGHT_BLUE, + MAGENTA, + ORANGE + } } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index d8d83ad42..aa7328075 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -255,6 +255,7 @@ public class ModBlocks { public static Block deco_rusty_steel; public static Block deco_lead; public static Block deco_beryllium; + public static Block platemetal; public static Block deco_asbestos; public static Block deco_rbmk; public static Block deco_rbmk_smooth; @@ -1430,6 +1431,7 @@ public class ModBlocks { deco_rusty_steel = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_rusty_steel").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_rusty_steel"); deco_lead = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_lead"); deco_beryllium = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_beryllium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_beryllium"); + platemetal = new BlockEnumMultiCT(Material.iron, BlockEnums.PlatemetalType.class, true, true).setBlockName("platemetal").setCreativeTab(MainRegistry.blockTab).setStepSound(ModSoundTypes.platemetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":platemetal"); deco_asbestos = new BlockOutgas(Material.cloth, true, 5, true).noFortune().setBlockName("deco_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_asbestos"); deco_rbmk = new BlockGeneric(Material.iron).setBlockName("deco_rbmk").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top"); deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_blank_top"); @@ -1642,8 +1644,8 @@ public class ModBlocks { mush = new BlockMush(Material.plants).setBlockName("mush").setCreativeTab(MainRegistry.blockTab).setLightLevel(0.5F).setStepSound(Block.soundTypeGrass).setBlockTextureName(RefStrings.MODID + ":mush"); mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin"); mush_block_stem = new BlockMushHuge(Material.plants).setBlockName("mush_block_stem").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_stem"); - glyphid_base = new BlockGlyphid(Material.coral).setBlockName("glyphid_base").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_base"); - glyphid_spawner = new BlockGlyphidSpawner(Material.coral).setBlockName("glyphid_spawner").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_eggs_alt"); + glyphid_base = new BlockGlyphid(Material.coral).setBlockName("glyphid_base").setStepSound(ModSoundTypes.flesh).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_base"); + glyphid_spawner = new BlockGlyphidSpawner(Material.coral).setBlockName("glyphid_spawner").setStepSound(ModSoundTypes.flesh).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_eggs_alt"); plant_flower = new BlockNTMFlower().setBlockName("plant_flower").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); plant_tall = new BlockTallPlant().setBlockName("plant_tall").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGrass).setHardness(0.0F); @@ -2585,6 +2587,7 @@ public class ModBlocks { GameRegistry.registerBlock(deco_rusty_steel, deco_rusty_steel.getUnlocalizedName()); GameRegistry.registerBlock(deco_lead, deco_lead.getUnlocalizedName()); GameRegistry.registerBlock(deco_beryllium, deco_beryllium.getUnlocalizedName()); + GameRegistry.registerBlock(platemetal, ItemBlockBlastInfo.class, platemetal.getUnlocalizedName()); GameRegistry.registerBlock(deco_asbestos, deco_asbestos.getUnlocalizedName()); GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName()); GameRegistry.registerBlock(part_emitter, ItemBlockBase.class, part_emitter.getUnlocalizedName()); @@ -2915,7 +2918,7 @@ public class ModBlocks { GameRegistry.registerBlock(red_barrel, ItemBlockLore.class, red_barrel.getUnlocalizedName()); GameRegistry.registerBlock(pink_barrel, ItemBlockLore.class, pink_barrel.getUnlocalizedName()); GameRegistry.registerBlock(lox_barrel, ItemBlockLore.class, lox_barrel.getUnlocalizedName()); - GameRegistry.registerBlock(taint_barrel, taint_barrel.getUnlocalizedName()); + GameRegistry.registerBlock(taint_barrel, ItemBlockLore.class, taint_barrel.getUnlocalizedName()); GameRegistry.registerBlock(yellow_barrel, yellow_barrel.getUnlocalizedName()); GameRegistry.registerBlock(vitrified_barrel, vitrified_barrel.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/ModSoundTypes.java b/src/main/java/com/hbm/blocks/ModSoundTypes.java index 85f42f310..2bd3b8d6c 100644 --- a/src/main/java/com/hbm/blocks/ModSoundTypes.java +++ b/src/main/java/com/hbm/blocks/ModSoundTypes.java @@ -10,4 +10,6 @@ public class ModSoundTypes { if(type == ModSoundType.SubType.BREAK) in -= 0.15F; return in + rand.nextFloat() * 0.2F; }); + public static final ModSoundType flesh = ModSoundType.placeBreakStep("hbm:block.flesh", "hbm:block.flesh", "hbm:block.flesh", 0.5F, 1.0F); + public static final ModSoundType platemetal = ModSoundType.placeBreakStep("hbm:block.platemetalPlace", "hbm:block.platemetalPlace", "hbm:step.platemetal", 1.0F, 1.0F); } diff --git a/src/main/java/com/hbm/blocks/generic/BlockEnumMultiCT.java b/src/main/java/com/hbm/blocks/generic/BlockEnumMultiCT.java new file mode 100644 index 000000000..670080ba5 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockEnumMultiCT.java @@ -0,0 +1,65 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.render.block.ct.CT; +import com.hbm.render.block.ct.CTStitchReceiver; +import com.hbm.render.block.ct.IBlockCT; + +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.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +public class BlockEnumMultiCT extends BlockEnumMulti implements IBlockCT { + + @SideOnly(Side.CLIENT) + public CTStitchReceiver[] receivers; + // im planning ts for shi like deco blocks n shit when the time comes + public BlockEnumMultiCT(Material mat, Class theEnum, boolean multiName, boolean multiTexture) + { + super(mat, theEnum, multiName, multiTexture); + } + + @Override + public int getRenderType() { + return CT.renderID; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + if(multiTexture) { + Enum[] enums = theEnum.getEnumConstants(); + this.icons = new IIcon[enums.length]; + this.receivers = new CTStitchReceiver[enums.length]; + for(int i = 0; i < icons.length; i++) + { + Enum num = enums[i]; + String texName = this.getTextureMultiName(num); + this.icons[i] = reg.registerIcon(texName); + this.receivers[i] = IBlockCT.primeReceiver(reg, texName, this.icons[i]); + } + } + else + { + this.blockIcon = reg.registerIcon(this.getTextureName()); + this.receivers = new CTStitchReceiver[1]; + this.receivers[0] = IBlockCT.primeReceiver(reg, this.getTextureName(), this.blockIcon); + } + } + + @Override + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) + { + int meta = world.getBlockMetadata(x, y, z); + return receivers[meta % receivers.length].fragCache; + + } + @Override + public boolean canConnect(IBlockAccess world, int x, int y, int z, Block block) { + return this == block; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java index 5db100280..c595e2481 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java @@ -10,6 +10,7 @@ import com.hbm.items.ModItems; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; @@ -43,6 +44,8 @@ public class BlockStalagmite extends BlockEnumMulti { switch(meta) { case 0: return ModItems.sulfur; case 1: return ModItems.powder_asbestos; + case 2: return ModItems.powder_ice; + case 3: return Items.snowball; } return null; diff --git a/src/main/java/com/hbm/blocks/generic/RedBarrel.java b/src/main/java/com/hbm/blocks/generic/RedBarrel.java index d1acf2af2..c3cbe7df4 100644 --- a/src/main/java/com/hbm/blocks/generic/RedBarrel.java +++ b/src/main/java/com/hbm/blocks/generic/RedBarrel.java @@ -17,7 +17,6 @@ import net.minecraft.world.World; public class RedBarrel extends BlockDetonatable { - // Flammable barrels also explode when shot public RedBarrel(Material material, boolean flammable) { super(material, flammable ? 2 : 0, flammable ? 15 : 0, 100, true, flammable); } diff --git a/src/main/java/com/hbm/config/StructureConfig.java b/src/main/java/com/hbm/config/StructureConfig.java index e20d2410c..82d3c673c 100644 --- a/src/main/java/com/hbm/config/StructureConfig.java +++ b/src/main/java/com/hbm/config/StructureConfig.java @@ -42,6 +42,8 @@ public class StructureConfig { public static int lighthouseSpawnWeight = 4; public static int oilRigSpawnWeight = 5; public static int broadcastingTowerSpawnWeight = 25; + public static int waterPumpSpawnWeight = 15; + public static int deadDishSmallSpawnWeight = 15; public static int beachedPatrolSpawnWeight = 15; public static int vertibirdSpawnWeight = 6; public static int vertibirdCrashedSpawnWeight = 10; @@ -117,6 +119,8 @@ public class StructureConfig { craneSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.39_craneSpawnWeight", "Spawn weight for crane structure.", 20); broadcastingTowerSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.40_broadcastingTowerSpawnWeight", "Spawn weight for broadcasting tower structure.", 25); towerBaseSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.41_towerBaseSpawnWeight", "Spawn weight for tower base.", 30); + waterPumpSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.42_waterPumpSpawnWeight", "Spawn weight for water pump structure.", 15); + deadDishSmallSpawnWeight = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.43_deadDishSmallSpawnWeight", "Spawn weight for dead dish small structure.", 15); structureMinChunks = CommonConfig.setDef(structureMinChunks, 4); diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 26f743ae4..799702a84 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -178,6 +178,7 @@ public class AnvilRecipes extends SerializableRecipe { new AStack[] {new ComparableStack(Blocks.stonebrick, 16), new ComparableStack(ModItems.ingot_firebrick, 16), new OreDictStack(IRON.ingot(), 8), new OreDictStack(CU.ingot(), 8)}, new AnvilOutput(new ItemStack(ModBlocks.machine_annihilator))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(IRON.plate(), 1), new AnvilOutput(new ItemStack(ModBlocks.platemetal, 4, 0))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(AL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_aluminium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_beryllium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(PB.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_lead, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); @@ -658,6 +659,7 @@ public class AnvilRecipes extends SerializableRecipe { constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1))}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.platemetal, 4, 0), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.plate_iron, 1))}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.heater_firebox), diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 37e4304cb..23beb5b69 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -2,6 +2,7 @@ package com.hbm.main; import com.hbm.blocks.BlockEnums.DecoCabinetEnum; import com.hbm.blocks.BlockEnums.LightstoneType; +import com.hbm.blocks.BlockEnums.PlatemetalType; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAbsorber.EnumAbsorberTier; import com.hbm.blocks.generic.BlockConcreteColoredExt.EnumConcreteType; @@ -391,6 +392,13 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { new ItemStack(ModBlocks.concrete_colored, 1, OreDictionary.WILDCARD_VALUE) }); addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { new ItemStack(ModBlocks.concrete_colored_ext, 1, OreDictionary.WILDCARD_VALUE) }); + String[] plateDyes = { "Black", "White", "Red", "Green", "LightGray", "Blue", "Purple", "Cyan", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange" }; + for(int i = 0; i < 14; i++) { + String dyeName = "dye" + plateDyes[i]; + addRecipeAuto(new ItemStack(ModBlocks.platemetal, 8, i + 1), new Object[] { "PPP", "PDP", "PPP", 'P', new ItemStack(ModBlocks.platemetal, 1, PlatemetalType.BASE.ordinal()), 'D', dyeName }); + } + addShapelessAuto(new ItemStack(ModBlocks.platemetal, 1, PlatemetalType.BASE.ordinal()), new Object[] { new ItemStack(ModBlocks.platemetal, 1, OreDictionary.WILDCARD_VALUE) }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_GRAY }); addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE_STRIPE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_BLACK }); addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.INDIGO.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BLUE, '2', KEY_PURPLE }); diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index 8b0709e87..05621a816 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -60,6 +60,8 @@ public class StructureManager { public static final NBTStructure beached_patrol = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/beached_patrol.nbt")); public static final NBTStructure lighthouse = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/lighthouse.nbt")); public static final NBTStructure dish = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dish.nbt")); + public static final NBTStructure water_pump = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/water_pump.nbt")); + public static final NBTStructure dead_dish_small = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dead_dish_small.nbt")); public static final NBTStructure desert_shack_1 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_1.nbt")); public static final NBTStructure desert_shack_2 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_2.nbt")); public static final NBTStructure desert_shack_3 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_3.nbt")); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index c0be7e888..94d6737f9 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -117,6 +117,12 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = StructureConfig.dishSpawnWeight; }}); + NBTStructure.registerStructure(0, new SpawnCondition("water_pump") {{ + canSpawn = biome -> BiomeDictionary.isBiomeOfType(biome, Type.PLAINS) || BiomeDictionary.isBiomeOfType(biome, Type.SWAMP); + structure = new JigsawPiece("water_pump", StructureManager.water_pump, -10); + spawnWeight = StructureConfig.waterPumpSpawnWeight; + }}); + NBTStructure.registerStructure(0, new SpawnCondition("forestchem") {{ canSpawn = biome -> biome.heightVariation <= 0.3F && !isWaterBiome(biome); structure = new JigsawPiece("forest_chem", StructureManager.forest_chem, -9); @@ -191,6 +197,12 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = StructureConfig.desertShack3SpawnWeight; }}); + NBTStructure.registerStructure(0, new SpawnCondition("dead_dish_small") {{ + canSpawn = biome -> BiomeDictionary.isBiomeOfType(biome, Type.SANDY); + structure = new JigsawPiece("dead_dish_small", StructureManager.dead_dish_small, -5); + spawnWeight = StructureConfig.deadDishSmallSpawnWeight; + }}); + NBTStructure.registerStructure(0, new SpawnCondition("ruinA") {{ canSpawn = biome -> !isWaterBiome(biome) && biome.canSpawnLightningBolt(); structure = new JigsawPiece("NTMRuinsA", StructureManager.ntmruinsA, -1) {{conformToTerrain = true;}}; diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 8448a7f7a..ad9ecf572 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5382,6 +5382,21 @@ tile.crystal_virus.name=Dark Crystal tile.deco_aluminium.name=Aluminium Deco Block tile.deco_asbestos.name=Asbestos Roof tile.deco_beryllium.name=Beryllium Deco Block +tile.platemetal.base.name=Platemetal Block +tile.platemetal.black.name=Black Platemetal Block +tile.platemetal.white.name=White Platemetal Block +tile.platemetal.red.name=Red Platemetal Block +tile.platemetal.green.name=Green Platemetal Block +tile.platemetal.light_gray.name=Light Gray Platemetal Block +tile.platemetal.blue.name=Blue Platemetal Block +tile.platemetal.purple.name=Purple Platemetal Block +tile.platemetal.cyan.name=Cyan Platemetal Block +tile.platemetal.pink.name=Pink Platemetal Block +tile.platemetal.lime.name=Lime Platemetal Block +tile.platemetal.yellow.name=Yellow Platemetal Block +tile.platemetal.light_blue.name=Light Blue Platemetal Block +tile.platemetal.magenta.name=Magenta Platemetal Block +tile.platemetal.orange.name=Orange Platemetal Block tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL tile.deco_crt.name=Old CRT Screen tile.deco_emitter.name=Deco Light Emitter @@ -6296,8 +6311,18 @@ tile.spotlight_fluoro.name=Fluorescent Light tile.spotlight_halogen.name=Halogen Floodlight tile.stalactite.asbestos.name=Asbestos Stalactite tile.stalactite.sulfur.name=Sulfurous Stalactite +tile.stalactite.ice.name=Icy Stalactite +tile.stalactite.snow.name=Snowy Stalactite +tile.stalactite.glyphid1.name=Glyphid Stalactite +tile.stalactite.glyphid2.name=Bloated Glyphid Stalactite +tile.stalactite.glyphid3.name=Putrid Glyphid Stalactite tile.stalagmite.asbestos.name=Asbestos Stalagmite tile.stalagmite.sulfur.name=Sulfurous Stalagmite +tile.stalagmite.ice.name=Icy Stalagmite +tile.stalagmite.snow.name=Snowy Stalagmite +tile.stalagmite.glyphid1.name=Glyphid Stalagmite +tile.stalagmite.glyphid2.name=Bloated Glyphid Stalagmite +tile.stalagmite.glyphid3.name=Putrid Glyphid Stalagmite tile.steel_beam.name=Steel Beam tile.steel_corner.name=Steel Wall Corner tile.steel_grate.name=Steel Grate diff --git a/src/main/resources/assets/hbm/manual/pile/pile.json b/src/main/resources/assets/hbm/manual/pile/pile.json index a5ddf27f9..a8aeff368 100644 --- a/src/main/resources/assets/hbm/manual/pile/pile.json +++ b/src/main/resources/assets/hbm/manual/pile/pile.json @@ -6,7 +6,7 @@ "en_US": "Chicago Pile" }, "content": { - "en_US": "The Chcago Pile is a low-tech low-power reactor used for breeding nuclear material, mainly turning [[uranium|Uranium]] into [[plutonium-239|Plutonium-239]]. Due to its simplicity, operating it either requires manual intervention or some form of external operation with [[Redstone over Radio]].

The pile is constructed out of a box of Chicago Pile graphite bricks at least 5x5x5 blocks in size, and at most 15x15x15 blocks. The box does not need to be a perfect cube, so shapes like 5x7x9 are valid, so long as the box is filled. Using a hand drill, the pile is assembled, with the drilled block acting as the core.

To prepare the Chicago Pile for use, channels need to be drilled, again with a hand drill. The function of the channel depends on the orientation relative to the core. Using the hand drill again on the input side of an existing channel will close the channel again. Channels cannot intersect one another.

Fuel channels are channels that follow the core's orientation, i.e. either the input or output side is on the same face as the core's panel. Fuel channels can be loaded with Chicago Pile fuel rods using a [[fuel loader|Chicago Pile Fuel Loader]]. The amount of fuel that fits into any given channel depends on its length, with one block of channel being able to hold one fuel rod.

Ventilation channels are channels which are perpendicular to the core's orientation and therefore also to the fuel channels. Ventilation channels cool down fuel channels which touch (but not intersect) them if compressed air is supplied at a pressure of 1 PU via a [[vent|Chicago Pile Vent]]. Passive cooling in the Chicago Pile is quite low, so while technically optional, vents are basically mandatory for every Pile in practice.

Channels drilled from the top are for [[control rods|Chicago Pile Control Rod]]. Control rods are used to reduce the interactiion between fuel channels in larger Pile setups, although smaller setups are usually fine without control rods. Still, throttling the reactor can be useful when cycling fuel, since the window for extracting pure plutonium-239 is quite small.
<>br>If the Pile is disassembled, channels can be drilled again without having to remove all the attachments like fuel loaders and vents, simply shift-click the attachment with the hand drill and a channel will be drilled into the Pile behind it.

See also:
* [[Chicago Pile Operation]]" + "en_US": "The Chicago Pile is a low-tech low-power reactor used for breeding nuclear material, mainly turning [[uranium|Uranium]] into [[plutonium-239|Plutonium-239]]. Due to its simplicity, operating it either requires manual intervention or some form of external operation with [[Redstone over Radio]].

The pile is constructed out of a box of Chicago Pile graphite bricks at least 5x5x5 blocks in size, and at most 15x15x15 blocks. The box does not need to be a perfect cube, so shapes like 5x7x9 are valid, so long as the box is filled. Using a hand drill, the pile is assembled, with the drilled block acting as the core.

To prepare the Chicago Pile for use, channels need to be drilled, again with a hand drill. The function of the channel depends on the orientation relative to the core. Using the hand drill again on the input side of an existing channel will close the channel again. Channels cannot intersect one another.

Fuel channels are channels that follow the core's orientation, i.e. either the input or output side is on the same face as the core's panel. Fuel channels can be loaded with Chicago Pile fuel rods using a [[fuel loader|Chicago Pile Fuel Loader]]. The amount of fuel that fits into any given channel depends on its length, with one block of channel being able to hold one fuel rod.

Ventilation channels are channels which are perpendicular to the core's orientation and therefore also to the fuel channels. Ventilation channels cool down fuel channels which touch (but not intersect) them if compressed air is supplied at a pressure of 1 PU via a [[vent|Chicago Pile Vent]]. Passive cooling in the Chicago Pile is quite low, so while technically optional, vents are basically mandatory for every Pile in practice.

Channels drilled from the top are for [[control rods|Chicago Pile Control Rod]]. Control rods are used to reduce the interactiion between fuel channels in larger Pile setups, although smaller setups are usually fine without control rods. Still, throttling the reactor can be useful when cycling fuel, since the window for extracting pure plutonium-239 is quite small.
<>br>If the Pile is disassembled, channels can be drilled again without having to remove all the attachments like fuel loaders and vents, simply shift-click the attachment with the hand drill and a channel will be drilled into the Pile behind it.

See also:
* [[Chicago Pile Operation]]" } } diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index c9ac8d1b7..f4f4e63f5 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -27,6 +27,7 @@ "block.debris": {"category": "block", "sounds": ["block/debris1", "block/debris2", "block/debris3"]}, "block.centrifugeOperate": {"category": "block", "sounds": [{"name": "block/centrifugeOperate", "stream": false}]}, "block.pipePlaced": {"category": "block", "sounds": [{"name": "block/pipePlaced", "stream": false}]}, + "block.flesh": {"category": "block", "sounds": ["block/flesh1", "block/flesh2", "block/flesh4", "block/flesh5"]}, "block.missileAssembly": {"category": "block", "sounds": [{"name": "block/missileAssembly", "stream": false}]}, "block.missileAssembly2": {"category": "block", "sounds": [{"name": "block/missileAssembly2", "stream": false}]}, "block.openDoor": {"category": "block", "sounds": ["block/door_open_1", "block/door_open_2"]}, @@ -324,6 +325,8 @@ "step.iron_land": {"category": "player", "sounds": [{"name": "footsteps/iron_land", "stream": false}]}, "step.iron": {"category": "player", "sounds": ["footsteps/iron1", "footsteps/iron2", "footsteps/iron3", "footsteps/iron4"]}, "step.metalBlock": {"category": "block", "sounds": ["footsteps/metalStep1", "footsteps/metalStep2", "footsteps/metalStep3", "footsteps/metalStep4"]}, + "step.platemetal": {"category": "block", "sounds": ["block/platemetal_step"]}, + "block.platemetalPlace": {"category": "block", "sounds": ["block/platemetal_bar1", "block/platemetal_bar2", "block/platemetal_bar3", "block/platemetal_bar4", "block/platemetal_bar5", "block/platemetal_bar6"]}, "step.powered": {"category": "player", "sounds": ["footsteps/powered1", "footsteps/powered2", "footsteps/powered3"]}, "player.vomit": {"category": "player", "sounds": [{"name": "player/vomit", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/flesh1.ogg b/src/main/resources/assets/hbm/sounds/block/flesh1.ogg new file mode 100644 index 000000000..35579854d Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/flesh1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/flesh2.ogg b/src/main/resources/assets/hbm/sounds/block/flesh2.ogg new file mode 100644 index 000000000..621cc190e Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/flesh2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/flesh4.ogg b/src/main/resources/assets/hbm/sounds/block/flesh4.ogg new file mode 100644 index 000000000..158ba2510 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/flesh4.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/flesh5.ogg b/src/main/resources/assets/hbm/sounds/block/flesh5.ogg new file mode 100644 index 000000000..da67f58e8 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/flesh5.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/platemetal_bar1.ogg b/src/main/resources/assets/hbm/sounds/block/platemetal_bar1.ogg new file mode 100644 index 000000000..35a01cd51 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/platemetal_bar1.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/platemetal_bar2.ogg b/src/main/resources/assets/hbm/sounds/block/platemetal_bar2.ogg new file mode 100644 index 000000000..7a1f4b2d0 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/platemetal_bar2.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/platemetal_bar3.ogg b/src/main/resources/assets/hbm/sounds/block/platemetal_bar3.ogg new file mode 100644 index 000000000..d297a6a07 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/platemetal_bar3.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/platemetal_bar4.ogg b/src/main/resources/assets/hbm/sounds/block/platemetal_bar4.ogg new file mode 100644 index 000000000..4669c54b8 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/platemetal_bar4.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/platemetal_bar5.ogg b/src/main/resources/assets/hbm/sounds/block/platemetal_bar5.ogg new file mode 100644 index 000000000..3061ed483 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/platemetal_bar5.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/platemetal_bar6.ogg b/src/main/resources/assets/hbm/sounds/block/platemetal_bar6.ogg new file mode 100644 index 000000000..846e9ea73 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/platemetal_bar6.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/platemetal_step.ogg b/src/main/resources/assets/hbm/sounds/block/platemetal_step.ogg new file mode 100644 index 000000000..95e7c3f1b Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/platemetal_step.ogg differ diff --git a/src/main/resources/assets/hbm/structures/dead_dish_small.nbt b/src/main/resources/assets/hbm/structures/dead_dish_small.nbt new file mode 100644 index 000000000..08bc7b2a1 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/dead_dish_small.nbt differ diff --git a/src/main/resources/assets/hbm/structures/water_pump.nbt b/src/main/resources/assets/hbm/structures/water_pump.nbt new file mode 100644 index 000000000..8a908da7a Binary files /dev/null and b/src/main/resources/assets/hbm/structures/water_pump.nbt differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.base.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.base.png new file mode 100644 index 000000000..859cd678b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.base.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.base_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.base_ct.png new file mode 100644 index 000000000..74bdf9144 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.base_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.black.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.black.png new file mode 100644 index 000000000..9c7a2ab40 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.black.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.black_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.black_ct.png new file mode 100644 index 000000000..3c2b7f7f8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.black_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.blue.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.blue.png new file mode 100644 index 000000000..8fc96c4ce Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.blue.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.blue_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.blue_ct.png new file mode 100644 index 000000000..dd1402d57 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.blue_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.cyan.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.cyan.png new file mode 100644 index 000000000..4ad996f14 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.cyan.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.cyan_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.cyan_ct.png new file mode 100644 index 000000000..786e526b5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.cyan_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.green.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.green.png new file mode 100644 index 000000000..3f346f8ad Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.green.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.green_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.green_ct.png new file mode 100644 index 000000000..75a6dfcfb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.green_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.light_blue.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_blue.png new file mode 100644 index 000000000..e641e15c0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_blue.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.light_blue_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_blue_ct.png new file mode 100644 index 000000000..1c9966ceb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_blue_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.light_gray.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_gray.png new file mode 100644 index 000000000..7ef81d4b1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_gray.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.light_gray_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_gray_ct.png new file mode 100644 index 000000000..e8885edf2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.light_gray_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.lime.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.lime.png new file mode 100644 index 000000000..b17ef6ff9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.lime.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.lime_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.lime_ct.png new file mode 100644 index 000000000..1e76d953b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.lime_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.magenta.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.magenta.png new file mode 100644 index 000000000..576318f33 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.magenta.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.magenta_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.magenta_ct.png new file mode 100644 index 000000000..cebfce506 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.magenta_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.orange.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.orange.png new file mode 100644 index 000000000..020ce5462 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.orange.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.orange_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.orange_ct.png new file mode 100644 index 000000000..1faf1ea47 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.orange_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.pink.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.pink.png new file mode 100644 index 000000000..68cdc7956 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.pink.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.pink_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.pink_ct.png new file mode 100644 index 000000000..b9e7946f8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.pink_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.purple.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.purple.png new file mode 100644 index 000000000..36d5851d8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.purple.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.purple_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.purple_ct.png new file mode 100644 index 000000000..4120681db Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.purple_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.red.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.red.png new file mode 100644 index 000000000..599de0efb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.red.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.red_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.red_ct.png new file mode 100644 index 000000000..3d343d9ec Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.red_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.white.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.white.png new file mode 100644 index 000000000..228c11dd8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.white.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.white_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.white_ct.png new file mode 100644 index 000000000..771dae2b7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.white_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.yellow.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.yellow.png new file mode 100644 index 000000000..8bd940184 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.yellow.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/platemetal.yellow_ct.png b/src/main/resources/assets/hbm/textures/blocks/platemetal.yellow_ct.png new file mode 100644 index 000000000..834281fec Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/platemetal.yellow_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid1.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid1.png new file mode 100644 index 000000000..1c50a16ba Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid1.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid2.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid2.png new file mode 100644 index 000000000..0ad11a514 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid2.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid3.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid3.png new file mode 100644 index 000000000..acec554aa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalactite.glyphid3.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.ice.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.ice.png new file mode 100644 index 000000000..a266df9f6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalactite.ice.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.snow.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.snow.png new file mode 100644 index 000000000..74f8b4a3e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalactite.snow.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid1.png b/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid1.png new file mode 100644 index 000000000..0167be9a8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid1.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid2.png b/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid2.png new file mode 100644 index 000000000..2b7792359 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid2.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid3.png b/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid3.png new file mode 100644 index 000000000..9aab0358c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalagmite.glyphid3.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalagmite.ice.png b/src/main/resources/assets/hbm/textures/blocks/stalagmite.ice.png new file mode 100644 index 000000000..d803a0676 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalagmite.ice.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stalagmite.snow.png b/src/main/resources/assets/hbm/textures/blocks/stalagmite.snow.png new file mode 100644 index 000000000..2c1d44ae3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/stalagmite.snow.png differ