diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 6e4c5146a..73278bb13 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1455,7 +1455,7 @@ public class ModBlocks { deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_top"); deco_loot = new BlockLoot().setBlockName("deco_loot").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); - bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); hazmat = new BlockGeneric(Material.cloth).setBlockName("hazmat").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":hazmat"); gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); @@ -2019,7 +2019,7 @@ public class ModBlocks { machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_refinery"); machine_fraction_tower = new MachineFractionTower(Material.iron).setBlockName("machine_fraction_tower").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_catalytic_cracker = new MachineCatalyticCracker(Material.iron).setBlockName("machine_catalytic_cracker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_catalytic_cracker"); + machine_catalytic_cracker = new MachineCatalyticCracker(Material.iron).setBlockName("machine_catalytic_cracker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_drill"); drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe"); machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser"); @@ -2051,7 +2051,7 @@ public class ModBlocks { machine_tower_large = new MachineTowerLarge(Material.iron).setBlockName("machine_tower_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); machine_deuterium_extractor = new MachineDeuteriumExtractor(Material.iron).setBlockName("machine_deuterium_extractor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deuterium_extractor_side"); - machine_deuterium_tower = new DeuteriumTower(Material.iron).setBlockName("machine_deuterium_tower").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deuterium_tower"); + machine_deuterium_tower = new DeuteriumTower(Material.iron).setBlockName("machine_deuterium_tower").setHardness(10.0F).setResistance(20.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"); diff --git a/src/main/java/com/hbm/blocks/generic/Guide.java b/src/main/java/com/hbm/blocks/generic/Guide.java index a9d7a5b3d..966f06c82 100644 --- a/src/main/java/com/hbm/blocks/generic/Guide.java +++ b/src/main/java/com/hbm/blocks/generic/Guide.java @@ -150,8 +150,10 @@ public class Guide extends Block implements ILookOverlay { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(!player.isSneaking()) - MainRegistry.proxy.openLink("ntm.fandom.com"); + if(world.isRemote && !player.isSneaking()) { + MainRegistry.proxy.openLink("https://ntm.fandom.com/wiki/HBM%27s_Nuclear_Tech_Wiki"); + return true; + } return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ); diff --git a/src/main/java/com/hbm/blocks/generic/WasteLeaves.java b/src/main/java/com/hbm/blocks/generic/WasteLeaves.java index ee32266e8..57571f249 100644 --- a/src/main/java/com/hbm/blocks/generic/WasteLeaves.java +++ b/src/main/java/com/hbm/blocks/generic/WasteLeaves.java @@ -36,7 +36,7 @@ public class WasteLeaves extends Block { @Override public void updateTick(World world, int x, int y, int z, Random rand) { - if(rand.nextInt(300) == 0) { + if(rand.nextInt(60) == 0) { world.setBlockToAir(x, y, z); } @@ -48,7 +48,7 @@ public class WasteLeaves extends Block { public void randomDisplayTick(World world, int x, int y, int z, Random rand) { super.randomDisplayTick(world, x, y, z, rand); - if(rand.nextInt(5) == 0 && world.getBlock(x, y - 1, z).getMaterial() == Material.air) { + if(rand.nextInt(7) == 0 && world.getBlock(x, y - 1, z).getMaterial() == Material.air) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "deadleaf"); data.setDouble("posX", x + rand.nextDouble()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java b/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java index 079b254eb..7b191e64a 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java @@ -2,11 +2,17 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyCombo; -import com.hbm.tileentity.machine.TileEntityMachineCatalyticCracker; +import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticCracker; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -36,10 +42,55 @@ public class MachineCatalyticCracker extends BlockDummyable { public int getOffset() { return 3; } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(!world.isRemote && !player.isSneaking()) { + + if(player.getHeldItem() == null || player.getHeldItem().getItem() == ModItems.fluid_identifier) { + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return false; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(!(te instanceof TileEntityMachineCatalyticCracker)) + return false; + + TileEntityMachineCatalyticCracker cracker = (TileEntityMachineCatalyticCracker) te; + + if(player.getHeldItem() == null) { + + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "=== CATALYTIC CRACKING TOWER ===")); + + for(int i = 0; i < cracker.tanks.length; i++) + player.addChatComponentMessage(new ChatComponentTranslation("hbmfluid." + cracker.tanks[i].getTankType().getName().toLowerCase()).appendSibling(new ChatComponentText(": " + cracker.tanks[i].getFill() + "/" + cracker.tanks[i].getMaxFill() + "mB"))); + } else { + + FluidType type = FluidType.values()[player.getHeldItem().getItemDamage()]; + cracker.tanks[0].setTankType(type); + cracker.markDirty(); + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Changed type to " + type + "!")); + } + + return true; + } + return false; + + } else { + return true; + } + } @Override protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { - return super.checkRequirement(world, x, y, z, dir, o); + return super.checkRequirement(world, x, y, z, dir, o) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{4, -1, 3, -1, 1, 1}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{13, 0, 0, 3, 2, 1}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{14, -13, -1, 2, 1, 0}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{3, -1, 2, 3, -1, 3}, x, y, z, dir); } @Override @@ -50,5 +101,17 @@ public class MachineCatalyticCracker extends BlockDummyable { MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{13, 0, 0, 3, 2, 1}, this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{14, -13, -1, 2, 1, 0}, this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{3, -1, 2, 3, -1, 3}, this, dir); + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + this.makeExtra(world, x + dir.offsetX * o + dir.offsetX * 3 + rot.offsetX, y + dir.offsetY * o, z + dir.offsetZ * o + dir.offsetZ * 3 + rot.offsetZ); + this.makeExtra(world, x + dir.offsetX * o + dir.offsetX * 3 - rot.offsetX * 2, y + dir.offsetY * o, z + dir.offsetZ * o + dir.offsetZ * 3 - rot.offsetZ * 2); + this.makeExtra(world, x + dir.offsetX * o - dir.offsetX * 3 + rot.offsetX, y + dir.offsetY * o, z + dir.offsetZ * o - dir.offsetZ * 3 + rot.offsetZ); + this.makeExtra(world, x + dir.offsetX * o - dir.offsetX * 3 - rot.offsetX * 2, y + dir.offsetY * o, z + dir.offsetZ * o - dir.offsetZ * 3 - rot.offsetZ * 2); + + this.makeExtra(world, x + dir.offsetX * o + dir.offsetX * 2 + rot.offsetX * 2, y + dir.offsetY * o, z + dir.offsetZ * o + dir.offsetZ * 2 + rot.offsetZ * 2); + this.makeExtra(world, x + dir.offsetX * o + dir.offsetX * 2 - rot.offsetX * 3, y + dir.offsetY * o, z + dir.offsetZ * o + dir.offsetZ * 2 - rot.offsetZ * 3); + this.makeExtra(world, x + dir.offsetX * o - dir.offsetX * 2 + rot.offsetX * 2, y + dir.offsetY * o, z + dir.offsetZ * o - dir.offsetZ * 2 + rot.offsetZ * 2); + this.makeExtra(world, x + dir.offsetX * o - dir.offsetX * 2 - rot.offsetX * 3, y + dir.offsetY * o, z + dir.offsetZ * o - dir.offsetZ * 2 - rot.offsetZ * 3); } } diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index 1b42acb0e..5608fe507 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -70,6 +70,7 @@ public class ConsumableRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_mrsugar, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, F.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_overcharge, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, S.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.can_luna, 1), new Object[] { ModItems.can_empty, Items.potionitem, Items.sugar, ModItems.powder_meteorite_tiny }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.mucho_mango, 1), new Object[] { Items.potionitem, Items.sugar, Items.sugar, KEY_ORANGE }); //Canteens CraftingManager.addRecipeAuto(new ItemStack(ModItems.canteen_13, 1), new Object[] { "O", "P", 'O', Items.potionitem, 'P', STEEL.plate() }); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 28970778f..024555070 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -4,6 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.items.special.ItemWasteLong; import com.hbm.items.special.ItemWasteShort; +import static com.hbm.inventory.OreDictManager.*; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; @@ -108,6 +109,8 @@ public class MineralRecipes { addBillet(ModItems.billet_australium_greater, ModItems.nugget_australium_greater); addBillet(ModItems.billet_australium_lesser, ModItems.nugget_australium_lesser); addBillet(ModItems.billet_nuclear_waste, ModItems.nuclear_waste, ModItems.nuclear_waste_tiny); + addBillet(ModItems.billet_beryllium, ModItems.ingot_beryllium, ModItems.nugget_beryllium, BE.nugget()); + addBillet(ModItems.billet_zirconium, ModItems.ingot_zirconium, ModItems.nugget_zirconium, ZR.nugget()); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_thorium_fuel, 3), new Object[] { ModItems.billet_th232, ModItems.billet_th232, ModItems.billet_u233 }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_thorium_fuel, 1), new Object[] { "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetThorium232", "nuggetUranium233", "nuggetUranium233" })); @@ -133,7 +136,7 @@ public class MineralRecipes { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_mox_fuel, 3), new Object[] { ModItems.billet_u238, ModItems.billet_u235, ModItems.billet_pu_mix }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_mox_fuel, 1), new Object[] { ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, "nuggetUranium238", "nuggetUranium238", "nuggetUranium235", "nuggetUranium235" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_mox_fuel, 1), new Object[] { ModItems.nugget_pu_mix, ModItems.nugget_pu_mix, "tinyU238", "tinyU238", "tinyU235", "tinyU235" })); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 3), new Object[] { ModItems.billet_schrabidium, ModItems.billet_neptunium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 3), new Object[] { ModItems.billet_schrabidium, ModItems.billet_neptunium, ModItems.billet_beryllium }); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 1), new Object[] { ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, "nuggetNeptunium237", "nuggetNeptunium237", ModItems.nugget_beryllium, ModItems.nugget_beryllium })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_schrabidium_fuel, 1), new Object[] { ModItems.nugget_schrabidium, ModItems.nugget_schrabidium, "tinyNp237", "tinyNp237", ModItems.nugget_beryllium, ModItems.nugget_beryllium })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_po210be, 1), new Object[] { "nuggetPolonium210", "nuggetPolonium210", "nuggetPolonium210", ModItems.nugget_beryllium, ModItems.nugget_beryllium, ModItems.nugget_beryllium })); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 3f9768328..62314e7d5 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -199,6 +199,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.sat_head_resonator, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 32), new OreDictStack(POLYMER.ingot(), 48), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.crystal_xen, 1), new OreDictStack(STAR.ingot(), 7), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.circuit_targeting_tier6, 2), },1000); makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, FluidType.HYDROGEN.ordinal()), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.rod_quad_uranium_fuel, 2), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200); makeRecipe(new ComparableStack(ModItems.sat_miner, 1), new AStack[] {new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, FluidType.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.centrifuge_element, 4), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600); + makeRecipe(new ComparableStack(ModItems.sat_lunar_miner, 1), new AStack[] {new ComparableStack(ModItems.ingot_meteorite, 24), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, FluidType.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600); makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new ComparableStack(ModBlocks.fwatz_computer, 1), new OreDictStack(CMB.ingot(), 22), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), },300); makeRecipe(new ComparableStack(ModItems.chopper_gun, 1), new AStack[] {new OreDictStack(CMB.plate(), 4), new OreDictStack(CMB.ingot(), 2), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 1), new ComparableStack(ModItems.motor, 1), },150); makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new OreDictStack(CMB.ingot(), 26), new ComparableStack(ModBlocks.fwatz_computer, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350); @@ -876,6 +877,26 @@ public class AssemblerRecipes { }, 200); } + makeRecipe(new ComparableStack(ModBlocks.machine_fracking_tower), new AStack[] { + new ComparableStack(ModBlocks.steel_scaffold, 40), + new ComparableStack(ModBlocks.concrete_smooth, 64), + new ComparableStack(ModItems.drill_titanium), + new ComparableStack(ModItems.motor_desh, 2), + new ComparableStack(ModItems.plate_desh, 6), + new OreDictStack(NB.ingot(), 8), + new ComparableStack(ModItems.tank_steel, 24), + new ComparableStack(ModItems.pipes_steel, 2) + }, 600); + + makeRecipe(new ComparableStack(ModBlocks.machine_catalytic_cracker), new AStack[] { + new ComparableStack(ModBlocks.steel_scaffold, 16), + new ComparableStack(ModItems.hull_big_steel, 4), + new ComparableStack(ModItems.tank_steel, 3), + new OreDictStack(POLYMER.ingot(), 4), + new OreDictStack(NB.ingot(), 2), + new ComparableStack(ModItems.catalyst_clay, 12), + }, 300); + if(Loader.isModLoaded("Mekanism")) { Block mb = (Block) Block.blockRegistry.getObject("Mekanism:MachineBlock"); diff --git a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java index 783263738..4f89ff546 100644 --- a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java @@ -27,7 +27,19 @@ public class RefineryRecipes { public static final int light_frac_diesel = 40; public static final int light_frac_kero = 60; + //cracking in percent + public static final int bitumen_crack_oil = 80; + public static final int bitumen_crack_petro = 20; + public static final int smear_crack_napht = 60; + public static final int smear_crack_petro = 40; + public static final int gas_crack_petro = 50; + public static final int diesel_crack_kero = 40; + public static final int diesel_crack_petro = 30; + public static final int kero_crack_petro = 60; + + //why didn't i use fluid stacks here? was there a reason? private static Map> fractions = new HashMap(); + private static Map> cracking = new HashMap(); public static Map getRefineryRecipe() { @@ -45,13 +57,25 @@ public class RefineryRecipes { } public static void registerFractions() { - fractions.put(FluidType.HEAVYOIL, new Quartet(FluidType.BITUMEN, FluidType.SMEAR, heavy_frac_bitu, heavy_frac_smear)); - fractions.put(FluidType.SMEAR, new Quartet(FluidType.HEATINGOIL, FluidType.LUBRICANT, smear_frac_heat, smear_frac_lube)); - fractions.put(FluidType.NAPHTHA, new Quartet(FluidType.HEATINGOIL, FluidType.DIESEL, napht_frac_heat, napht_frac_diesel)); - fractions.put(FluidType.LIGHTOIL, new Quartet(FluidType.DIESEL, FluidType.KEROSENE, light_frac_diesel, light_frac_kero)); + fractions.put(FluidType.HEAVYOIL, new Quartet(FluidType.BITUMEN, FluidType.SMEAR, heavy_frac_bitu, heavy_frac_smear)); + fractions.put(FluidType.SMEAR, new Quartet(FluidType.HEATINGOIL, FluidType.LUBRICANT, smear_frac_heat, smear_frac_lube)); + fractions.put(FluidType.NAPHTHA, new Quartet(FluidType.HEATINGOIL, FluidType.DIESEL, napht_frac_heat, napht_frac_diesel)); + fractions.put(FluidType.LIGHTOIL, new Quartet(FluidType.DIESEL, FluidType.KEROSENE, light_frac_diesel, light_frac_kero)); + } + + public static void registerCracking() { + cracking.put(FluidType.BITUMEN, new Quartet(FluidType.OIL, FluidType.PETROLEUM, bitumen_crack_oil, bitumen_crack_petro)); + cracking.put(FluidType.SMEAR, new Quartet(FluidType.NAPHTHA, FluidType.PETROLEUM, smear_crack_napht, smear_crack_petro)); + cracking.put(FluidType.GAS, new Quartet(FluidType.PETROLEUM, FluidType.NONE, gas_crack_petro, 0)); + cracking.put(FluidType.DIESEL, new Quartet(FluidType.KEROSENE, FluidType.PETROLEUM, diesel_crack_kero, diesel_crack_petro)); + cracking.put(FluidType.KEROSENE, new Quartet(FluidType.PETROLEUM, FluidType.NONE, kero_crack_petro, 0)); } public static Quartet getFractions(FluidType oil) { return fractions.get(oil); } + + public static Quartet getCracking(FluidType oil) { + return cracking.get(oil); + } } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index b44cd66db..409707f0b 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -5,6 +5,8 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.entity.mob.EntityBlockSpider; import com.hbm.lib.Library; +import com.hbm.world.dungeon.Bunker; +import com.hbm.world.dungeon.Relay; import com.hbm.world.generator.CellularDungeonFactory; import net.minecraft.entity.player.EntityPlayer; @@ -34,7 +36,7 @@ public class ItemWandD extends Item { int r = 5; - for(int i = x - r; i <= x + r; i++) { + /*for(int i = x - r; i <= x + r; i++) { for(int j = y - r; j <= y + r; j++) { for(int k = z - r; k <= z + r; k++) { @@ -42,7 +44,9 @@ public class ItemWandD extends Item { //world.getBlock(i, j, k).updateTick(world, i, j, k, world.rand); } } - } + }*/ + + new Bunker().generate(world, world.rand, x, y, z); /*EntityBlockSpider spider = new EntityBlockSpider(world); spider.setPosition(x + 0.5, y, z + 0.5); diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 9a62ededf..112aeaac6 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4040)"; + public static final String VERSION = "1.0.27 BETA (4053)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 60e03190d..2edd7486c 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -77,6 +77,7 @@ import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.conductor.*; import com.hbm.tileentity.deco.*; import com.hbm.tileentity.machine.*; +import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticCracker; import com.hbm.tileentity.machine.oil.TileEntityMachineFrackingTower; import com.hbm.tileentity.machine.oil.TileEntityMachineFractionTower; import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index f88225e63..80c14eaa7 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -822,8 +822,6 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.rag, 4), new Object[] { "SW", "WS", 'S', Items.string, 'W', Blocks.wool }); addRecipeAuto(new ItemStack(ModBlocks.machine_condenser), new Object[] { "SIS", "ICI", "SIS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'C', ModItems.board_copper }); - addRecipeAuto(new ItemStack(ModBlocks.machine_fracking_tower), new Object[] { "NDN", "PRP", "CRC", 'N', NB.ingot(), 'D', ModBlocks.machine_well, 'P', ModItems.plate_desh, 'R', ModItems.pipes_steel, 'C', ModBlocks.concrete_smooth }); - //addShapelessAuto(new ItemStack(ModItems.canister_fracksol, 4), new Object[] { "dustSulfur", "dustSulfur", "dustSulfur", "dustSulfur", ModItems.gas_petroleum, ModItems.canister_empty, ModItems.canister_empty, ModItems.canister_empty, ModItems.canister_empty }); if(GeneralConfig.enableBabyMode) { addShapelessAuto(new ItemStack(ModItems.cordite, 3), new Object[] { ModItems.ballistite, Items.gunpowder, new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index b845680e2..2cf1db8b5 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -881,6 +881,7 @@ public class MainRegistry { AnvilRecipes.register(); PressRecipes.register(); RefineryRecipes.registerFractions(); + RefineryRecipes.registerCracking(); TileEntityNukeCustom.registerBombItems(); ArmorUtil.register(); diff --git a/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java b/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java index 2cd8f8b62..5d44aa9b4 100644 --- a/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java +++ b/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java @@ -40,20 +40,32 @@ public class RenderBlocksCT extends RenderBlocks { private void initSideInfo() { - /*if(!this.enableAO) + if(!this.enableAO) return; + + /* + * so what's the actual solution here? instantiating the VertInfos with TL red being 1 causes all faces to be red on the top left, so there's + * no translation issues here. perhaps i have to rotate the light and color info before instantiating the infos? afterwards is no good because + * of the avg calculations. either way forge is a fucking liar when saying "ayy lmao this is the color of the top left" no it fucking ain't, + * it's only the color in ONE PARTICULAR SIDE. well thanks for that i think that's rather poggers, lex. + */ - this.tl = new VertInfo(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft, this.brightnessTopLeft); - this.tr = new VertInfo(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight, this.brightnessTopRight); - this.bl = new VertInfo(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft, this.brightnessBottomLeft); - this.br = new VertInfo(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight, this.brightnessBottomRight); + float red = (colorRedTopLeft + colorRedTopRight + colorRedBottomLeft + colorRedBottomRight) / 4F; + float green = (colorGreenTopLeft + colorGreenTopRight + colorGreenBottomLeft + colorGreenBottomRight) / 4F; + float blue = (colorBlueTopLeft + colorBlueTopRight + colorBlueBottomLeft + colorBlueBottomRight) / 4F; + int light = (brightnessTopLeft + brightnessTopRight + brightnessBottomLeft + brightnessBottomRight) / 4; + + this.tl = new VertInfo(red, green, blue, light); + this.tr = new VertInfo(red, green, blue, light); + this.bl = new VertInfo(red, green, blue, light); + this.br = new VertInfo(red, green, blue, light); this.tc = VertInfo.avg(tl, tr); this.bc = VertInfo.avg(bl, br); this.cl = VertInfo.avg(tl, bl); this.cr = VertInfo.avg(tr, br); - this.cc = VertInfo.avg(tl, tr, bl, br);*/ + this.cc = VertInfo.avg(tl, tr, bl, br); } @Override @@ -218,10 +230,10 @@ public class RenderBlocksCT extends RenderBlocks { private void drawVert(double x, double y, double z, double u, double v, VertInfo info) { - /*if(this.enableAO) { + if(this.enableAO) { tess.setColorOpaque_F(info.red, info.green, info.blue); tess.setBrightness(info.brightness); - }*/ + } tess.addVertexWithUV(x, y, z, u, v); } diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 53a0e6aa9..628494a45 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -1169,6 +1169,18 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.zirnox_tex); ResourceManager.zirnox.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); }}); + + renderers.put(Item.getItemFromBlock(ModBlocks.machine_catalytic_cracker), new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -3.5, 0); + GL11.glScaled(1.8, 1.8, 1.8); + } + public void renderCommon() { + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.cracking_tower_tex); ResourceManager.cracking_tower.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}); } private static void bindTexture(ResourceLocation res) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCatalyticCracker.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCatalyticCracker.java deleted file mode 100644 index ccfdc1707..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCatalyticCracker.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.List; - -import com.hbm.handler.FluidTypeHandler.FluidType; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; -import com.hbm.inventory.FluidTank; - -import net.minecraft.tileentity.TileEntity; - -public class TileEntityMachineCatalyticCracker extends TileEntity implements IFluidSource, IFluidAcceptor { - - @Override - public void setFillstate(int fill, int index) { - // TODO Auto-generated method stub - - } - - @Override - public void setFluidFill(int fill, FluidType type) { - // TODO Auto-generated method stub - - } - - @Override - public void setType(FluidType type, int index) { - // TODO Auto-generated method stub - - } - - @Override - public List getTanks() { - // TODO Auto-generated method stub - return null; - } - - @Override - public int getFluidFill(FluidType type) { - // TODO Auto-generated method stub - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - // TODO Auto-generated method stub - return 0; - } - - @Override - public void fillFluidInit(FluidType type) { - // TODO Auto-generated method stub - - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - // TODO Auto-generated method stub - - } - - @Override - public boolean getTact() { - // TODO Auto-generated method stub - return false; - } - - @Override - public List getFluidList(FluidType type) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void clearFluidList(FluidType type) { - // TODO Auto-generated method stub - - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index ea4b0a791..04472437e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -313,9 +313,9 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent }; private WeightedRandomObject[] lunarCargo = new WeightedRandomObject[] { - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 10), 5), - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 7), 7), - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 5), 5), + new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 48), 5), + new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 32), 7), + new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 16), 5), new WeightedRandomObject(new ItemStack(ModItems.powder_lithium, 3), 5), new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 5), new WeightedRandomObject(new ItemStack(ModItems.crystal_iron, 1), 1), diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java new file mode 100644 index 000000000..e89e1c026 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java @@ -0,0 +1,222 @@ +package com.hbm.tileentity.machine.oil; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.interfaces.IFluidSource; +import com.hbm.inventory.FluidTank; +import com.hbm.inventory.recipes.RefineryRecipes; +import com.hbm.lib.Library; +import com.hbm.util.Tuple.Quartet; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; +import scala.actors.threadpool.Arrays; + +public class TileEntityMachineCatalyticCracker extends TileEntity implements IFluidSource, IFluidAcceptor { + + public FluidTank[] tanks; + public List list1 = new ArrayList(); + public List list2 = new ArrayList(); + + public TileEntityMachineCatalyticCracker() { + tanks = new FluidTank[4]; + tanks[0] = new FluidTank(FluidType.BITUMEN, 4000, 0); + tanks[1] = new FluidTank(FluidType.STEAM, 8000, 1); + tanks[2] = new FluidTank(FluidType.OIL, 4000, 2); + tanks[3] = new FluidTank(FluidType.PETROLEUM, 4000, 3); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + setupTanks(); + + if(worldObj.getTotalWorldTime() % 20 == 0) + crack(); + + if(worldObj.getTotalWorldTime() % 10 == 0) { + fillFluidInit(tanks[2].getTankType()); + fillFluidInit(tanks[3].getTankType()); + } + } + } + + private void crack() { + + Quartet quart = RefineryRecipes.getCracking(tanks[0].getTankType()); + + if(quart != null) { + + int left = quart.getY(); + int right = quart.getZ(); + + if(tanks[0].getFill() >= 100 && tanks[1].getFill() >= 100 && hasSpace(left, right)) { + tanks[0].setFill(tanks[0].getFill() - 100); + tanks[1].setFill(tanks[1].getFill() - 200); + tanks[2].setFill(tanks[2].getFill() + left); + tanks[3].setFill(tanks[3].getFill() + right); + } + } + } + + private boolean hasSpace(int left, int right) { + return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill(); + } + + private void setupTanks() { + + Quartet quart = RefineryRecipes.getCracking(tanks[0].getTankType()); + + if(quart != null) { + tanks[1].setTankType(FluidType.STEAM); + tanks[2].setTankType(quart.getW()); + tanks[3].setTankType(quart.getX()); + } else { + tanks[0].setTankType(FluidType.NONE); + tanks[1].setTankType(FluidType.NONE); + tanks[2].setTankType(FluidType.NONE); + tanks[3].setTankType(FluidType.NONE); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + for(int i = 0; i < 3; i++) + tanks[i].readFromNBT(nbt, "tank" + i); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + for(int i = 0; i < 3; i++) + tanks[i].writeToNBT(nbt, "tank" + i); + } + + @Override + public void setFillstate(int fill, int index) { + if(index < 4 && tanks[index] != null) + tanks[index].setFill(fill); + } + + @Override + public void setFluidFill(int fill, FluidType type) { + for(FluidTank tank : tanks) { + if(tank.getTankType() == type) { + tank.setFill(fill); + } + } + } + + @Override + public void setType(FluidType type, int index) { + this.tanks[index].setTankType(type); + } + + @Override + public List getTanks() { + return Arrays.asList(this.tanks); + } + + @Override + public int getFluidFill(FluidType type) { + for(FluidTank tank : tanks) { + if(tank.getTankType() == type) { + return tank.getFill(); + } + } + return 0; + } + + @Override + public int getMaxFluidFill(FluidType type) { + if(type == tanks[0].getTankType()) + return tanks[0].getMaxFill(); + else if(type == tanks[1].getTankType()) + return tanks[1].getMaxFill(); + else + return 0; + } + + @Override + public void fillFluidInit(FluidType type) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + fillFluid(xCoord + dir.offsetX * 4 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 4 + rot.offsetZ * 1, this.getTact(), type); + fillFluid(xCoord + dir.offsetX * 4 - rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 4 - rot.offsetZ * 2, this.getTact(), type); + fillFluid(xCoord - dir.offsetX * 4 + rot.offsetX * 1, yCoord, zCoord - dir.offsetZ * 4 + rot.offsetZ * 1, this.getTact(), type); + fillFluid(xCoord - dir.offsetX * 4 - rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 4 - rot.offsetZ * 2, this.getTact(), type); + + fillFluid(xCoord + dir.offsetX * 3 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 3, this.getTact(), type); + fillFluid(xCoord + dir.offsetX * 3 - rot.offsetX * 4, yCoord, zCoord + dir.offsetZ * 2 - rot.offsetZ * 4, this.getTact(), type); + fillFluid(xCoord - dir.offsetX * 3 + rot.offsetX * 3, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * 3, this.getTact(), type); + fillFluid(xCoord - dir.offsetX * 3 - rot.offsetX * 4, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 4, this.getTact(), type); + } + + @Override + public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { + Library.transmitFluid(x, y, z, newTact, this, worldObj, type); + } + + @Override + public boolean getTact() { + return worldObj.getTotalWorldTime() % 20 < 10; + } + + @Override + public List getFluidList(FluidType type) { + if(type.name().equals(tanks[2].getTankType().name())) + return list1; + if(type.name().equals(tanks[3].getTankType().name())) + return list2; + return new ArrayList(); + } + + @Override + public void clearFluidList(FluidType type) { + if(type.name().equals(tanks[2].getTankType().name())) + list1.clear(); + if(type.name().equals(tanks[3].getTankType().name())) + list2.clear(); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 3, + yCoord, + zCoord - 3, + xCoord + 4, + yCoord + 16, + zCoord + 4 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java index 1ff2aca49..52d81eee9 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java @@ -26,12 +26,10 @@ public class TileEntityMachineFractionTower extends TileEntity implements IFluid public List list2 = new ArrayList(); public TileEntityMachineFractionTower() { - super(); - tanks = new FluidTank[3]; tanks[0] = new FluidTank(FluidType.HEAVYOIL, 4000, 0); - tanks[1] = new FluidTank(FluidType.BITUMEN, 4000, 0); - tanks[2] = new FluidTank(FluidType.SMEAR, 4000, 0); + tanks[1] = new FluidTank(FluidType.BITUMEN, 4000, 1); + tanks[2] = new FluidTank(FluidType.SMEAR, 4000, 2); } @Override diff --git a/src/main/java/com/hbm/world/dungeon/ArcticVault.java b/src/main/java/com/hbm/world/dungeon/ArcticVault.java index 14a0b9f25..e94e13bfe 100644 --- a/src/main/java/com/hbm/world/dungeon/ArcticVault.java +++ b/src/main/java/com/hbm/world/dungeon/ArcticVault.java @@ -4,6 +4,8 @@ import java.util.Arrays; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockBobble.BobbleType; +import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.config.GeneralConfig; import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.main.MainRegistry; @@ -53,9 +55,21 @@ public class ArcticVault { int iz = z - 4 + world.rand.nextInt(10); if(world.getBlock(ix, y + 1, iz) == Blocks.snow_layer) { - MetaBlock b = DungeonToolbox.getRandom(crates, world.rand); - world.setBlock(ix, y + 1, iz, b.block, b.meta, 2); - world.setBlock(ix, y + 2, iz, Blocks.snow_layer); + + if(i == 0) { + world.setBlock(ix, y + 1, iz, ModBlocks.bobblehead, world.rand.nextInt(16), 3); + TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(ix, y + 1, iz); + + if(bobble != null) { + bobble.type = BobbleType.values()[world.rand.nextInt(BobbleType.values().length - 1) + 1]; + bobble.markDirty(); + } + + } else { + MetaBlock b = DungeonToolbox.getRandom(crates, world.rand); + world.setBlock(ix, y + 1, iz, b.block, b.meta, 2); + world.setBlock(ix, y + 2, iz, Blocks.snow_layer); + } } } diff --git a/src/main/java/com/hbm/world/dungeon/Bunker.java b/src/main/java/com/hbm/world/dungeon/Bunker.java index 12bd2b946..bd7deef2b 100644 --- a/src/main/java/com/hbm/world/dungeon/Bunker.java +++ b/src/main/java/com/hbm/world/dungeon/Bunker.java @@ -5,6 +5,8 @@ package com.hbm.world.dungeon; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockBobble.BobbleType; +import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.config.GeneralConfig; import com.hbm.lib.HbmChestContents; import com.hbm.lib.Library; @@ -281,7 +283,19 @@ public class Bunker extends WorldGenerator { if(world.getBlock(x + 2, y + -24, z + 1) == Blocks.chest) { WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest) world.getTileEntity(x + 2, y + -24, z + 1), rand.nextInt(2) + 6); } - world.setBlock(x + 2, y + -23, z + 1, ModBlocks.geiger, 2, 3); + + if(world.rand.nextInt(10) > 0) { + world.setBlock(x + 2, y + -23, z + 1, ModBlocks.geiger, 2, 3); + } else { + world.setBlock(x + 2, y + -23, z + 1, ModBlocks.bobblehead, 0, 3); + TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(x + 2, y + -23, z + 1); + + if(bobble != null) { + bobble.type = BobbleType.values()[world.rand.nextInt(BobbleType.values().length - 1) + 1]; + bobble.markDirty(); + } + } + world.setBlock(x + 3, y + -24, z + 1, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 4, y + -24, z + 1, Block1, 0, 3); world.setBlock(x + 11, y + -24, z + 1, Block1, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Relay.java b/src/main/java/com/hbm/world/dungeon/Relay.java index 45c5da073..8aef28321 100644 --- a/src/main/java/com/hbm/world/dungeon/Relay.java +++ b/src/main/java/com/hbm/world/dungeon/Relay.java @@ -5,6 +5,8 @@ package com.hbm.world.dungeon; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockBobble.BobbleType; +import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.config.GeneralConfig; import com.hbm.items.ModItems; @@ -659,8 +661,18 @@ public class Relay extends WorldGenerator ((TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10)).setInventorySlotContents(11, new ItemStack(ModItems.morning_glory)); } - LootGenerator.setBlock(world, x + 6, y + 1, z + 10); - LootGenerator.lootCapNuke(world, x + 6, y + 1, z + 10); + if(world.rand.nextInt(10) > 0) { + LootGenerator.setBlock(world, x + 6, y + 1, z + 10); + LootGenerator.lootCapNuke(world, x + 6, y + 1, z + 10); + } else { + world.setBlock(x + 6, y + 1, z + 10, ModBlocks.bobblehead, 2, 3); + TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(x + 6, y + 1, z + 10); + + if(bobble != null) { + bobble.type = BobbleType.values()[world.rand.nextInt(BobbleType.values().length - 1) + 1]; + bobble.markDirty(); + } + } world.setBlock(x + 7, y + 0, z + 10, Blocks.brick_block, 0, 3); world.setBlock(x + 8, y + 0, z + 10, Blocks.brick_block, 0, 3); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 86bc01307..5aa03ce19 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -235,7 +235,6 @@ container.machineShredder=Brecher container.machineSILEX=SILEX container.machineTurbine=Dampfturbine container.machineTurbofan=Turbofan -container.machine_deuterium=Deuteriumextraktor container.machine_schrabidium_transmutator=Schrabidium-Transmutationsgerät container.microwave=Mikrowelle container.miningDrill=Automatischer Minenbohrer @@ -298,6 +297,7 @@ container.turretTauon=Tauon container.uf6_tank=UF6 Tank container.wasteDrum=Abklingbecken-Trommel container.watzPowerplant=Watzkraftwerk +container.zirnox=ZIRNOX Atomreaktor death.attack.acid=%1$s fiel in Säure. death.attack.ams=%1$s wurde in tödlichen Teilchen gebadet, die von der Menschheit erst benannt werden müssen. @@ -980,6 +980,7 @@ item.chemistry_template.name=Chemievorlage: item.chernobylsign.name=Tschernobyl-Warnschild-Streitaxt item.chlorine_pinwheel.name=Chlorgas-Konverter item.chlorophyte_pickaxe.name=Grünalgenspitzhacke +item.chocolate.name=Panzerschokolade item.chocolate_milk.name=Schokomilch item.chopper.name=Jagdschrauber item.chopper_blades.name=Jagdschrauber Rotorblätter @@ -1135,9 +1136,13 @@ item.custom_nuke.name=AB - Nukleares Element item.custom_schrab.name=AB - Schrabidiumelement item.custom_tnt.name=AB - Sprengladung item.cyclotron_tower.name=Zyklotronenturm +item.debris_concrete.name=Betonbrocken +item.debris_element.name=Zerstörtes ZIRNOX-Brennstoffelement +item.debris_exchanger.name=Abgerissener Wärmetauscher item.debris_fuel.name=RBMK-Kernbrennstoffbrocken item.debris_graphite.name=Heißer Graphitbrocken item.debris_metal.name=Gebrochene Metallleiste +item.debris_shrapnel.name=Wartungssteg-Schrapnell item.definitelyfood.name=GarantiertKeinDreck-Marken Feldration item.defuser.name=High-Tech Bombenentschärfungsgerät item.demon_core_closed.name=Bedeckter Dämonenkern @@ -1155,6 +1160,7 @@ item.detonator_de.name=Totmannladung item.detonator_deadman.name=Totmannzünder item.detonator_laser.name=Laserzünder item.detonator_multi.name=Mehrfach-Fernzünder +item.deuterium_filter.name=Deuteriumfilter item.diamond_gavel.name=Diamantener Richterhammer item.digamma_diagnostic.name=Digamma-Diagnosegerät item.dns_boots.name=DNT-Nanoanzug Stiefel @@ -1694,6 +1700,7 @@ item.missile_nuclear.name=Atomrakete item.missile_nuclear_cluster.name=H-Rakete item.missile_rain.name=Schüttbombenregen item.missile_schrabidium.name=Schrabidiumrakete +item.missile_shuttle.name=Reliant Robin Space Shuttle item.missile_skin_camo.name=Raketenskin: Camouflage item.missile_skin_desert.name=Raketenskin: Wüstencamouflage item.missile_skin_flames.name=Raketenskin: Krasse Flammen @@ -1708,6 +1715,7 @@ item.missile_soyuz_lander.name=Orbitalmodul item.missile_strong.name=Starke HE Rakete item.missile_taint.name=Verdorbene Rakete item.missile_volcano.name=Tectonic Missile +item.missile_volcano.desc=Mit der Kraft von Kernwaffen können wir einen Vulkan beschwören! item.morning_glory.name=Zaunwinde item.motor.name=Motor item.motor_desh.name=Desh-Motor @@ -1830,6 +1838,7 @@ item.mp_warhead_15_n2.name=Größe 15 N²-Mine item.mp_warhead_15_nuclear.name=Größe 15 Atomsprengkopf "Tantchen Bertha" item.mp_warhead_15_nuclear_shark.name=Größe 15 Atomsprengkopf "Billigsdorfer Kugelwilli" item.mp_warhead_15_turbine.name=Größe 15 Düsentriebwerk +item.mucho_mango.name=AriZona Mucho Mango item.multi_kit.name=Mehrzweckbomben Kit item.multitool_beam.name=Power Fist (Zapper) item.multitool_decon.name=Power Fist (Dekontaminator) @@ -2105,6 +2114,7 @@ item.powder_steel_tiny.name=Kleiner Haufen Stahlstaub item.powder_strontium.name=Strontiumstaub item.powder_tantalium.name=Tantalstaub item.powder_tcalloy.name=Technetiumstahlstaub +item.powder_tektite.name=Tektitstaub item.powder_tennessine.name=Tennessinstaub item.powder_thermite.name=Thermit item.powder_thorium.name=Thoriumstaub @@ -2327,6 +2337,26 @@ item.rod_verticium.name=Verticiumbrennstab item.rod_waste.name=Atommüllstab item.rod_water.name=Wasserzelle item.rod_weidanium.name=Weidaniumbrennstab +item.rod_zirnox_empty.name=Leerer ZIRNOX-Brennstab +item.rod_zirnox_natural_uranium_fuel.name= ZIRNOX Natururankernbrennstoffzelle +item.rod_zirnox_uranium_fuel.name= ZIRNOX Urankernbrennstoffzelle +item.rod_zirnox_th232.name= ZIRNOX Thorium-232-Kernbrennstoffzelle +item.rod_zirnox_thorium_fuel.name= ZIRNOX Thoriumkernbrennstoffzelle +item.rod_zirnox_mox_fuel.name= ZIRNOX MOX-Kernbrennstoffzelle +item.rod_zirnox_plutonium_fuel.name= ZIRNOX Plutoniumkernbrennstoffzelle +item.rod_zirnox_u233_fuel.name= ZIRNOX Uran-233-Kernbrennstoffzelle +item.rod_zirnox_u235_fuel.name= ZIRNOX Uran-235-Kernbrennstoffzelle +item.rod_zirnox_les_fuel.name= ZIRNOX LES-Kernbrennstoffzelle +item.rod_zirnox_lithium.name= ZIRNOX Lithiumstab +item.rod_zirnox_tritium.name= ZIRNOX Tritiumstab +item.rod_zirnox_natural_uranium_fuel_depleted.name= Erschöpfte ZIRNOX Natururankernbrennstoffzelle +item.rod_zirnox_uranium_fuel_depleted.name= Erschöpfte ZIRNOX Urankernbrennstoffzelle +item.rod_zirnox_thorium_fuel_depleted.name= Erschöpfte ZIRNOX Thoriumkernbrennstoffzelle +item.rod_zirnox_mox_fuel_depleted.name= Erschöpfte ZIRNOX MOX-Kernbrennstoffzelle +item.rod_zirnox_plutonium_fuel_depleted.name= Erschöpfte ZIRNOX Plutoniumkernbrennstoffzelle +item.rod_zirnox_u233_fuel_depleted.name= Erschöpfte ZIRNOX Uran-233-Kernbrennstoffzelle +item.rod_zirnox_u235_fuel_depleted.name= Erschöpfte ZIRNOX Uran-235-Kernbrennstoffzelle +item.rod_zirnox_les_fuel_depleted.name= Erschöpfte ZIRNOX LES-Kernbrennstoffzelle item.rotor_steel.name=Großer Stahlrotor item.rtg_unit.name=RTG Einheit item.rune_blank.name=Blank Catalyst Matrix @@ -2348,6 +2378,7 @@ item.sat_head_resonator.name=Xenium-Resonator item.sat_head_scanner.name=M700 Oberflächenabtaster item.sat_interface.name=Satelliten-Kontrollinterface item.sat_laser.name=Orbitaler Todesstrahl +item.sat_lunar_miner.name=Mond-Förderschiff item.sat_mapper.name=Oberflächen-Abtastungssatellit item.sat_miner.name=Asteroiden-Förderschiff item.sat_radar.name=Radar-Überwachungssatellit @@ -2585,12 +2616,18 @@ item.warhead_thermo_exo.name=Exothermischer Sprengkopf item.warhead_volcano.name=Tektonischer Sprengkopf item.waste_mox.name=Erschöpfter MOX-Kernbrennstoff item.waste_mox_hot.name=Erschöpfter MOX-Kernbrennstoff (Heiß) +item.waste_natural_uranium.name=Erschöpfter Natururankernbrennstoff +item.waste_natural_uranium_hot.name=Erschöpfter Natururankernbrennstoff (Heiß) item.waste_plutonium.name=Erschöpfter Plutoniumkernbrennstoff item.waste_plutonium_hot.name=Erschöpfter Plutoniumkernbrennstoff (Heiß) item.waste_schrabidium.name=Erschöpfter Schrabidiumkernbrennstoff item.waste_schrabidium_hot.name=Erschöpfter Schrabidiumkernbrennstoff (Heiß) item.waste_thorium.name=Erschöpfter Thoriumkernbrennstoff item.waste_thorium_hot.name=Erschöpfter Thoriumkernbrennstoff (Heiß) +item.waste_u235.name=Erschöpfter Uran-235-Kernbrennstoff +item.waste_u235_hot.name=Erschöpfter Uran-235-Kernbrennstoff (Heiß) +item.waste_u233.name=Erschöpfter Uran-233-Kernbrennstoff +item.waste_u233_hot.name=Erschöpfter Uran-233-Kernbrennstoff (Heiß) item.waste_uranium.name=Erschöpfter Urankernbrennstoff item.waste_uranium_hot.name=Erschöpfter Urankernbrennstoff (Heiß) item.watch.name=Zerbrochene Taschenuhr @@ -2807,6 +2844,7 @@ tile.block_white_phosphorus.name=Weißer Phosphorblock tile.block_yellowcake.name=Yellowcakeblock tile.block_zirconium.name=Zirkoniumblock tile.boat.name=Boot +tile.bobblehead.name=Wackelpuppe tile.bomb_multi.name=Mehrzweckbombe tile.bomber.name=Abgestürtzer Bomber tile.book_guide.name=Hbm's Nuclear Tech Mod Handbuch [LEGACY] @@ -2987,6 +3025,7 @@ tile.gas_duct.name=Gasleitung tile.gas_duct_solid.name=Verstärkte Gasleitung tile.gas_explosive.name=Explosives Gas tile.gas_flammable.name=Flammbares Gas +tile.gas_meltdown.name=Kernschmelzegas tile.gas_monoxide.name=Koglenmonoxid tile.gas_radon.name=Radongas tile.gas_radon_dense.name=Dichtes Radongas @@ -3063,6 +3102,7 @@ tile.machine_boiler_electric_off.name=Elektrischer Boiler tile.machine_boiler_electric_on.name=Elektrischer Boiler tile.machine_boiler_off.name=Dampfkessel tile.machine_boiler_on.name=Dampfkessel +tile.machine_catalytic_cracker.name=Katalytischer Cracking-Turm tile.machine_centrifuge.name=Zentrifuge tile.machine_chemplant.name=Chemiefabrik tile.machine_chungus.name=Leviathan-Dampfturbine @@ -3076,7 +3116,8 @@ tile.machine_converter_rf_he.name=RF zu HE Konverter tile.machine_crystallizer.name=Erzauflöser tile.machine_cyclotron.name=Zyklotron tile.machine_detector.name=Energiedetektor -tile.machine_deuterium.name=Deuteriumextraktor +tile.machine_deuterium_extractor.name=Deuteriumextraktor +tile.machine_deuterium_tower.name=Deuteriumextraktionsturm tile.machine_diesel.name=Dieselgenerator tile.machine_difurnace_off.name=Hochofen tile.machine_difurnace_on.name=Hochofen @@ -3152,6 +3193,7 @@ tile.machine_turbofan.name=Turbofan tile.machine_uf6_tank.name=Uranhexafluorid-Tank tile.machine_waste_drum.name=Abklingbecken-Trommel tile.machine_well.name=Ölbohrturm +tile.machine_zirnox.name=ZIRNOX Atomreaktor tile.marker_structure.name=Multiblock-Strukturvorlage tile.meteor_battery.name=Stermenmetall-Elektrostatikgenerator tile.meteor_brick.name=Meteoritenziegel @@ -3390,6 +3432,7 @@ tile.turret_richard.name=Raketenwerfergeschütz "Richard" tile.turret_spitfire.name=Geschütz für das ich noch keinen Namen habe [WIP] tile.turret_tau.name=Tauonengeschütz tile.turret_tauon.name=XVL1456-Prototypengeschütz "Tauon" +tile.vacuum.name=Vakuum tile.vault_door.name=Vault-Tec Sprengtür tile.vent_chlorine.name=Chlorgas-Auslass tile.vent_chlorine_seal.name=Chlorgassiegel @@ -3397,9 +3440,9 @@ tile.vent_cloud.name=Wolken-Auslass tile.vent_pink_cloud.name=Pinker Wolken-Auslass tile.vitrified_barrel.name=Fass voll vitrifiziertem Atommüll tile.volcano_core.name=Vulkankern -item.missile_volcano.desc=Mit der Kraft von Kernwaffen können wir einen Vulkan beschwören! tile.volcanic_lava_block.name=Vulkanische Lava tile.waste_earth.name=Totes Gras +tile.waste_leaves.name=Tote Blätter tile.waste_log.name=Verkohltes Holz tile.waste_mycelium.name=Leuchtende Myzel tile.waste_planks.name=Verkohlte Holzbretter diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 9748f3d9c..9e3040be3 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -303,7 +303,6 @@ container.machineShredder=Shredder container.machineSILEX=SILEX container.machineTurbine=Steam Turbine container.machineTurbofan=Turbofan -container.machine_deuterium=Deuterium Extractor container.machine_schrabidium_transmutator=Schrabidium Transmutation Device container.microwave=Microwave container.miningDrill=Automatic Mining Drill @@ -366,6 +365,7 @@ container.turretTauon=Tauon container.uf6_tank=UF6 Tank container.wasteDrum=Spent Fuel Pool Drum container.watzPowerplant=Watz Power Plant +container.zirnox=ZIRNOX Nuclear Reactor death.attack.acid=%1$s fell into acid. death.attack.ams=%1$s was bathed in deadly particles that have yet to be named by human science. @@ -1048,6 +1048,7 @@ item.chemistry_template.name=Chemistry Template: item.chernobylsign.name=Chernobyl Warning Sign Battle Axe item.chlorine_pinwheel.name=Chlorine Pinwheel item.chlorophyte_pickaxe.name=Chlorophyte Pickaxe +item.chocolate.name=Ithis-Brand Radium Chocolate item.chocolate_milk.name=Chocolate Milk item.chopper.name=Hunter Chopper item.chopper_blades.name=Hunter Chopper Rotor Blades @@ -1203,9 +1204,13 @@ item.custom_nuke.name=Custom Nuke Nuclear Rod item.custom_schrab.name=Custom Nuke Schrabidium Rod item.custom_tnt.name=Custom Nuke Explosive Charge item.cyclotron_tower.name=Cyclotron Tower +item.debris_concrete.name=Broken Concrete +item.debris_element.name=Broken ZIRNOX Fuel Element +item.debris_exchanger.name=Heat Exchanger Piece item.debris_fuel.name=RBMK Fuel Chunk item.debris_graphite.name=Hot Graphite Chunk item.debris_metal.name=Broken Metal Bar +item.debris_shrapnel.name=Walkway Shrapnel item.definitelyfood.name=TotallyNotDirt-Brand MRE item.defuser.name=High-Tech Bomb Defusing Device item.demon_core_closed.name=Closed Demon Core @@ -1223,6 +1228,7 @@ item.detonator_de.name=Dead Man's Explosive item.detonator_deadman.name=Dead Man's Detonator item.detonator_laser.name=Laser Detonator item.detonator_multi.name=Multi Detonator +item.deuterium_filter.name=Deuterium Filter item.diamond_gavel.name=Diamond Gavel item.digamma_diagnostic.name=Digamma Diagnostic item.dns_boots.name=DNT Nano Suit Boots @@ -1762,6 +1768,7 @@ item.missile_nuclear.name=Nuclear Missile item.missile_nuclear_cluster.name=Thermonuclear Missile item.missile_rain.name=Bomblet Rain item.missile_schrabidium.name=Schrabidium Missile +item.missile_shuttle.name=Reliant Robin Space Shuttle item.missile_skin_camo.name=Missile Skin: Camo item.missile_skin_desert.name=Missile Skin: Desert Camo item.missile_skin_flames.name=Missile Skin: Sick Flames @@ -1899,6 +1906,7 @@ item.mp_warhead_15_n2.name=Size 15 N² Mine item.mp_warhead_15_nuclear.name=Size 15 Nuclear Warhead item.mp_warhead_15_nuclear_shark.name=Size 15 Nuclear Warhead item.mp_warhead_15_turbine.name=Size 15 Jet Engine +item.mucho_mango.name=AriZona Mucho Mango item.multi_kit.name=Multi Purpose Bomb Kit item.multitool_beam.name=Power Fist (Zapper) item.multitool_decon.name=Power Fist (Decontaminator) @@ -2174,6 +2182,7 @@ item.powder_steel_tiny.name=Tiny Pile of Steel Powder item.powder_strontium.name=Strontium Powder item.powder_tantalium.name=Tantalium Powder item.powder_tcalloy.name=Technetium Steel Powder +item.powder_tektite.name=Tektite Powder item.powder_tennessine.name=Tennessine Powder item.powder_thermite.name=Thermite item.powder_thorium.name=Thorium Powder @@ -2394,6 +2403,26 @@ item.rod_verticium.name=Verticium Rod item.rod_waste.name=Nuclear Waste Rod item.rod_water.name=Water Cell item.rod_weidanium.name=Weidanium Rod +item.rod_zirnox_empty.name=Empty ZIRNOX Rod +item.rod_zirnox_natural_uranium_fuel.name= ZIRNOX Natural Uranium Fuel Rod +item.rod_zirnox_uranium_fuel.name= ZIRNOX Uranium Fuel Rod +item.rod_zirnox_th232.name= ZIRNOX Thorium-232 Rod +item.rod_zirnox_thorium_fuel.name= ZIRNOX Thorium Fuel Rod +item.rod_zirnox_mox_fuel.name= ZIRNOX MOX Fuel Rod +item.rod_zirnox_plutonium_fuel.name= ZIRNOX Plutonium Fuel Rod; +item.rod_zirnox_u233_fuel.name= ZIRNOX Uranium-233 Fuel Rod +item.rod_zirnox_u235_fuel.name= ZIRNOX Uranium-235 Fuel Rod +item.rod_zirnox_les_fuel.name= ZIRNOX LES Fuel Rod +item.rod_zirnox_lithium.name= ZIRNOX Lithium Rod +item.rod_zirnox_tritium.name= ZIRNOX Tritium Rod +item.rod_zirnox_natural_uranium_fuel_depleted.name= Depleted ZIRNOX Natural Uranium Fuel Rod +item.rod_zirnox_uranium_fuel_depleted.name= Depleted ZIRNOX Uranium Fuel Rod +item.rod_zirnox_thorium_fuel_depleted.name= Depleted ZIRNOX Thorium Fuel Rod +item.rod_zirnox_mox_fuel_depleted.name= Depleted ZIRNOX MOX Fuel Rod +item.rod_zirnox_plutonium_fuel_depleted.name= Depleted ZIRNOX Plutonium Fuel Rod +item.rod_zirnox_u233_fuel_depleted.name= Depleted ZIRNOX Uranium-233 Fuel Rod +item.rod_zirnox_u235_fuel_depleted.name= Depleted ZIRNOX Uranium-235 Fuel Rod +item.rod_zirnox_les_fuel_depleted.name= Depleted ZIRNOX LES Fuel Rod item.rotor_steel.name=Large Steel Rotor item.rtg_unit.name=RTG Unit item.rune_blank.name=Blank Catalyst Matrix @@ -2415,6 +2444,7 @@ item.sat_head_resonator.name=Xenium Resonator item.sat_head_scanner.name=M700 Survey Scanner item.sat_interface.name=Satellite Control Interface item.sat_laser.name=Orbital Death Ray +item.sat_lunar_miner.name=Lunar Mining Ship item.sat_mapper.name=Surface Mapping Satellite item.sat_miner.name=Asteroid Mining Ship item.sat_radar.name=Radar Survey Satellite @@ -2652,12 +2682,18 @@ item.warhead_thermo_exo.name=Exothermic Warhead item.warhead_volcano.name=Tectonic Warhead item.waste_mox.name=Depleted MOX Fuel item.waste_mox_hot.name=Depleted MOX Fuel (Hot) +item.waste_natural_uranium.name=Depleted Natural Uranium Fuel +item.waste_natural_uranium_hot.name=Depleted Natural Uranium Fuel (Hot) item.waste_plutonium.name=Depleted Plutonium Fuel item.waste_plutonium_hot.name=Depleted Plutonium Fuel (Hot) item.waste_schrabidium.name=Depleted Schrabidium Fuel item.waste_schrabidium_hot.name=Depleted Schrabidium Fuel (Hot) item.waste_thorium.name=Depleted Thorium Fuel item.waste_thorium_hot.name=Depleted Thorium Fuel (Hot) +item.waste_u235.name=Depleted Uranium-235 Fuel +item.waste_u235_hot.name=Depleted Uranium-235 Fuel (Hot) +item.waste_u233.name=Depleted Uranium-233 Fuel +item.waste_u233_hot.name=Depleted Uranium-233 Fuel (Hot) item.waste_uranium.name=Depleted Uranium Fuel item.waste_uranium_hot.name=Depleted Uranium Fuel (Hot) item.watch.name=Broken Pocket Watch @@ -2874,6 +2910,7 @@ tile.block_white_phosphorus.name=Block of White Phosphorus tile.block_yellowcake.name=Block of Yellowcake tile.block_zirconium.name=Block of Zirconium tile.boat.name=Boat +tile.bobblehead.name=Bobblehead tile.bomb_multi.name=Multi Purpose Bomb tile.bomber.name=Crashed Bomber tile.book_guide.name=Hbm's Nuclear Tech Mod Manual [LEGACY] @@ -3054,6 +3091,7 @@ tile.gas_duct.name=Gas Pipe tile.gas_duct_solid.name=Coated Gas Pipe tile.gas_explosive.name=Explosive Gas tile.gas_flammable.name=Flammable Gas +tile.gas_meltdown.name=Meltdown Gas tile.gas_monoxide.name=Carbon Monoxide tile.gas_radon.name=Radon Gas tile.gas_radon_dense.name=Dense Radon Gas @@ -3130,6 +3168,7 @@ tile.machine_boiler_electric_off.name=Electric Boiler tile.machine_boiler_electric_on.name=Electric Boiler tile.machine_boiler_off.name=Boiler tile.machine_boiler_on.name=Boiler +tile.machine_catalytic_cracker.name=Catalytic Cracking Tower tile.machine_centrifuge.name=Centrifuge tile.machine_chemplant.name=Chemical Plant tile.machine_chungus.name=Leviathan Steam Turbine @@ -3143,7 +3182,8 @@ tile.machine_converter_rf_he.name=RF to HE Converter tile.machine_crystallizer.name=Ore Acidizer tile.machine_cyclotron.name=Cyclotron tile.machine_detector.name=Power Detector -tile.machine_deuterium.name=Deuterium Extractor +tile.machine_deuterium_extractor.name=Deuterium Extractor +tile.machine_deuterium_tower.name=Deuterium Extraction Tower tile.machine_diesel.name=Diesel Generator tile.machine_difurnace_off.name=Blast Furnace tile.machine_difurnace_on.name=Blast Furnace @@ -3219,6 +3259,7 @@ tile.machine_turbofan.name=Turbofan tile.machine_uf6_tank.name=Uranium Hexafluoride Tank tile.machine_waste_drum.name=Spent Fuel Pool Drum tile.machine_well.name=Oil Derrick +tile.machine_zirnox.name=ZIRNOX Nuclear Reactor tile.marker_structure.name=Multiblock Structure Marker tile.meteor_battery.name=Starmetal Static Electricity Generator tile.meteor_brick.name=Meteor Bricks @@ -3457,6 +3498,7 @@ tile.turret_richard.name=Rocket Launcher Turret "Richard" tile.turret_spitfire.name=Turret I have no name for right now [WIP] tile.turret_tau.name=Tauon Turret tile.turret_tauon.name=XVL1456 Prototype Turret "Tauon" +tile.vacuum.name=Vacuum tile.vault_door.name=Vault-Tec Blast Door tile.vent_chlorine.name=Chlorine Vent tile.vent_chlorine_seal.name=Chlorine Seal @@ -3466,6 +3508,7 @@ tile.vitrified_barrel.name=Vitrified Nuclear Waste Drum tile.volcanic_lava_block.name=Volcanic Lava tile.volcano_core.name=Volcano Core tile.waste_earth.name=Dead Grass +tile.waste_leaves.name=Dead Leaves tile.waste_log.name=Charred Log tile.waste_mycelium.name=Glowing Mycelium tile.waste_planks.name=Charred Wooden Planks diff --git a/src/main/resources/assets/hbm/textures/items/debris_concrete.png b/src/main/resources/assets/hbm/textures/items/debris_concrete.png new file mode 100644 index 000000000..375105695 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/debris_concrete.png differ diff --git a/src/main/resources/assets/hbm/textures/items/debris_element.png b/src/main/resources/assets/hbm/textures/items/debris_element.png new file mode 100644 index 000000000..a0170679c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/debris_element.png differ diff --git a/src/main/resources/assets/hbm/textures/items/debris_exchanger.png b/src/main/resources/assets/hbm/textures/items/debris_exchanger.png new file mode 100644 index 000000000..c21a32656 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/debris_exchanger.png differ diff --git a/src/main/resources/assets/hbm/textures/items/debris_shrapnel.png b/src/main/resources/assets/hbm/textures/items/debris_shrapnel.png new file mode 100644 index 000000000..8770e2933 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/debris_shrapnel.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index bed925318..cd746a0fd 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27_X4040", + "version":"1.0.27_X4053", "mcversion": "1.7.10", "url": "", "updateUrl": "",