From f9f1ed9d6bb7a6e9fecc1cf5f22844bacbb65867 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 19 Sep 2021 16:32:56 +0200 Subject: [PATCH] redid the entire oredict, recipes, more memepack stuff --- src/main/java/com/hbm/blocks/ModBlocks.java | 32 +- .../hbm/blocks/generic/BlockBeaconable.java | 5 +- .../com/hbm/blocks/generic/BlockCoalOil.java | 56 ++- .../com/hbm/blocks/generic/WasteEarth.java | 6 +- .../java/com/hbm/blocks/siege/SiegeBase.java | 73 +++ .../com/hbm/blocks/siege/SiegeCircuit.java | 23 + .../java/com/hbm/blocks/siege/SiegeHole.java | 43 ++ .../com/hbm/blocks/siege/SiegeInternal.java | 42 ++ .../com/hbm/blocks/siege/SiegeShield.java | 53 +++ .../java/com/hbm/crafting/MineralRecipes.java | 1 + .../hbm/entity/projectile/EntityMeteor.java | 29 +- .../java/com/hbm/inventory/AnvilRecipes.java | 19 +- .../com/hbm/inventory/OreDictManager.java | 423 ++++++------------ .../com/hbm/items/tool/ItemColtanCompass.java | 6 + .../com/hbm/items/tool/ItemMeteorRemote.java | 20 +- .../java/com/hbm/items/tool/ItemWandD.java | 11 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 32 +- .../java/com/hbm/main/ModEventHandler.java | 4 +- .../com/hbm/main/ModEventHandlerClient.java | 14 + .../hbm/render/item/ItemRenderLibrary.java | 24 + .../machine/rbmk/TileEntityRBMKOutgasser.java | 5 + src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/blocks/block_niobium.png | Bin 0 -> 3094 bytes .../hbm/textures/blocks/siege_circuit_0.png | Bin 0 -> 254 bytes .../hbm/textures/blocks/siege_circuit_1.png | Bin 0 -> 356 bytes .../hbm/textures/blocks/siege_emergency.png | Bin 0 -> 411 bytes .../assets/hbm/textures/blocks/siege_hole.png | Bin 0 -> 248 bytes .../hbm/textures/blocks/siege_internal_0.png | Bin 0 -> 250 bytes .../hbm/textures/blocks/siege_internal_1.png | Bin 0 -> 274 bytes .../hbm/textures/blocks/siege_shield_0.png | Bin 0 -> 282 bytes .../hbm/textures/blocks/siege_shield_1.png | Bin 0 -> 234 bytes .../hbm/textures/blocks/siege_shield_2.png | Bin 0 -> 412 bytes .../hbm/textures/blocks/siege_shield_3.png | Bin 0 -> 348 bytes .../blocks/siege_shield_overlay_66_ue.png | Bin 0 -> 186 bytes .../assets/hbm/textures/items/cigarette.png | Bin 0 -> 198 bytes .../models/machines/fracking_tower.png | Bin 0 -> 2027 bytes 37 files changed, 580 insertions(+), 345 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/siege/SiegeBase.java create mode 100644 src/main/java/com/hbm/blocks/siege/SiegeCircuit.java create mode 100644 src/main/java/com/hbm/blocks/siege/SiegeHole.java create mode 100644 src/main/java/com/hbm/blocks/siege/SiegeInternal.java create mode 100644 src/main/java/com/hbm/blocks/siege/SiegeShield.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_niobium.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_circuit_0.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_circuit_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_emergency.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_hole.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_internal_0.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_internal_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_shield_0.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_shield_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_shield_2.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_shield_3.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/siege_shield_overlay_66_ue.png create mode 100644 src/main/resources/assets/hbm/textures/items/cigarette.png create mode 100644 src/main/resources/assets/hbm/textures/models/machines/fracking_tower.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 581a7e1f7..fef8e925e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -13,6 +13,10 @@ import com.hbm.blocks.machine.pile.BlockGraphiteRod; import com.hbm.blocks.machine.pile.BlockGraphiteSource; import com.hbm.blocks.machine.rbmk.*; import com.hbm.blocks.network.*; +import com.hbm.blocks.siege.SiegeCircuit; +import com.hbm.blocks.siege.SiegeHole; +import com.hbm.blocks.siege.SiegeInternal; +import com.hbm.blocks.siege.SiegeShield; import com.hbm.blocks.test.*; import com.hbm.blocks.turret.*; import com.hbm.items.block.*; @@ -195,6 +199,7 @@ public class ModBlocks { public static Block block_bismuth; public static Block block_coltan; public static Block block_tantalium; + public static Block block_niobium; public static Block block_trinitite; public static Block block_waste; public static Block block_waste_painted; @@ -319,6 +324,12 @@ public class ModBlocks { public static Block tile_lab_cracked; public static Block tile_lab_broken; + public static Block siege_shield; + public static Block siege_internal; + public static Block siege_circuit; + public static Block siege_emergency; + public static Block siege_hole; + public static Block block_meteor; public static Block block_meteor_cobble; public static Block block_meteor_broken; @@ -1335,6 +1346,7 @@ public class ModBlocks { block_bismuth = new BlockBeaconable(Material.iron).setBlockName("block_bismuth").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(30.0F).setBlockTextureName(RefStrings.MODID + ":block_bismuth"); block_coltan = new BlockBeaconable(Material.iron).setBlockName("block_coltan").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(30.0F).setBlockTextureName(RefStrings.MODID + ":block_coltan"); block_tantalium = new BlockBeaconable(Material.iron).setBlockName("block_tantalium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(30.0F).setBlockTextureName(RefStrings.MODID + ":block_tantalium"); + block_niobium = new BlockBeaconable(Material.iron).setBlockName("block_niobium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(30.0F); block_trinitite = new BlockHazard().makeBeaconable().addRadiation(ItemHazard.trn * ItemHazard.block).toBlock().setBlockName("block_trinitite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_trinitite"); block_waste = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).addRadiation(ItemHazard.wst * ItemHazard.block).toBlock().setBlockName("block_waste").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste"); block_waste_painted = new BlockNuclearWaste().makeBeaconable().setDisplayEffect(ExtDisplayEffect.RADFOG).addRadiation(ItemHazard.wst * ItemHazard.block).toBlock().setBlockName("block_waste_painted").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_waste_painted"); @@ -1460,6 +1472,12 @@ public class ModBlocks { tile_lab_cracked = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); tile_lab_broken = new BlockOutgas(Material.rock, true, 5, true).addAsbestos(1).toBlock().setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); + siege_shield = new SiegeShield(Material.iron).setBlockName("siege_shield").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(900.0F); + siege_internal = new SiegeInternal(Material.iron).setBlockName("siege_internal").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(60.0F); + siege_circuit = new SiegeCircuit(Material.iron).setBlockName("siege_circuit").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(10.0F); + siege_emergency = new BlockBase(Material.iron).setBlockName("siege_emergency").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(20000.0F).setBlockTextureName(RefStrings.MODID + ":siege_emergency"); + siege_hole = new SiegeHole(Material.iron).setBlockName("siege_hole").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":siege_hole"); + block_meteor = new BlockOre(Material.rock).setBlockName("block_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor"); block_meteor_cobble = new BlockOre(Material.rock).setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble"); block_meteor_broken = new BlockOre(Material.rock).setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":meteor_crushed"); @@ -1551,7 +1569,7 @@ public class ModBlocks { 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"); - waste_earth = new WasteEarth(Material.ground, false).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_earth"); + waste_earth = new WasteEarth(Material.ground, true).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_earth"); waste_mycelium = new WasteEarth(Material.ground, true).setBlockName("waste_mycelium").setStepSound(Block.soundTypeGrass).setLightLevel(1F).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":waste_mycelium_side"); waste_trinitite = new BlockOre(Material.sand).setBlockName("waste_trinitite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite"); waste_trinitite_red = new BlockOre(Material.sand).setBlockName("waste_trinitite_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite_red"); @@ -1972,8 +1990,8 @@ public class ModBlocks { machine_large_turbine = new MachineLargeTurbine(Material.iron).setBlockName("machine_large_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_large_turbine"); machine_chungus = new MachineChungus(Material.iron).setBlockName("machine_chungus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chungus"); machine_condenser = new MachineCondenser(Material.iron).setBlockName("machine_condenser").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":condenser"); - machine_tower_small = new MachineTowerSmall(Material.iron).setBlockName("machine_tower_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_tower_small"); - machine_tower_large = new MachineTowerLarge(Material.iron).setBlockName("machine_tower_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_tower_large"); + machine_tower_small = new MachineTowerSmall(Material.iron).setBlockName("machine_tower_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + machine_tower_large = new MachineTowerLarge(Material.iron).setBlockName("machine_tower_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); anvil_iron = new NTMAnvil(Material.iron, 1).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); anvil_lead = new NTMAnvil(Material.iron, 1).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead"); @@ -2296,6 +2314,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_bismuth, block_bismuth.getUnlocalizedName()); GameRegistry.registerBlock(block_coltan, block_coltan.getUnlocalizedName()); GameRegistry.registerBlock(block_tantalium, block_tantalium.getUnlocalizedName()); + GameRegistry.registerBlock(block_niobium, block_niobium.getUnlocalizedName()); GameRegistry.registerBlock(block_lithium, ItemBlockHazard.class, block_lithium.getUnlocalizedName()); GameRegistry.registerBlock(block_zirconium, block_zirconium.getUnlocalizedName()); GameRegistry.registerBlock(block_white_phosphorus, ItemBlockHazard.class, block_white_phosphorus.getUnlocalizedName()); @@ -2432,6 +2451,13 @@ public class ModBlocks { GameRegistry.registerBlock(spikes, spikes.getUnlocalizedName()); GameRegistry.registerBlock(tesla, tesla.getUnlocalizedName()); + //Siege blocks + GameRegistry.registerBlock(siege_shield, ItemBlockLore.class, siege_shield.getUnlocalizedName()); + GameRegistry.registerBlock(siege_internal, ItemBlockLore.class, siege_internal.getUnlocalizedName()); + GameRegistry.registerBlock(siege_circuit, ItemBlockLore.class, siege_circuit.getUnlocalizedName()); + GameRegistry.registerBlock(siege_emergency, siege_emergency.getUnlocalizedName()); + GameRegistry.registerBlock(siege_hole, siege_hole.getUnlocalizedName()); + //Decoration Blocks GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName()); GameRegistry.registerBlock(block_meteor_cobble, block_meteor_cobble.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockBeaconable.java b/src/main/java/com/hbm/blocks/generic/BlockBeaconable.java index c19de3c68..795114523 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBeaconable.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBeaconable.java @@ -1,10 +1,11 @@ package com.hbm.blocks.generic; -import net.minecraft.block.Block; +import com.hbm.blocks.BlockBase; + import net.minecraft.block.material.Material; import net.minecraft.world.IBlockAccess; -public class BlockBeaconable extends Block { +public class BlockBeaconable extends BlockBase { public BlockBeaconable(Material mat) { super(mat); diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java index 02ef03941..b2de5b355 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalOil.java @@ -13,6 +13,7 @@ import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemTool; import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.util.Vec3; import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -52,23 +53,56 @@ public class BlockCoalOil extends Block { } public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { - - if(player.getHeldItem() == null) - return; - - if(!(player.getHeldItem().getItem() instanceof ItemTool || player.getHeldItem().getItem() instanceof ItemToolAbility)) - return; - - ItemTool tool = (ItemTool) player.getHeldItem().getItem(); - - if(tool.func_150913_i() != ToolMaterial.WOOD) { - + + if(doesToolIgnite(player)) { if(world.rand.nextInt(10) == 0) world.setBlock(x, y, z, Blocks.fire); } } + public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) { + + if(!world.isRemote) + return; + + if(doesToolIgnite(player)) { + + Random rand = world.rand; + for(int i = 0; i < 15; i++) { + Vec3 vec = Vec3.createVectorHelper(1, 0, 0); + vec.rotateAroundZ((float)(Math.PI * rand.nextDouble() * 2D)); + vec.rotateAroundY((float)(Math.PI * rand.nextDouble() * 2D)); + + double dX = vec.xCoord; + double dY = vec.yCoord; + double dZ = vec.zCoord; + + if(Math.abs(dX) > 1) + dX /= Math.abs(dX); + if(Math.abs(dY) > 1) + dY /= Math.abs(dY); + if(Math.abs(dX) > 1) + dZ /= Math.abs(dZ); + + world.spawnParticle("flame", x + 0.5 + dX * 0.75, y + 0.5 + dY * 0.75, z + 0.5 + dZ * 0.75, 0.0, 0.0, 0.0); + } + } + } + public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) { world.setBlock(x, y, z, Blocks.fire); } + + private boolean doesToolIgnite(EntityPlayer player) { + + if(player.getHeldItem() == null) + return false; + + if(!(player.getHeldItem().getItem() instanceof ItemTool || player.getHeldItem().getItem() instanceof ItemToolAbility)) + return false; + + ItemTool tool = (ItemTool) player.getHeldItem().getItem(); + + return tool.func_150913_i() != ToolMaterial.WOOD; + } } diff --git a/src/main/java/com/hbm/blocks/generic/WasteEarth.java b/src/main/java/com/hbm/blocks/generic/WasteEarth.java index 53b79131c..4d63444e7 100644 --- a/src/main/java/com/hbm/blocks/generic/WasteEarth.java +++ b/src/main/java/com/hbm/blocks/generic/WasteEarth.java @@ -95,7 +95,7 @@ public class WasteEarth extends Block { @Override public void updateTick(World world, int x, int y, int z, Random rand) { - + if(this == ModBlocks.waste_mycelium && GeneralConfig.enableMycelium) { for(int i = -1; i < 2; i++) { for(int j = -1; j < 2; j++) { @@ -115,7 +115,9 @@ public class WasteEarth extends Block { if(GeneralConfig.enableAutoCleanup || (world.getBlockLightValue(x, y + 1, z) < 4 && world.getBlockLightOpacity(x, y + 1, z) > 2)) { world.setBlock(x, y, z, Blocks.dirt); - } else if(world.getBlock(x, y + 1, z) instanceof BlockMushroom) { + } + + if(world.getBlock(x, y + 1, z) instanceof BlockMushroom) { world.setBlock(x, y + 1, z, ModBlocks.mush); } } diff --git a/src/main/java/com/hbm/blocks/siege/SiegeBase.java b/src/main/java/com/hbm/blocks/siege/SiegeBase.java new file mode 100644 index 000000000..fbab5ef47 --- /dev/null +++ b/src/main/java/com/hbm/blocks/siege/SiegeBase.java @@ -0,0 +1,73 @@ +package com.hbm.blocks.siege; + +import java.util.Random; + +import com.hbm.blocks.BlockBase; +import com.hbm.blocks.ModBlocks; + +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; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public abstract class SiegeBase extends BlockBase { + + private IIcon[] icons; + + public SiegeBase(Material material, int icons) { + super(material); + this.setTickRandomly(true); + this.icons = new IIcon[icons]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + + int h = x; + h *= 433 + y; + h *= 1709 + z; + h = Math.abs(h); + + h = (h >> 6); + + return this.getIcon(h % this.icons.length, 0); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return icons[side % this.icons.length]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + + for(int i = 0; i < icons.length; i++) { + icons[i] = reg.registerIcon(this.getTextureName() + "_" + i); + } + } + + protected boolean solidNeighbors(World world, int x, int y, int z) { + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + + Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + if(b.getMaterial() == Material.air || !b.isNormalCube()) + return false; + } + + return true; + } + + protected boolean shouldReplace(Block b) { + return b != ModBlocks.siege_circuit && b != ModBlocks.siege_internal && b != ModBlocks.siege_shield; + } +} diff --git a/src/main/java/com/hbm/blocks/siege/SiegeCircuit.java b/src/main/java/com/hbm/blocks/siege/SiegeCircuit.java new file mode 100644 index 000000000..5b6db18d0 --- /dev/null +++ b/src/main/java/com/hbm/blocks/siege/SiegeCircuit.java @@ -0,0 +1,23 @@ +package com.hbm.blocks.siege; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.material.Material; +import net.minecraft.world.World; + +public class SiegeCircuit extends SiegeBase { + + public SiegeCircuit(Material material) { + super(material, 2); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + if(!this.solidNeighbors(world, x, y, z)) { + world.setBlock(x, y, z, ModBlocks.siege_emergency); + } + } +} diff --git a/src/main/java/com/hbm/blocks/siege/SiegeHole.java b/src/main/java/com/hbm/blocks/siege/SiegeHole.java new file mode 100644 index 000000000..455676223 --- /dev/null +++ b/src/main/java/com/hbm/blocks/siege/SiegeHole.java @@ -0,0 +1,43 @@ +package com.hbm.blocks.siege; + +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.BlockBase; +import com.hbm.entity.mob.siege.EntitySiegeZombie; + +import net.minecraft.block.material.Material; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class SiegeHole extends BlockBase { + + public SiegeHole(Material material) { + super(material); + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); + } + + @Override + public int tickRate(World world) { + return 90 + world.rand.nextInt(20); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); + + List list = world.getEntitiesWithinAABB(EntitySiegeZombie.class, AxisAlignedBB.getBoundingBox(x - 5, y - 2, z - 5, x + 6, y + 3, z + 6)); + + if(list.size() < 2) { + EntitySiegeZombie zomb = new EntitySiegeZombie(world); + zomb.setPositionAndRotation(x + 0.5, y + 1, z + 0.5, 0.0F, 0.0F); + zomb.onSpawnWithEgg(null); + world.spawnEntityInWorld(zomb); + } + } +} diff --git a/src/main/java/com/hbm/blocks/siege/SiegeInternal.java b/src/main/java/com/hbm/blocks/siege/SiegeInternal.java new file mode 100644 index 000000000..669d42497 --- /dev/null +++ b/src/main/java/com/hbm/blocks/siege/SiegeInternal.java @@ -0,0 +1,42 @@ +package com.hbm.blocks.siege; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class SiegeInternal extends SiegeBase { + + public SiegeInternal(Material material) { + super(material, 2); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + //if exposed to air, harden + if(!this.solidNeighbors(world, x, y, z)) { + world.setBlock(x, y, z, ModBlocks.siege_emergency); + return; + } + + int succ = 0; + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + + Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + //if the bordering block is either an internal or a circuit, increment + if(b == this || b == ModBlocks.siege_circuit) { + succ++; + } + } + + //all neighbors are internals or circuits? turn into a circuit + if(succ == 6) + world.setBlock(x, y, z, ModBlocks.siege_circuit); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/siege/SiegeShield.java b/src/main/java/com/hbm/blocks/siege/SiegeShield.java new file mode 100644 index 000000000..3499e222e --- /dev/null +++ b/src/main/java/com/hbm/blocks/siege/SiegeShield.java @@ -0,0 +1,53 @@ +package com.hbm.blocks.siege; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class SiegeShield extends SiegeBase { + + public SiegeShield(Material material) { + super(material, 4); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + int succ = 0; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + + Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + + //if the block is already a siege block, do nothing and increment the success counter + if(!this.shouldReplace(b)) { + succ++; + + //...if not, check if a new shield can be placed, and try to do so + } else if(this.solidNeighbors(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ)) { + succ++; + world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, this); + } + } + + //if all the blocks are siege blocks now, replace with an internal + if(succ == 6) { + world.setBlock(x, y, z, ModBlocks.siege_internal); + + if(rand.nextInt(10) == 0) { + Block above = world.getBlock(x, y + 2, z); + Block surface = world.getBlock(x, y + 3, z); + + //if the block above the upper shield is solid and *above that* is air, place a hole + if(above.getMaterial() != Material.air && above.isNormalCube() && (surface.getMaterial() == Material.air || !surface.isNormalCube())) { + world.setBlock(x, y + 2, z, ModBlocks.siege_hole); + } + } + } + } +} diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 067adf7a9..485ae0dbc 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -38,6 +38,7 @@ public class MineralRecipes { add1To9Pair(ModBlocks.block_smore, ModItems.ingot_smore); add1To9Pair(ModItems.nuclear_waste_vitrified, ModItems.nuclear_waste_vitrified_tiny); add1To9Pair(ModBlocks.block_waste_vitrified, ModItems.nuclear_waste_vitrified); + add1To9Pair(ModBlocks.block_niobium, ModItems.ingot_niobium); addMineralSet(ModItems.nugget_bismuth, ModItems.ingot_bismuth, ModBlocks.block_bismuth); addMineralSet(ModItems.nugget_tantalium, ModItems.ingot_tantalium, ModBlocks.block_tantalium); diff --git a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java index 08d4a0daa..f0dd248ff 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java +++ b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java @@ -7,30 +7,33 @@ import com.hbm.world.feature.Meteorite; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.init.Blocks; +import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -public class EntityMeteor extends EntityThrowable { +public class EntityMeteor extends Entity { public EntityMeteor(World p_i1582_1_) { super(p_i1582_1_); this.ignoreFrustumCheck = true; this.isImmuneToFire = true; + this.setSize(4F, 4F); } @Override public void onUpdate() { - this.moveEntity(motionX, motionY, motionZ); + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; this.motionY -= 0.03; if(motionY < -2.5) motionY = -2.5; + + this.moveEntity(motionX, motionY, motionZ); - if(!this.worldObj.isRemote && this.onGround) { + if(!this.worldObj.isRemote && this.onGround && this.posY < 260) { worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5 + rand.nextFloat(), true); if(GeneralConfig.enableMeteorTails) { @@ -61,11 +64,6 @@ public class EntityMeteor extends EntityThrowable { } } - @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - - } - @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { @@ -82,4 +80,13 @@ public class EntityMeteor extends EntityThrowable { public float getBrightness(float p_70013_1_) { return 1.0F; } + + @Override + protected void entityInit() { } + + @Override + protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { } + + @Override + protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { } } diff --git a/src/main/java/com/hbm/inventory/AnvilRecipes.java b/src/main/java/com/hbm/inventory/AnvilRecipes.java index 1036fa3ac..6c3216c67 100644 --- a/src/main/java/com/hbm/inventory/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/AnvilRecipes.java @@ -159,6 +159,22 @@ public class AnvilRecipes { new ComparableStack(ModItems.circuit_aluminium, 1 * ukModifier) }, new AnvilOutput(new ItemStack(ModBlocks.machine_assembler))).setTier(2)); + + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new ComparableStack(ModBlocks.brick_concrete, 64), + new ComparableStack(Blocks.iron_bars, 128), + new ComparableStack(ModBlocks.machine_condenser, 5), + }, + new AnvilOutput(new ItemStack(ModBlocks.machine_tower_small))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new ComparableStack(ModBlocks.concrete_smooth, 128), + new ComparableStack(ModBlocks.steel_scaffold, 32), + new ComparableStack(ModBlocks.machine_condenser, 25), + new ComparableStack(ModItems.pipes_steel, 2) + }, + new AnvilOutput(new ItemStack(ModBlocks.machine_tower_large))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { @@ -262,6 +278,7 @@ public class AnvilRecipes { {ModItems.ammo_50bmg_du, ModItems.ingot_starmetal, ModItems.ammo_50bmg_star, 10, 3}, {ModItems.ammo_50bmg, ModItems.pellet_chlorophyte, ModItems.ammo_50bmg_chlorophyte, 10, 3}, {ModItems.ammo_50bmg, ModItems.coin_maskman, ModItems.ammo_50bmg_sleek, 100, 4}, + {ModItems.ammo_50bmg, ModItems.pellet_flechette, ModItems.ammo_50bmg_flechette, 20, 2}, {ModItems.ammo_50bmg_flechette, ModItems.nugget_am_mix, ModItems.ammo_50bmg_flechette_am, 10, 3}, {ModItems.ammo_50bmg_flechette, ModItems.powder_polonium, ModItems.ammo_50bmg_flechette_po, 20, 3}, @@ -449,7 +466,7 @@ public class AnvilRecipes { new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.billet_ra226be, 3)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 2))}).setTier(3)); constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModItems.pile_rod_boron), - new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_boron, 3)), new AnvilOutput(new ItemStack(Items.stick, 2))}).setTier(3)); + new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_boron, 2)), new AnvilOutput(new ItemStack(Items.stick, 2))}).setTier(3)); } public static void pullFromAssembler(ComparableStack result, int tier) { diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 5baff27e7..603c7f738 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -5,301 +5,104 @@ import com.hbm.config.GeneralConfig; import com.hbm.interfaces.Untested; import com.hbm.items.ModItems; +import net.minecraft.block.Block; import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraftforge.oredict.OreDictionary; public class OreDictManager { public static void registerOres() { - - OreDictionary.registerOre("ingotUranium", ModItems.ingot_uranium); - OreDictionary.registerOre("ingotUranium233", ModItems.ingot_u233); - OreDictionary.registerOre("ingotUranium235", ModItems.ingot_u235); - OreDictionary.registerOre("ingotUranium238", ModItems.ingot_u238); - OreDictionary.registerOre("ingotThorium", ModItems.ingot_th232); - OreDictionary.registerOre("ingotThorium232", ModItems.ingot_th232); - OreDictionary.registerOre("ingotPlutonium", ModItems.ingot_plutonium); - OreDictionary.registerOre("ingotPlutonium238", ModItems.ingot_pu238); - OreDictionary.registerOre("ingotPlutonium239", ModItems.ingot_pu239); - OreDictionary.registerOre("ingotPlutonium240", ModItems.ingot_pu240); - OreDictionary.registerOre("ingotPlutonium241", ModItems.ingot_pu241); - OreDictionary.registerOre("ingotAmericium241", ModItems.ingot_am241); - OreDictionary.registerOre("ingotAmericium242", ModItems.ingot_am242); - OreDictionary.registerOre("ingotNeptunium237", ModItems.ingot_neptunium); - OreDictionary.registerOre("ingotTechnetium99", ModItems.ingot_technetium); - OreDictionary.registerOre("U233", ModItems.ingot_u233); - OreDictionary.registerOre("U235", ModItems.ingot_u235); - OreDictionary.registerOre("U238", ModItems.ingot_u238); - OreDictionary.registerOre("Th232", ModItems.ingot_th232); - OreDictionary.registerOre("Pu238", ModItems.ingot_pu238); - OreDictionary.registerOre("Pu239", ModItems.ingot_pu239); - OreDictionary.registerOre("Pu240", ModItems.ingot_pu240); - OreDictionary.registerOre("Pu241", ModItems.ingot_pu241); - OreDictionary.registerOre("Am241", ModItems.ingot_am241); - OreDictionary.registerOre("Am242", ModItems.ingot_am242); - OreDictionary.registerOre("Np237", ModItems.ingot_neptunium); - OreDictionary.registerOre("ingotPolonium", ModItems.ingot_polonium); - OreDictionary.registerOre("ingotSchrabidium", ModItems.ingot_schrabidium); - OreDictionary.registerOre("ingotTitanium", ModItems.ingot_titanium); - OreDictionary.registerOre("ingotSteel", ModItems.ingot_steel); - OreDictionary.registerOre("ingotCopper", ModItems.ingot_copper); - OreDictionary.registerOre("ingotMingrade", ModItems.ingot_red_copper); - OreDictionary.registerOre("ingotAdvanced", ModItems.ingot_advanced_alloy); - OreDictionary.registerOre("ingotAdvancedAlloy", ModItems.ingot_advanced_alloy); - OreDictionary.registerOre("ingotTungsten", ModItems.ingot_tungsten); - OreDictionary.registerOre("ingotAluminum", ModItems.ingot_aluminium); - OreDictionary.registerOre("ingotBeryllium", ModItems.ingot_beryllium); - OreDictionary.registerOre("ingotCobalt", ModItems.ingot_cobalt); - OreDictionary.registerOre("ingotLead", ModItems.ingot_lead); - OreDictionary.registerOre("ingotLithium", ModItems.lithium); - OreDictionary.registerOre("ingotMagnetizedTungsten", ModItems.ingot_magnetized_tungsten); - OreDictionary.registerOre("ingotCMBSteel", ModItems.ingot_combine_steel); - OreDictionary.registerOre("ingotAustralium", ModItems.ingot_australium); - OreDictionary.registerOre("ingotDuraSteel", ModItems.ingot_dura_steel); - OreDictionary.registerOre("ingotPolymer", ModItems.ingot_polymer); - OreDictionary.registerOre("ingotLanthanium", ModItems.ingot_lanthanium); - OreDictionary.registerOre("ingotActinium", ModItems.ingot_actinium); - OreDictionary.registerOre("ingotDesh", ModItems.ingot_desh); - OreDictionary.registerOre("ingotSaturnite", ModItems.ingot_saturnite); - OreDictionary.registerOre("ingotEuphemium", ModItems.ingot_euphemium); - OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium); - OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal); - OreDictionary.registerOre("ingotAsbestos", ModItems.ingot_asbestos); - OreDictionary.registerOre("ingotZirconium", ModItems.ingot_zirconium); - OreDictionary.registerOre("ingotBoron", ModItems.ingot_boron); - OreDictionary.registerOre("ingotTcAlloy", ModItems.ingot_tcalloy); - OreDictionary.registerOre("ingotGold198", ModItems.ingot_au198); - OreDictionary.registerOre("ingotColtan", ModItems.fragment_coltan); - OreDictionary.registerOre("ingotTantalum", ModItems.ingot_tantalium); - OreDictionary.registerOre("ingotNiobium", ModItems.ingot_niobium); - - OreDictionary.registerOre("crystalCinnabar", ModItems.cinnebar); - OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead); - OreDictionary.registerOre("nuggetBeryllium", ModItems.nugget_beryllium); - OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium); - OreDictionary.registerOre("nuggetUranium233", ModItems.nugget_u233); - OreDictionary.registerOre("nuggetUranium235", ModItems.nugget_u235); - OreDictionary.registerOre("nuggetUranium238", ModItems.nugget_u238); - OreDictionary.registerOre("nuggetThorium", ModItems.nugget_th232); - OreDictionary.registerOre("nuggetThorium232", ModItems.nugget_th232); - OreDictionary.registerOre("nuggetPlutonium", ModItems.nugget_plutonium); - OreDictionary.registerOre("nuggetPlutonium238", ModItems.nugget_pu238); - OreDictionary.registerOre("nuggetPlutonium239", ModItems.nugget_pu239); - OreDictionary.registerOre("nuggetPlutonium240", ModItems.nugget_pu240); - OreDictionary.registerOre("nuggetPlutonium241", ModItems.nugget_pu241); - OreDictionary.registerOre("nuggetAmericium241", ModItems.nugget_am241); - OreDictionary.registerOre("nuggetAmericium242", ModItems.nugget_am242); - OreDictionary.registerOre("nuggetAustralium", ModItems.nugget_australium); - OreDictionary.registerOre("nuggetEuphemium", ModItems.nugget_euphemium); - OreDictionary.registerOre("nuggetNeptunium237", ModItems.nugget_neptunium); - OreDictionary.registerOre("nuggetTechnetium99", ModItems.nugget_technetium); - OreDictionary.registerOre("nuggetPolonium", ModItems.nugget_polonium); - OreDictionary.registerOre("nuggetSchrabidium", ModItems.nugget_schrabidium); - OreDictionary.registerOre("nuggetZirconium", ModItems.nugget_zirconium); - OreDictionary.registerOre("nuggetRadium226", ModItems.nugget_ra226); - OreDictionary.registerOre("nuggetGold198", ModItems.nugget_au198); - OreDictionary.registerOre("tinyU233", ModItems.nugget_u233); - OreDictionary.registerOre("tinyU235", ModItems.nugget_u235); - OreDictionary.registerOre("tinyU238", ModItems.nugget_u238); - OreDictionary.registerOre("tinyTh232", ModItems.nugget_th232); - OreDictionary.registerOre("tinyPu238", ModItems.nugget_pu238); - OreDictionary.registerOre("tinyPu239", ModItems.nugget_pu239); - OreDictionary.registerOre("tinyPu240", ModItems.nugget_pu240); - OreDictionary.registerOre("tinyPu241", ModItems.nugget_pu241); - OreDictionary.registerOre("tinyAm241", ModItems.nugget_am241); - OreDictionary.registerOre("tinyAm242", ModItems.nugget_am242); - OreDictionary.registerOre("tinyNp237", ModItems.nugget_neptunium); - OreDictionary.registerOre("tinyTc99", ModItems.nugget_technetium); - OreDictionary.registerOre("tinyRa226", ModItems.nugget_ra226); - - OreDictionary.registerOre("nuggetNeodymium", ModItems.fragment_neodymium); - OreDictionary.registerOre("nuggetCobalt", ModItems.fragment_cobalt); - OreDictionary.registerOre("nuggetNiobium", ModItems.fragment_niobium); - OreDictionary.registerOre("nuggetCerium", ModItems.fragment_cerium); - OreDictionary.registerOre("nuggetLanthanium", ModItems.fragment_lanthanium); - OreDictionary.registerOre("nuggetActinium", ModItems.fragment_actinium); - OreDictionary.registerOre("nuggetBoron", ModItems.fragment_boron); - OreDictionary.registerOre("nuggetTantalum", ModItems.nugget_tantalium); + new DictFrame("Coal").gem(Items.coal).dustSmall(ModItems.powder_coal_tiny).dust(ModItems.powder_coal); + new DictFrame("Iron").plate(ModItems.plate_iron).dust(ModItems.powder_iron).ore(ModBlocks.ore_gneiss_iron); + new DictFrame("Gold").plate(ModItems.plate_gold).dust(ModItems.powder_gold).ore(ModBlocks.ore_gneiss_gold); + new DictFrame("Lapis").dust(ModItems.powder_lapis); + new DictFrame("NetherQuartz").gem(Items.quartz).dust(ModItems.powder_quartz); + new DictFrame("Diamond").dust(ModItems.powder_diamond).ore(ModBlocks.gravel_diamond); + new DictFrame("Emerald").dust(ModItems.powder_emerald); - OreDictionary.registerOre("dustIron", ModItems.powder_iron); - OreDictionary.registerOre("dustGold", ModItems.powder_gold); - OreDictionary.registerOre("dustUranium", ModItems.powder_uranium); - OreDictionary.registerOre("dustThorium", ModItems.powder_thorium); - OreDictionary.registerOre("dustPlutonium", ModItems.powder_plutonium); - OreDictionary.registerOre("dustTitanium", ModItems.powder_titanium); - OreDictionary.registerOre("dustTungsten", ModItems.powder_tungsten); - OreDictionary.registerOre("dustCopper", ModItems.powder_copper); - OreDictionary.registerOre("dustBeryllium", ModItems.powder_beryllium); - OreDictionary.registerOre("dustAluminum", ModItems.powder_aluminium); - OreDictionary.registerOre("dustDiamond", ModItems.powder_diamond); - OreDictionary.registerOre("dustEmerald", ModItems.powder_emerald); - OreDictionary.registerOre("dustLapis", ModItems.powder_lapis); - OreDictionary.registerOre("dustCoal", ModItems.powder_coal); - OreDictionary.registerOre("dustLignite", ModItems.powder_lignite); - OreDictionary.registerOre("dustAdvanced", ModItems.powder_advanced_alloy); - OreDictionary.registerOre("dustAdvancedAlloy", ModItems.powder_advanced_alloy); - OreDictionary.registerOre("dustCMBSteel", ModItems.powder_combine_steel); - OreDictionary.registerOre("dustMagnetizedTungsten", ModItems.powder_magnetized_tungsten); - OreDictionary.registerOre("dustMingrade", ModItems.powder_red_copper); - OreDictionary.registerOre("dustSteel", ModItems.powder_steel); - OreDictionary.registerOre("dustLithium", ModItems.powder_lithium); - OreDictionary.registerOre("dustNetherQuartz", ModItems.powder_quartz); - OreDictionary.registerOre("dustAustralium", ModItems.powder_australium); - OreDictionary.registerOre("dustDuraSteel", ModItems.powder_dura_steel); - OreDictionary.registerOre("dustPolymer", ModItems.powder_polymer); - OreDictionary.registerOre("dustLanthanium", ModItems.powder_lanthanium); - OreDictionary.registerOre("dustActinium", ModItems.powder_actinium); - OreDictionary.registerOre("dustDesh", ModItems.powder_desh); - OreDictionary.registerOre("dustEuphemium", ModItems.powder_euphemium); - OreDictionary.registerOre("dustDineutronium", ModItems.powder_dineutronium); - OreDictionary.registerOre("dustSchrabidium", ModItems.powder_schrabidium); - OreDictionary.registerOre("dustSulfur", ModItems.sulfur); - OreDictionary.registerOre("dustNiter", ModItems.niter); - OreDictionary.registerOre("dustSaltpeter", ModItems.niter); - OreDictionary.registerOre("dustLead", ModItems.powder_lead); - OreDictionary.registerOre("dustNeptunium237", ModItems.powder_neptunium); - OreDictionary.registerOre("dustPolonium", ModItems.powder_polonium); - OreDictionary.registerOre("dustAsbestos", ModItems.powder_asbestos); - OreDictionary.registerOre("dustPhosphorus", ModItems.powder_fire); - OreDictionary.registerOre("dustZirconium", ModItems.powder_zirconium); - OreDictionary.registerOre("dustBoron", ModItems.powder_boron); - OreDictionary.registerOre("dustTcAlloy", ModItems.powder_tcalloy); - OreDictionary.registerOre("dustGol198", ModItems.powder_au198); - OreDictionary.registerOre("dustColtan", ModItems.powder_coltan_ore); - OreDictionary.registerOre("dustTantalum", ModItems.powder_tantalium); + new DictFrame("Uranium").nugget(ModItems.nugget_uranium).billet(ModItems.billet_uranium).ingot(ModItems.ingot_uranium).dust(ModItems.powder_uranium).block(ModBlocks.block_uranium) + .ore(ModBlocks.ore_uranium, ModBlocks.ore_uranium_scorched, ModBlocks.ore_gneiss_uranium, ModBlocks.ore_gneiss_uranium_scorched, ModBlocks.ore_nether_uranium, ModBlocks.ore_nether_uranium_scorched, ModBlocks.ore_meteor_uranium); + new DictFrame("Uranium233", "U233").nugget(ModItems.nugget_u233).billet(ModItems.billet_u233).ingot(ModItems.ingot_u233).block(ModBlocks.block_u233); + new DictFrame("Uranium235", "U235").nugget(ModItems.nugget_u235).billet(ModItems.billet_u235).ingot(ModItems.ingot_u235).block(ModBlocks.block_u235); + new DictFrame("Uranium238", "U238").nugget(ModItems.nugget_u238).billet(ModItems.billet_u238).ingot(ModItems.ingot_u238).block(ModBlocks.block_u238); + new DictFrame("Thorium232", "Th232").nugget(ModItems.nugget_th232).billet(ModItems.billet_th232).ingot(ModItems.ingot_th232).dust(ModItems.powder_thorium).block(ModBlocks.block_thorium).ore(ModBlocks.ore_thorium, ModBlocks.ore_meteor_thorium); + new DictFrame("Plutonium").nugget(ModItems.nugget_plutonium).billet(ModItems.billet_plutonium).ingot(ModItems.ingot_plutonium).dust(ModItems.powder_plutonium).block(ModBlocks.block_plutonium).ore(ModBlocks.ore_nether_plutonium); + new DictFrame("Plutonium238", "Pu238").nugget(ModItems.nugget_pu238).billet(ModItems.billet_pu238).ingot(ModItems.ingot_pu238).block(ModBlocks.block_pu238); + new DictFrame("Plutonium239", "Pu239").nugget(ModItems.nugget_pu239).billet(ModItems.billet_pu239).ingot(ModItems.ingot_pu239).block(ModBlocks.block_pu239); + new DictFrame("Plutonium240", "Pu240").nugget(ModItems.nugget_pu240).billet(ModItems.billet_pu240).ingot(ModItems.ingot_pu240).block(ModBlocks.block_pu240); + new DictFrame("Plutonium241", "Pu241").nugget(ModItems.nugget_pu241).billet(ModItems.billet_pu241).ingot(ModItems.ingot_pu241);//.block(ModBlocks.block_pu241); + new DictFrame("Americium241", "Am241").nugget(ModItems.nugget_am241).billet(ModItems.billet_am241).ingot(ModItems.ingot_am241); + new DictFrame("Americium242", "Am242").nugget(ModItems.nugget_am242).billet(ModItems.billet_am242).ingot(ModItems.ingot_am242); + new DictFrame("Neptunium237", "Np237").nugget(ModItems.nugget_neptunium).billet(ModItems.billet_neptunium).ingot(ModItems.ingot_neptunium).dust(ModItems.powder_neptunium).block(ModBlocks.block_neptunium); + new DictFrame("Polonium210", "Po210").nugget(ModItems.nugget_polonium).billet(ModItems.billet_polonium).ingot(ModItems.ingot_polonium).dust(ModItems.powder_polonium).block(ModBlocks.block_polonium); + new DictFrame("Technetium99", "Tc99").nugget(ModItems.nugget_technetium).billet(ModItems.billet_technetium).ingot(ModItems.ingot_technetium); + new DictFrame("Radium226", "Ra226").nugget(ModItems.nugget_ra226); + new DictFrame("Cobalt60", "Co60").nugget(ModItems.nugget_co60).billet(ModItems.billet_co60).ingot(ModItems.ingot_co60).dust(ModItems.powder_co60); + new DictFrame("Gold198", "Au198").nugget(ModItems.nugget_au198).billet(ModItems.billet_au198).ingot(ModItems.ingot_au198).dust(ModItems.powder_au198); + new DictFrame("Titanium").ingot(ModItems.ingot_titanium).dust(ModItems.powder_titanium).plate(ModItems.plate_titanium).block(ModBlocks.block_titanium).ore(ModBlocks.ore_titanium, ModBlocks.ore_meteor_titanium); + new DictFrame("Copper").ingot(ModItems.ingot_copper).dust(ModItems.powder_copper).plate(ModItems.plate_copper).block(ModBlocks.block_copper).ore(ModBlocks.ore_copper, ModBlocks.ore_gneiss_copper, ModBlocks.ore_meteor_copper); + new DictFrame("Mingrade").ingot(ModItems.ingot_red_copper).dust(ModItems.powder_red_copper).plate(ModItems.plate_advanced_alloy).block(ModBlocks.block_red_copper); + new DictFrame("AdvancedAlloy").ingot(ModItems.ingot_advanced_alloy).dust(ModItems.powder_advanced_alloy).block(ModBlocks.block_advanced_alloy); + new DictFrame("Tungsten").ingot(ModItems.ingot_tungsten).dust(ModItems.powder_tungsten).block(ModBlocks.block_tungsten).ore(ModBlocks.ore_tungsten, ModBlocks.ore_nether_tungsten, ModBlocks.ore_meteor_tungsten); + new DictFrame("Aluminum").ingot(ModItems.ingot_aluminium).dust(ModItems.powder_aluminium).plate(ModItems.plate_aluminium).block(ModBlocks.block_aluminium).ore(ModBlocks.ore_aluminium, ModBlocks.ore_meteor_aluminium); + new DictFrame("Steel").ingot(ModItems.ingot_steel).dustSmall(ModItems.powder_steel_tiny).dust(ModItems.powder_steel).plate(ModItems.plate_steel).block(ModBlocks.block_steel); + new DictFrame("TcAlloy").ingot(ModItems.ingot_tcalloy).dust(ModItems.powder_tcalloy); + new DictFrame("Lead").nugget(ModItems.nugget_lead).ingot(ModItems.ingot_lead).dust(ModItems.powder_lead).plate(ModItems.plate_lead).block(ModBlocks.block_lead).ore(ModBlocks.ore_lead, ModBlocks.ore_meteor_lead); + //new DictFrame("Bismuth").nugget(ModItems.nugget_bismuth).ingot(ModItems.ingot_bismuth); THAT'S WHAT YOU THOUGHT! + new DictFrame("Tantalum").nugget(ModItems.nugget_tantalium).gem(ModItems.gem_tantalium).ingot(ModItems.ingot_tantalium).dust(ModItems.powder_tantalium).block(ModBlocks.block_tantalium); + new DictFrame("Coltan").ingot(ModItems.fragment_coltan).dust(ModItems.powder_coltan_ore).block(ModBlocks.block_coltan).ore(ModBlocks.ore_coltan); + new DictFrame("Niobium").nugget(ModItems.fragment_niobium).ingot(ModItems.ingot_niobium).dustSmall(ModItems.powder_niobium_tiny).dust(ModItems.powder_niobium).block(ModBlocks.block_niobium); + new DictFrame("Beryllium").nugget(ModItems.nugget_beryllium).ingot(ModItems.ingot_beryllium).dust(ModItems.powder_beryllium).block(ModBlocks.block_beryllium).ore(ModBlocks.ore_beryllium); + new DictFrame("Cobalt").nugget(ModItems.fragment_cobalt).ingot(ModItems.ingot_cobalt).dustSmall(ModItems.powder_cobalt_tiny).dust(ModItems.powder_cobalt).block(ModBlocks.block_cobalt).ore(ModBlocks.ore_cobalt, ModBlocks.ore_nether_cobalt); + new DictFrame("Boron").nugget(ModItems.fragment_boron).ingot(ModItems.ingot_boron).dustSmall(ModItems.powder_boron_tiny).dust(ModItems.powder_boron).block(ModBlocks.block_boron); + new DictFrame("Graphite").ingot(ModItems.ingot_graphite).block(ModBlocks.block_graphite); + new DictFrame("DuraSteel").ingot(ModItems.ingot_dura_steel).dust(ModItems.powder_dura_steel).block(ModBlocks.block_dura_steel); + new DictFrame("Polymer").ingot(ModItems.ingot_polymer).dust(ModItems.powder_polymer); + new DictFrame("Schrabidium").nugget(ModItems.nugget_schrabidium).billet(ModItems.billet_schrabidium).ingot(ModItems.ingot_schrabidium).plate(ModItems.plate_schrabidium).dust(ModItems.powder_schrabidium).block(ModBlocks.block_schrabidium).ore(ModBlocks.ore_schrabidium, ModBlocks.ore_gneiss_schrabidium, ModBlocks.ore_nether_schrabidium); + new DictFrame("Schrabidate").ingot(ModItems.ingot_schrabidate).dust(ModItems.powder_schrabidate).block(ModBlocks.block_schrabidate); + new DictFrame("MagnetizedTungsten").ingot(ModItems.ingot_magnetized_tungsten).dust(ModItems.powder_magnetized_tungsten).block(ModBlocks.block_magnetized_tungsten); + new DictFrame("CMBSteel").ingot(ModItems.ingot_combine_steel).dust(ModItems.powder_combine_steel).block(ModBlocks.block_combine_steel); + new DictFrame("Solinium").nugget(ModItems.nugget_solinium).billet(ModItems.billet_solinium).ingot(ModItems.ingot_solinium).block(ModBlocks.block_solinium); + new DictFrame("Lanthanum").nugget(ModItems.fragment_lanthanium).ingot(ModItems.ingot_lanthanium).dustSmall(ModItems.powder_lanthanium_tiny).dust(ModItems.powder_lanthanium).block(ModBlocks.block_lanthanium); + new DictFrame("Actinium").nugget(ModItems.fragment_actinium).ingot(ModItems.ingot_actinium).dustSmall(ModItems.powder_actinium_tiny).dust(ModItems.powder_actinium).block(ModBlocks.block_actinium); + new DictFrame("Desh").nugget(ModItems.nugget_desh).ingot(ModItems.ingot_desh).dust(ModItems.powder_desh).block(ModBlocks.block_desh); + new DictFrame("Starmetal").ingot(ModItems.ingot_starmetal).block(ModBlocks.block_starmetal).ore(ModBlocks.ore_meteor_starmetal); + new DictFrame("Saturnite").ingot(ModItems.ingot_saturnite).plate(ModItems.plate_saturnite); + new DictFrame("Euphemium").nugget(ModItems.nugget_euphemium).ingot(ModItems.ingot_euphemium).dust(ModItems.powder_euphemium).block(ModBlocks.block_euphemium); + new DictFrame("Dineutronium").nugget(ModItems.nugget_dineutronium).ingot(ModItems.ingot_dineutronium).dust(ModItems.powder_dineutronium).block(ModBlocks.block_dineutronium); + new DictFrame("WhitePhosphorus").ingot(ModItems.ingot_phosphorus).block(ModBlocks.block_white_phosphorus); + new DictFrame("RedPhosphorus").dust(ModItems.powder_fire).block(ModBlocks.block_red_phosphorus); + new DictFrame("Lithium").ingot(ModItems.lithium).dustSmall(ModItems.powder_lithium_tiny).dust(ModItems.powder_lithium).block(ModBlocks.block_lithium).ore(ModBlocks.ore_gneiss_lithium, ModBlocks.ore_meteor_lithium); + new DictFrame("Zirconium").nugget(ModItems.nugget_zirconium).ingot(ModItems.ingot_zirconium).dust(ModItems.powder_zirconium).block(ModBlocks.block_zirconium).ore(ModBlocks.ore_depth_zirconium); + new DictFrame("Fiberglass").ingot(ModItems.ingot_fiberglass).block(ModBlocks.block_fiberglass); + new DictFrame("Asbestos").ingot(ModItems.ingot_asbestos).dust(ModItems.powder_asbestos).block(ModBlocks.block_asbestos).ore(ModBlocks.ore_asbestos, ModBlocks.ore_gneiss_asbestos, ModBlocks.basalt_asbestos); + new DictFrame("Cinnabar").crystal(ModItems.cinnebar).gem(ModItems.cinnebar).ore(ModBlocks.ore_cinnebar, ModBlocks.ore_depth_cinnebar); + new DictFrame("Lignite").gem(ModItems.lignite).dust(ModItems.powder_lignite).ore(ModBlocks.ore_lignite); + new DictFrame("Sulfur").dust(ModItems.sulfur).block(ModBlocks.block_sulfur).ore(ModBlocks.ore_sulfur, ModBlocks.ore_nether_sulfur, ModBlocks.basalt_sulfur, ModBlocks.ore_meteor_sulfur); + new DictFrame("Niter").dust(ModItems.niter).block(ModBlocks.block_niter).ore(ModBlocks.ore_niter); + new DictFrame("Fluorite").dust(ModItems.fluorite).block(ModBlocks.block_fluorite).ore(ModBlocks.ore_fluorite, ModBlocks.basalt_fluorite); + new DictFrame("Volcanic").gem(ModItems.gem_volcanic).ore(ModBlocks.basalt_gem); - OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); - OreDictionary.registerOre("dustIodine", ModItems.powder_iodine); - OreDictionary.registerOre("dustThorium", ModItems.powder_thorium); - OreDictionary.registerOre("dustAstatine", ModItems.powder_astatine); - OreDictionary.registerOre("dustNeodymium", ModItems.powder_neodymium); - OreDictionary.registerOre("dustCaesium", ModItems.powder_caesium); - OreDictionary.registerOre("dustStrontium", ModItems.powder_strontium); - OreDictionary.registerOre("dustCobalt", ModItems.powder_cobalt); - OreDictionary.registerOre("dustBromine", ModItems.powder_bromine); - OreDictionary.registerOre("dustNiobium", ModItems.powder_niobium); - OreDictionary.registerOre("dustTennessine", ModItems.powder_tennessine); - OreDictionary.registerOre("dustCerium", ModItems.powder_cerium); + new DictFrame("Australium").nugget(ModItems.nugget_australium).billet(ModItems.billet_australium).ingot(ModItems.ingot_australium).dust(ModItems.powder_australium).block(ModBlocks.block_australium).ore(ModBlocks.ore_australium); + new DictFrame("Reiium").nugget(ModItems.nugget_reiium).ingot(ModItems.ingot_reiium).dust(ModItems.powder_reiium).block(ModBlocks.block_reiium).ore(ModBlocks.ore_reiium); + new DictFrame("Weidanium").nugget(ModItems.nugget_weidanium).ingot(ModItems.ingot_weidanium).dust(ModItems.powder_weidanium).block(ModBlocks.block_weidanium).ore(ModBlocks.ore_weidanium); + new DictFrame("Unobtainium").nugget(ModItems.nugget_unobtainium).ingot(ModItems.ingot_unobtainium).dust(ModItems.powder_unobtainium).block(ModBlocks.block_unobtainium).ore(ModBlocks.ore_unobtainium); + new DictFrame("Verticium").nugget(ModItems.nugget_verticium).ingot(ModItems.ingot_verticium).dust(ModItems.powder_verticium).block(ModBlocks.block_verticium).ore(ModBlocks.ore_verticium); + new DictFrame("Daffergon").nugget(ModItems.nugget_daffergon).ingot(ModItems.ingot_daffergon).dust(ModItems.powder_daffergon).block(ModBlocks.block_daffergon).ore(ModBlocks.ore_daffergon); + + new DictFrame("Neodymium").nugget(ModItems.fragment_neodymium).dustSmall(ModItems.powder_neodymium_tiny).dust(ModItems.powder_neodymium).ore(ModBlocks.ore_depth_nether_neodymium); + new DictFrame("Cerium").nugget(ModItems.fragment_cerium).dustSmall(ModItems.powder_cerium_tiny).dust(ModItems.powder_cerium); + new DictFrame("Iodine").dust(ModItems.powder_iodine); + new DictFrame("Astatine").dust(ModItems.powder_astatine); + + new DictFrame("Iodine131", "I131").dustSmall(ModItems.powder_i131_tiny).dust(ModItems.powder_i131); + new DictFrame("Xenon135", "Xe135").dustSmall(ModItems.powder_xe135_tiny).dust(ModItems.powder_xe135); + new DictFrame("Caesium137", "Cs137").dustSmall(ModItems.powder_cs137_tiny).dust(ModItems.powder_cs137); + new DictFrame("Astatine209", "At209").dust(ModItems.powder_at209); - OreDictionary.registerOre("gemCoal", Items.coal); - OreDictionary.registerOre("gemLignite", ModItems.lignite); - OreDictionary.registerOre("dustFluorite", ModItems.fluorite); - OreDictionary.registerOre("gemTantalum", ModItems.gem_tantalium); - - OreDictionary.registerOre("plateTitanium", ModItems.plate_titanium); - OreDictionary.registerOre("plateAluminum", ModItems.plate_aluminium); OreDictionary.registerOre(getReflector(), ModItems.neutron_reflector); - OreDictionary.registerOre("plateSteel", ModItems.plate_steel); - OreDictionary.registerOre("plateLead", ModItems.plate_lead); - OreDictionary.registerOre("plateCopper", ModItems.plate_copper); - OreDictionary.registerOre("plateIron", ModItems.plate_iron); - OreDictionary.registerOre("plateGold", ModItems.plate_gold); - OreDictionary.registerOre("plateAdvanced", ModItems.plate_advanced_alloy); - OreDictionary.registerOre("plateAdvancedAlloy", ModItems.plate_advanced_alloy); - OreDictionary.registerOre("plateSchrabidium", ModItems.plate_schrabidium); - OreDictionary.registerOre("plateCMBSteel", ModItems.plate_combine_steel); - OreDictionary.registerOre("plateSaturnite", ModItems.plate_saturnite); - - OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium); - OreDictionary.registerOre("oreUranium", ModBlocks.ore_uranium_scorched); - OreDictionary.registerOre("oreThorium", ModBlocks.ore_thorium); - OreDictionary.registerOre("oreTitanium", ModBlocks.ore_titanium); - OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_schrabidium); - OreDictionary.registerOre("oreSulfur", ModBlocks.ore_sulfur); - OreDictionary.registerOre("oreNiter", ModBlocks.ore_niter); - OreDictionary.registerOre("oreSaltpeter", ModBlocks.ore_niter); - OreDictionary.registerOre("oreCopper", ModBlocks.ore_copper); - OreDictionary.registerOre("oreTungsten", ModBlocks.ore_tungsten); - OreDictionary.registerOre("oreAluminum", ModBlocks.ore_aluminium); - OreDictionary.registerOre("oreFluorite", ModBlocks.ore_fluorite); - OreDictionary.registerOre("oreLead", ModBlocks.ore_lead); - OreDictionary.registerOre("oreBeryllium", ModBlocks.ore_beryllium); - OreDictionary.registerOre("oreLignite", ModBlocks.ore_lignite); - OreDictionary.registerOre("oreAustralium", ModBlocks.ore_australium); - OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_rare); - OreDictionary.registerOre("oreZirconium", ModBlocks.ore_depth_zirconium); - OreDictionary.registerOre("oreColtan", ModBlocks.ore_coltan); - OreDictionary.registerOre("oreCobalt", ModBlocks.ore_cobalt); - - OreDictionary.registerOre("oreIron", ModBlocks.ore_gneiss_iron); - OreDictionary.registerOre("oreGold", ModBlocks.ore_gneiss_gold); - OreDictionary.registerOre("oreUranium", ModBlocks.ore_gneiss_uranium); - OreDictionary.registerOre("oreUranium", ModBlocks.ore_gneiss_uranium_scorched); - OreDictionary.registerOre("oreCopper", ModBlocks.ore_gneiss_copper); - OreDictionary.registerOre("oreAsbestos", ModBlocks.ore_gneiss_asbestos); - OreDictionary.registerOre("oreLithium", ModBlocks.ore_gneiss_lithium); - OreDictionary.registerOre("oreRareEarth", ModBlocks.ore_gneiss_rare); - OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_gneiss_schrabidium); - - OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium); - OreDictionary.registerOre("oreUranium", ModBlocks.ore_nether_uranium_scorched); - OreDictionary.registerOre("orePlutonium", ModBlocks.ore_nether_plutonium); - OreDictionary.registerOre("oreTungsten", ModBlocks.ore_nether_tungsten); - OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur); - OreDictionary.registerOre("oreCobalt", ModBlocks.ore_nether_cobalt); - OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium); - - OreDictionary.registerOre("oreUranium", ModBlocks.ore_meteor_uranium); - OreDictionary.registerOre("oreThorium", ModBlocks.ore_meteor_thorium); - OreDictionary.registerOre("oreTitanium", ModBlocks.ore_meteor_titanium); - OreDictionary.registerOre("oreSulfur", ModBlocks.ore_meteor_sulfur); - OreDictionary.registerOre("oreCopper", ModBlocks.ore_meteor_copper); - OreDictionary.registerOre("oreTungsten", ModBlocks.ore_meteor_tungsten); - OreDictionary.registerOre("oreAluminum", ModBlocks.ore_meteor_aluminium); - OreDictionary.registerOre("oreLead", ModBlocks.ore_meteor_lead); - OreDictionary.registerOre("oreLithium", ModBlocks.ore_meteor_lithium); - OreDictionary.registerOre("oreStarmetal", ModBlocks.ore_meteor_starmetal); - OreDictionary.registerOre("oreAsbestos", ModBlocks.ore_asbestos); - OreDictionary.registerOre("oreCinnabar", ModBlocks.ore_cinnebar); - - OreDictionary.registerOre("oreSulfur", ModBlocks.basalt_sulfur); - OreDictionary.registerOre("oreAsbestos", ModBlocks.basalt_asbestos); - - OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium); - OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium); - OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium); - OreDictionary.registerOre("blockSulfur", ModBlocks.block_sulfur); - OreDictionary.registerOre("blockNiter", ModBlocks.block_niter); - OreDictionary.registerOre("blockSaltpeter", ModBlocks.block_niter); - OreDictionary.registerOre("blockCopper", ModBlocks.block_copper); - OreDictionary.registerOre("blockMingrade", ModBlocks.block_red_copper); - OreDictionary.registerOre("blockAdvanced", ModBlocks.block_advanced_alloy); - OreDictionary.registerOre("blockAdvancedAlloy", ModBlocks.block_advanced_alloy); - OreDictionary.registerOre("blockTungsten", ModBlocks.block_tungsten); - OreDictionary.registerOre("blockAluminum", ModBlocks.block_aluminium); - OreDictionary.registerOre("blockFluorite", ModBlocks.block_fluorite); - OreDictionary.registerOre("blockSteel", ModBlocks.block_steel); - OreDictionary.registerOre("blockLead", ModBlocks.block_lead); - OreDictionary.registerOre("blockBeryllium", ModBlocks.block_beryllium); - OreDictionary.registerOre("blockSchrabidium", ModBlocks.block_schrabidium); - OreDictionary.registerOre("blockCMBSteel", ModBlocks.block_combine_steel); - OreDictionary.registerOre("blockMagnetizedTungsten", ModBlocks.block_magnetized_tungsten); - OreDictionary.registerOre("blockAustralium", ModBlocks.block_australium); - OreDictionary.registerOre("blockWeidanium", ModBlocks.block_weidanium); - OreDictionary.registerOre("blockReiium", ModBlocks.block_reiium); - OreDictionary.registerOre("blockUnobtainium", ModBlocks.block_unobtainium); - OreDictionary.registerOre("blockDaffergon", ModBlocks.block_daffergon); - OreDictionary.registerOre("blockVerticium", ModBlocks.block_verticium); - OreDictionary.registerOre("blockDesh", ModBlocks.block_desh); - OreDictionary.registerOre("blockAsbestos", ModBlocks.block_asbestos); - OreDictionary.registerOre("blockCobalt", ModBlocks.block_cobalt); - OreDictionary.registerOre("blockZirconium", ModBlocks.block_zirconium); - OreDictionary.registerOre("blockBoron", ModBlocks.block_boron); - OreDictionary.registerOre("blockColtan", ModBlocks.block_coltan); - OreDictionary.registerOre("blockLithium", ModBlocks.block_lithium); - - OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium); - OreDictionary.registerOre("blockThorium232", ModBlocks.block_thorium); - OreDictionary.registerOre("blockUranium233", ModBlocks.block_u233); - OreDictionary.registerOre("blockUranium235", ModBlocks.block_u235); - OreDictionary.registerOre("blockUranium238", ModBlocks.block_u238); - OreDictionary.registerOre("blockNeptunium237", ModBlocks.block_neptunium); - OreDictionary.registerOre("blockPolonium", ModBlocks.block_polonium); - OreDictionary.registerOre("blockPlutonium", ModBlocks.block_plutonium); - OreDictionary.registerOre("blockPlutonium238", ModBlocks.block_pu238); - OreDictionary.registerOre("blockPlutonium239", ModBlocks.block_pu239); - OreDictionary.registerOre("blockPlutonium240", ModBlocks.block_pu240); OreDictionary.registerOre("logWood", ModBlocks.pink_log); OreDictionary.registerOre("logWoodPink", ModBlocks.pink_log); @@ -326,4 +129,56 @@ public class OreDictManager { public static String getReflector() { return GeneralConfig.enableReflectorCompat ? "plateDenseLead" : "plateTungCar"; //let's just mangle the name into "tungCar" so that it can't conflict with anything ever } + + public static class DictFrame { + String[] mats; + + public DictFrame(String... mats) { + this.mats = mats; + } + + public DictFrame nugget(Item... nugget) { + return makeItem("nugget", nugget).makeItem("tiny", nugget); + } + public DictFrame ingot(Item... ingot) { + return makeItem("ingot", ingot); + } + public DictFrame dustSmall(Item... dustSmall) { + return makeItem("dustSmall", dustSmall); + } + public DictFrame dust(Item... dust) { + return makeItem("dust", dust); + } + public DictFrame gem(Item... gem) { + return makeItem("gem", gem); + } + public DictFrame crystal(Item... crystal) { + return makeItem("crystal", crystal); + } + public DictFrame plate(Item... plate) { + return makeItem("plate", plate); + } + public DictFrame billet(Item... billet) { + return makeItem("billet", billet); + } + + public DictFrame block(Block... block) { + return makeBlocks("block", block); + } + public DictFrame ore(Block... ore) { + return makeBlocks("ore", ore); + } + public DictFrame oreNether(Block... oreNether) { + return makeBlocks("oreNether", oreNether); + } + + public DictFrame makeItem(String tag, Item... items) { + for(String mat : mats) for(Item i : items) OreDictionary.registerOre(tag + mat, i); + return this; + } + public DictFrame makeBlocks(String tag, Block... blocks) { + for(String mat : mats) for(Block b : blocks) OreDictionary.registerOre(tag + mat, b); + return this; + } + } } diff --git a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java index bad47089e..15a1b8fb0 100644 --- a/src/main/java/com/hbm/items/tool/ItemColtanCompass.java +++ b/src/main/java/com/hbm/items/tool/ItemColtanCompass.java @@ -2,6 +2,8 @@ package com.hbm.items.tool; import java.util.Random; +import com.hbm.main.MainRegistry; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; @@ -13,6 +15,7 @@ import net.minecraft.entity.Entity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public class ItemColtanCompass extends Item { @@ -28,6 +31,9 @@ public class ItemColtanCompass extends Item { lastX = stack.stackTagCompound.getInteger("colX"); lastZ = stack.stackTagCompound.getInteger("colZ"); lease = System.currentTimeMillis() + 1000; + + Vec3 vec = Vec3.createVectorHelper(entity.posX - lastX, 0, entity.posZ - lastZ); + MainRegistry.proxy.displayTooltip(((int) vec.lengthVector()) + "m"); } if(ItemColtanCompass.this.lease < System.currentTimeMillis()) { diff --git a/src/main/java/com/hbm/items/tool/ItemMeteorRemote.java b/src/main/java/com/hbm/items/tool/ItemMeteorRemote.java index 8faf544eb..d162d509e 100644 --- a/src/main/java/com/hbm/items/tool/ItemMeteorRemote.java +++ b/src/main/java/com/hbm/items/tool/ItemMeteorRemote.java @@ -21,37 +21,31 @@ public class ItemMeteorRemote extends Item { } @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { list.add("Right click to summon a meteorite!"); } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - + stack.damageItem(1, player); - if(!world.isRemote) - { + if(!world.isRemote) { EntityMeteor meteor = new EntityMeteor(world); - meteor.posX = player.posX + world.rand.nextInt(201) - 100; - meteor.posY = 384; - meteor.posZ = player.posZ + world.rand.nextInt(201) - 100; + meteor.setPositionAndRotation(player.posX + world.rand.nextInt(201) - 100, 384, player.posZ + world.rand.nextInt(201) - 100, 0, 0); meteor.motionX = world.rand.nextDouble() - 0.5; meteor.motionY = -2.5; meteor.motionZ = world.rand.nextDouble() - 0.5; world.spawnEntityInWorld(meteor); } - if(world.isRemote) - { + + if(world.isRemote) { player.addChatMessage(new ChatComponentText("Watch your head!")); } - world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); - + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); player.swingItem(); return stack; - } } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index b4b44f0dc..e928a516a 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -29,7 +29,16 @@ public class ItemWandD extends Item { //int y = world.getHeightValue(x, z); int y = pos.blockY; - CellularDungeonFactory.meteor.generate(world, x, y, z, world.rand); + //CellularDungeonFactory.meteor.generate(world, x, y, z, world.rand); + + for(int i = x - 10; i <= x + 10; i++) { + for(int j = y - 10; j <= y + 10; j++) { + for(int k = z - 10; k <= z + 10; k++) { + + world.getBlock(i, j, k).updateTick(world, i, j, k, world.rand); + } + } + } /*EntityBlockSpider spider = new EntityBlockSpider(world); spider.setPosition(x + 0.5, y, z + 0.5); diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 87470a039..dd1af087b 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -119,29 +119,33 @@ public class HbmWorldGen implements IWorldGenerator { int colZ = (int) (colRand.nextGaussian() * 1500); int colRange = 750; - if((GeneralConfig.enable528BedrockSpawn || GeneralConfig.enable528BedrockDeposit) && rand.nextInt(GeneralConfig.bedrockRate) == 0) { + if((GeneralConfig.enable528BedrockSpawn || GeneralConfig.enable528BedrockDeposit) && rand.nextInt(GeneralConfig.bedrockRate) != 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); - int y = rand.nextInt(4) + 1; if(GeneralConfig.enable528BedrockSpawn || (GeneralConfig.enable528BedrockDeposit && x <= colX + colRange && x >= colX - colRange && z <= colZ + colRange && z >= colZ - colRange)) { - if(world.getBlock(x, y, z).isReplaceableOreGen(world, x, y, z, Blocks.stone)) { - world.setBlock(x, y, z, ModBlocks.ore_bedrock_coltan); + + for(int y = 6; y >= 0; y--) { + if(world.getBlock(x, y, z).isReplaceableOreGen(world, x, y, z, Blocks.bedrock)) { + world.setBlock(x, y, z, ModBlocks.ore_bedrock_coltan); + } } } } - for (int k = 0; k < 2; k++) { - - for(int r = 1; r <= 5; r++) { - int randPosX = i + rand.nextInt(16); - int randPosY = rand.nextInt(25) + 15; - int randPosZ = j + rand.nextInt(16); + if(GeneralConfig.enable528ColtanDeposit) { + for (int k = 0; k < 2; k++) { - int range = colRange / r; - - if(randPosX <= colX + range && randPosX >= colX - range && randPosZ <= colZ + range && randPosZ >= colZ - range) { - (new WorldGenMinable(ModBlocks.ore_coltan, 4)).generate(world, rand, randPosX, randPosY, randPosZ); + for(int r = 1; r <= 5; r++) { + int randPosX = i + rand.nextInt(16); + int randPosY = rand.nextInt(25) + 15; + int randPosZ = j + rand.nextInt(16); + + int range = colRange / r; + + if(randPosX <= colX + range && randPosX >= colX - range && randPosZ <= colZ + range && randPosZ >= colZ - range) { + (new WorldGenMinable(ModBlocks.ore_coltan, 4)).generate(world, rand, randPosX, randPosY, randPosZ); + } } } } diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 663eb5b20..ae8c01371 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -533,9 +533,7 @@ public class ModEventHandler { if(p != null && p.dimension == 0) { EntityMeteor meteor = new EntityMeteor(event.world); - meteor.posX = p.posX + event.world.rand.nextInt(201) - 100; - meteor.posY = 384; - meteor.posZ = p.posZ + event.world.rand.nextInt(201) - 100; + meteor.setPositionAndRotation(p.posX + event.world.rand.nextInt(201) - 100, 384, p.posZ + event.world.rand.nextInt(201) - 100, 0, 0); meteor.motionX = event.world.rand.nextDouble() - 0.5; meteor.motionY = -2.5; meteor.motionZ = event.world.rand.nextDouble() - 0.5; diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 544e95f6a..b5ccec72a 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -98,6 +98,7 @@ import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.client.event.sound.PlaySoundEvent17; import net.minecraftforge.event.entity.player.ItemTooltipEvent; +import net.minecraftforge.oredict.OreDictionary; public class ModEventHandlerClient { @@ -532,6 +533,19 @@ public class ModEventHandlerClient { /// HAZARDS /// HazardSystem.addFullTooltip(stack, event.entityPlayer, list); + + if(event.showAdvancedItemTooltips) { + int ids[] = OreDictionary.getOreIDs(stack); + + if(ids.length > 0) { + list.add(EnumChatFormatting.BLUE + "Ore Dict:"); + for(int i : ids) { + list.add(EnumChatFormatting.AQUA + " -" + OreDictionary.getOreName(i)); + } + } else { + list.add(EnumChatFormatting.RED + "No Ore Dict data!"); + } + } } private ResourceLocation ashes = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_ash.png"); diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index b10a4204e..06d6e194e 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -1072,6 +1072,30 @@ public class ItemRenderLibrary { GL11.glScaled(1, 1, 1); bindTexture(ResourceManager.fraction_spacer_tex); ResourceManager.fraction_spacer.renderAll(); }}); + + renderers.put(Item.getItemFromBlock(ModBlocks.machine_tower_small), new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(3, 3, 3); + } + public void renderCommon() { + GL11.glScaled(0.25, 0.25, 0.25); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.tower_small_tex); ResourceManager.tower_small.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}); + + renderers.put(Item.getItemFromBlock(ModBlocks.machine_tower_large), new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -3, 0); + GL11.glScaled(4 * 0.95, 4 * 0.95, 4 * 0.95); + } + public void renderCommon() { + GL11.glScaled(0.25, 0.25, 0.25); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.tower_large_tex); ResourceManager.tower_large.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}); } private static void bindTexture(ResourceLocation res) { diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index 0c8fcf1be..73172ace7 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -16,6 +16,8 @@ import com.hbm.items.machine.ItemFluidIcon; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -80,6 +82,9 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement recipes.put("ingotGold", new ItemStack(ModItems.ingot_au198)); recipes.put("nuggetGold", new ItemStack(ModItems.nugget_au198)); recipes.put("dustGold", new ItemStack(ModItems.powder_au198)); + recipes.put(new ComparableStack(Blocks.brown_mushroom), new ItemStack(ModBlocks.mush)); + recipes.put(new ComparableStack(Blocks.red_mushroom), new ItemStack(ModBlocks.mush)); + recipes.put(new ComparableStack(Items.mushroom_stew), new ItemStack(ModItems.glowing_stew)); } private boolean canProcess() { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1ebdc20af..0777b1c08 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -864,6 +864,7 @@ item.canister_canola.name=Schmiermittelkanister item.canister_empty.name=Leerer Kanister item.canister_fuel.name=Dieselkanister item.canister_gasoline.name=Bleibenzinkanister +item.canister_gasoline.desc=blei ist freund$lasse deinen freund in deinen blutstrom$*lädt waffe* jetzt sofort item.canister_heatingoil.name=Heizölkanister item.canister_heavyoil.name=Schwerölkanister item.canister_kerosene.name=Kerosinkanister @@ -3058,6 +3059,7 @@ tile.machine_storage_drum.name=Atommüll-Lagertrommel tile.machine_telelinker.name=Geschütz-Telemetrie-Manager tile.machine_teleporter.name=Teleporter tile.machine_tower_large.name=Kühlturm +tile.machine_tower_small.name=Hilfskühlturm tile.machine_transformer.name=10k-20Hz-Transformator tile.machine_transformer_20.name=10k-1Hz-Transformator tile.machine_transformer_dnt.name=DNT-20Hz-Transformator diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index f2ef640c3..521d4b111 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -932,6 +932,7 @@ item.canister_canola.name=Engine Lubricant item.canister_empty.name=Empty Canister item.canister_fuel.name=Diesel Canister item.canister_gasoline.name=Leaded Gasoline Canister +item.canister_gasoline.desc=lead is friend$let friend into your blood stream$*cocks gun* do it now. item.canister_heatingoil.name=Heating Oil Canister item.canister_heavyoil.name=Heavy Oil Canister item.canister_kerosene.name=Kerosene Canister @@ -3141,6 +3142,7 @@ tile.machine_storage_drum.name=Nuclear Waste Disposal Drum tile.machine_telelinker.name=Turret Telemetry Linker tile.machine_teleporter.name=Teleporter tile.machine_tower_large.name=Cooling Tower +tile.machine_tower_small.name=Auxiliary Cooling Tower tile.machine_transformer.name=10k-20Hz Transformer tile.machine_transformer_20.name=10k-1Hz Transformer tile.machine_transformer_dnt.name=DNT-20Hz Transformer diff --git a/src/main/resources/assets/hbm/textures/blocks/block_niobium.png b/src/main/resources/assets/hbm/textures/blocks/block_niobium.png new file mode 100644 index 0000000000000000000000000000000000000000..49cea2579e9c1058f687a3f1642c5a9b4700e015 GIT binary patch literal 3094 zcma);3s@6Z7RLwF;-j?ax?)|>A=(w8NhXt!R|yXjBwVp+t%6&$)IylPv{q9licSd^Jp$(I<@^7UBthJ6!tt-loRh1NF z_YJ9_`&S%&YjkPO(e-VewTqT*_e@^*{*w;^Vra?!u|pc92X`)36k8OI`5ke2Wvhr) zool@ZD*FtHXJ*{){D5sFi!2L|O^lil_QzpM!nbiq^qLX3U(M5f%N-7_8M$@s=SthE z5w?#$ynvLQ%5IvzSyiH3y*y!vU}&>(LO*%M&g+#^^^IRN*T=U${P2hLLsMQE{dM3c zC*VEr{;23YS2d+<-JKQlhMaiRsvLzUt8Vf;#e#d_Tpz^iDAt|SXcH;&I$XdSf@0&nE)2Jk9Bd*jlv5*U-}9varU;E7J0=xLb!kZ}rJv1^ z8M7y4;z#BTd!L#naIp6{B4a=3ifyk)l) zf%n+B+>G7#oWRATopgZUEFemHY&pvO^gTS2KmX*J;2=Z~_ZiFXzVPuu^VB*Tck_`9 zI*ou&P)*P{MW}sWO^O&&p~O+4S#HLJGP6V?#N^T#q1+^wVrDW%PGB+J9D|ePFegs( z96%OP0HTl)sL6z2LR?BHg)$tG3ssoHEHq0M7;r|UN>bJBpT$2c?1IKb3UPJ;HZ z{{2kKL1u6m-z13~l`BwGDnS$qsaypL@`18Qh6Re{VG=}yq5_z})e`^;0}`Sfn1vL( zoE8DhcU}#W2Q9>Si36aoB(;_yF^*<3Y1*z4@JN^^bx#JE4ZrZ!6KUM%>2n|n-~7S8 zAKw&?$1Je8XERp(TW-JLW>{&Dvj^ZG%HN_s>(s+cWH=Aa*wUCZ(<~C_UY7c6Zav&| zaK^D5Q($=M@?YQ)+ofndAkj?0^SNb^dA+v$ZLm|Y?^IA@c-PBgv3!yc_&0GY=CqLD z$ORMFWk$U~<(QPfOj3jdDo21i2^Aq!nK83aB{9oQ5{c9dG}`UY(q_(sF=V0z=mp3E z44h9EaHLuY&EtH@)PBXK zi#L(NNheFcT#?TicXhSb#pNrmYZu&#UEYnM9|({|~1)N>CynkRa0-F!ut7gCQ6 z9ZWBkuMkYGT)8FkujSR>*V^35`?|)+mbxt&P0>@{o|9E}Qn2Rod!<#=qBpi2dpJgg zMOP$WivC-5TB}f8!ddI5wd>kkvdQYZDXMm(JnhO6`x|!)Z`2MyUEPrq_jBj^#XBn! z#`TS`-H(Ho{%7yuBbzEi(`L^33$43dw|!ai$?e;QUMlY&ut7Dr6ORf*OK&=I_g(xr zw^g^{(eaNh5rvD_R-LKca^3#uPVlgC(H*yroSFYXk(GG5Hg4;yyRn6n`aY?xYKnUO z>rek7js7A&KJ(~TM~gXGUGZxN#}%cx=^asjit3oVYZ){^8|+L!&)j=#=)An}T zo}9)6!`^SQ7wwoES=@Z-GM05^|HAC5w!&L0H=o;=9V!E|cv=4^IDLxaoeZeUYdN1iRH`E&Tj zYq64(53WTxF1%B0_qNY%2&+)#2Lu(FV}l}p>U^A2^UzUKuv*mg&h6L55uY7uD`_t0 P|5G$1P1045&z<)_S$9}O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/siege_circuit_0.png b/src/main/resources/assets/hbm/textures/blocks/siege_circuit_0.png new file mode 100644 index 0000000000000000000000000000000000000000..96f6f25ace2f32077ca3956b21d5ff5cf89d1826 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfujP#qySv*w1ske~5YCoDJXcu&4EyW^;_ZbVJ8 zZOaDVhXD^RKVCU&)i%D6sZ%bMB~mab35XcEq$W02J!H00Mb=s{{rrmlAA0lT^ z;U=!#n=}@PROzyXBduhIuuC2oKBHmyGao0woi|7Uq?7>cb~~D;nKgy=P`7Q%!ZisY zP)Z?$n0;a0>Bxa&ISlN}lC1B2&8*k(r~@zz^A#Llr<2#mEaTG{IG@>qIMr z7yiCnyf)h{0JqI%HZTQfnuf0Hexm|DRx7WMFeYLQhoXoE{Cfp=$jCuR=mMT6QdN~t zAsTSabLzVGO-_fnl&rO}18Xf>YyS}HS0udoJO2R54S!xHUHTUQ0000)-;-XW_n0=8$+S#AuRitH}m$*i}$%$sEU9pDuRjtpsHZ+swiCEMOcO*Jr&`7 zvq4nRx==(=)eB5(%;ITLu!q zIQ%vU5I}$u@IK~qecSCYdERNV#rMXrO;db+dGlXnu^-?!jcLk$UauYg6h#id8xCE= zQWfton`s!w98agtlNCseVPnjXiT@#6`6b}nkhI-y%6^O@N4_5nE*g6K=~Q3inDl(^ zG}&TFmJu0)Pb*N}}S3#=a literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/siege_hole.png b/src/main/resources/assets/hbm/textures/blocks/siege_hole.png new file mode 100644 index 0000000000000000000000000000000000000000..143933a9dbc5e6fa0504ba31a652a1dfa0460351 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfoN5k&L-}%bj)8fn~yQ~#mwd-&D=G}+S2nbGZ2s%~M&9Ngt?z(7N8E3{?Sw@Bl zGdnnD+|*6*F$}A?7k2*z{|{CM#xpVRoj-Z5-TId81n+`XE4H3%stq}B(sRsq!V@3S uhQq&0p4>H@$kM*J!@(slTtY4Rt$FPRmz6Rzmu~|)ox#)9&t;ucLK6VRh+!fC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/siege_internal_0.png b/src/main/resources/assets/hbm/textures/blocks/siege_internal_0.png new file mode 100644 index 0000000000000000000000000000000000000000..37846308d009da6bf0b19862ccaf047c5a063c75 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZ|yqoI%43C{=3vKQA!d`A?Y`o`t!MTM~nxeAT8y`Fo x@A75awMQ0w9UlMV`#oAF`k$AzDZe1KFSg`N;ST}dD?rCHc)I$ztaD0e0sx<(WMTjS literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/siege_internal_1.png b/src/main/resources/assets/hbm/textures/blocks/siege_internal_1.png new file mode 100644 index 0000000000000000000000000000000000000000..895b906d99d0eec3aecc22143ac03b60c8414475 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf!^W%>&4ms*PcoUSlwG`9k;}~x!|!=s{@Bga-++onJTS&8%9c2o0H9dw=Hhnbz_yExETnG#~Cg9(B4<=E)pR#Sc&PLsgf$^h~@awaV+< z%sIw;%jf;E?R)%a@A4^5@8?EoE3#y*{c_LnSi$q=V!rIRS516{k4d<+NGSW;t$5Y1 zmds=5=F$?x<^S*3T@|Gcj^~we<~u%bH%$9^FC=^E6sPRByAICf_pkqV|KR)^2gT2w WFMOq%;r|%uDF#nhKbLh*2~7a=6m=K? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/siege_shield_0.png b/src/main/resources/assets/hbm/textures/blocks/siege_shield_0.png new file mode 100644 index 0000000000000000000000000000000000000000..efaf1e1e878e5ba17812c2290bbac71505624e71 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfUvJn^7*uGkJVo*dj#+O-rmrWFfV<{6a^*Sb+31I|E=O+RQagF87kYf z+S<69JLGiv!zn^un)2+H&lPuAWiTlju`HkRjcJt?%k{nqM=qb?<6HM&ez^gY{JRIc zxx+s=KDciEgT4F2KaQ;x;&vqq@0YN@i+|)IWa!o+uwa$OQissnFFwDw^z=DrS@B+f d|GS&w^^9T0&kJwflm_{k!PC{xWt~$(699xoaWVh^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/siege_shield_1.png b/src/main/resources/assets/hbm/textures/blocks/siege_shield_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1a35293f254805491350e86a74c9bf233f0cbb3d GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf|%Omz(iTYg{d%{wADNAVUDy3r_?```YH$0X0d@`qSp8C7rZ5<9S0!|fXQTryj zcx5^XI%+;$nf234XqDAN2?<`E_~`6s2WIE12qwF5FfN^|(xqzh74W`~2*5 fIs1Lt2|pOU+mHK3Wyt*jI+nrH)z4*}Q$iB}qZL~k literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/siege_shield_2.png b/src/main/resources/assets/hbm/textures/blocks/siege_shield_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca6a2d46db7a4cbd5424c5d4bd81a5b323cf0011 GIT binary patch literal 412 zcmV;N0b~A&P)(xj z0!bWI6@A}tU}FrNa|j`TBvf?+iwIN|(=@#UthF0>30NA4$OiV_V;skKgAl@h140O2 z8<2e8L0#7<%M#AH&BOtp4c34(O_AsMMqfN6;l1C$%N|J_x~`k|Jd=cT4(Ib3ZQHJ} z_a3*~4UfkI3CXXXm&MoXwKjKw5v0oc<&ErxZDMs!z+OR0000aB~8)>$P*hg=B4_v6f1 zevacfLI~LR{kB2~D9aK>QQ*xP5y2P(B7$=c&N&bfgb?_CzsR!e)#CwLYglXHoP)I% zbzP%r8l;?g?_rFAQYr?vZNoT@;G84njEFGLGn7);wk=jT11XOqNGWfDVHn~8Zyr04 zQr>19h5>EcBIU7z>x|Y~7-QhQN6PNGTt`>e*t-8Rr~zU8C!| u_}RSoai8)}p65qZRkvq)eYSa?SC3pS9rdB*}d`K$x3GSJwIQaIn8#jddAIfY~>t`liI%SWNdghH(c`HL9OTK iEB^621Tk!T&A4#hq@GZ%-$Fpk89ZJ6T-G@yGywowBt^FX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/cigarette.png b/src/main/resources/assets/hbm/textures/items/cigarette.png new file mode 100644 index 0000000000000000000000000000000000000000..24aa8d0e8101f88566da52c42d7ed45d0af6290c GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfCsV69We-VA z(MIDkX>y&$kRof44a1HxtTo0AW*Bo}4Ew3Ga?&|lf9`jF=X>AxocDas@A*By=lQOk zaC6?GwnGgB0&RgGaX1C6G7w1V5LgA+-L$JL1{US$!*CBU@FakPu7W_Sg>VOZk4tx_ zSSDy)6r^RuPRBYaqjAbt&FJUAy?%k@V6_80?T92_dwqGiZ>_KKm85W#O!?^cz%NUf z`vx9vyqF5N@6JBkmTl@0!Wk2RRLpjv7Ed=q*_+#PbGHibWo2beOJ>DlasGH_Mh4HN zE5OgMqagHb=4{T+<*4Dfje02`paTy9eak1-lW05yndna_%4^zryYUl1ZgctzhM{&^ zT9T@ZZ!X69OZ7xG`*r7j`OW5G>K=gpJ>{(uIIHDeaLe$ z_;NpC40j-|D!{yb%2Rx1iNPAn>LLix(5{+grN1LLt2c3&ejo@c?%*7FcxJK?W=!E~ zh7Wb(AYoj8PA zjb7JyuSDLczSX)2K+MPUa;cz{$dk!raDp?M!F;l0%%_!+i_2P)O+L{JL z87;g}6lW6%%R`t^yVeBryq-9@doUnIh|r;Yi%p6hnj%G{u{W8ml<@PwPjt+w#@kQ6 ziQ+0XUcLRVbG-*mEQHrqS=Ny^s@})C`+0iGgUN&bEbAddD0J_v+n$f+yjBGch3gPn zjg9N=#YULU@8y5l~a4DKCF4{Ey|=OvYDAmlHQY8 zTUE9OP->BD^&=On@1o2p^Bxb$s9IH^7$GWzTC$+IAx#((J$|eGPH#FfzB?9+qY&GD z`o?1BdpY-6hDJ~_trf9me0*O)Wr`#cN?rE_X#Q%^4+7r`!BQXKU@V}q>BCwz)Iv9} zUOt6M&YKEHJtY?~nbbeJ`df2;Uuk@2XJ=TZ(j|lcw8UC_tlx9$xj-P>OS)|_)qi$M z7SPhVmIIq;w)Ft74ibrkhitIy61AGxyXpAp?}|3_ zNDAXbSUD!Knt`5{MV9!4os6}7KL=U?4X|{ox1q`ocp8g6{_^F^L%Ro7YVo;k_y4`0 zr(pwH2rci3$)?