diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index b027e4c30..bff27ae07 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -230,6 +230,7 @@ public class ModBlocks { public static Block block_graphite; public static Block block_graphite_drilled; public static Block block_graphite_fuel; + public static Block block_graphite_plutonium; public static Block block_graphite_rod; public static Block block_graphite_source; public static Block block_boron; @@ -1358,10 +1359,11 @@ public class ModBlocks { block_fallout = new BlockHazardFalling().addRadiation(ItemHazard.fo * ItemHazard.block).toBlock().setStepSound(Block.soundTypeGravel).setBlockName("block_fallout").setCreativeTab(MainRegistry.blockTab).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":ash"); block_foam = new BlockGeneric(Material.craftedSnow).setBlockName("block_foam").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSnow).setHardness(0.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":foam"); block_graphite = new BlockGraphite(Material.iron, 30, 5).setBlockName("block_graphite").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); - block_graphite_drilled = new BlockGraphiteDrilled().setBlockName("block_graphite_drilled").setCreativeTab(null).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); - block_graphite_fuel = new BlockGraphiteFuel().setBlockName("block_graphite_fuel").setCreativeTab(null).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); - block_graphite_rod = new BlockGraphiteRod().setBlockName("block_graphite_rod").setCreativeTab(null).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_graphite_rod_in"); - block_graphite_source = new BlockGraphiteSource().setBlockName("block_graphite_source").setCreativeTab(null).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F); + block_graphite_drilled = new BlockGraphiteDrilled().setBlockName("block_graphite_drilled"); + block_graphite_fuel = new BlockGraphiteFuel().setBlockName("block_graphite_fuel"); + block_graphite_plutonium = new BlockGraphiteSource().setBlockName("block_graphite_plutonium"); + block_graphite_rod = new BlockGraphiteRod().setBlockName("block_graphite_rod").setBlockTextureName(RefStrings.MODID + ":block_graphite_rod_in"); + block_graphite_source = new BlockGraphiteSource().setBlockName("block_graphite_source"); block_boron = new BlockBeaconable(Material.iron).setBlockName("block_boron").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_boron"); block_lanthanium = new BlockBeaconable(Material.iron).setBlockName("block_lanthanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_lanthanium"); block_actinium = new BlockBeaconable(Material.iron).setBlockName("block_actinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_actinium"); @@ -2285,6 +2287,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_graphite_drilled, block_graphite_drilled.getUnlocalizedName()); GameRegistry.registerBlock(block_graphite_fuel, block_graphite_fuel.getUnlocalizedName()); GameRegistry.registerBlock(block_graphite_rod, block_graphite_rod.getUnlocalizedName()); + GameRegistry.registerBlock(block_graphite_plutonium, block_graphite_plutonium.getUnlocalizedName()); GameRegistry.registerBlock(block_graphite_source, block_graphite_source.getUnlocalizedName()); GameRegistry.registerBlock(block_boron, block_boron.getUnlocalizedName()); GameRegistry.registerBlock(block_insulator, block_insulator.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java index 0ed93bb18..a0c6ce4a0 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java @@ -19,6 +19,7 @@ public class BlockGraphiteDrilled extends BlockGraphiteDrilledBase { if(side == meta * 2 || side == meta * 2 + 1) { if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_uranium, ModBlocks.block_graphite_fuel)) return true; + if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_plutonium, ModBlocks.block_graphite_plutonium)) return true; if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_source, ModBlocks.block_graphite_source)) return true; if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_boron, ModBlocks.block_graphite_rod)) return true; if(checkInteraction(world, x, y, z, 0, player, ModItems.ingot_graphite, ModBlocks.block_graphite)) return true; diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index a1775faa0..213df7cfd 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -10,6 +10,7 @@ import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.Item; @@ -25,6 +26,11 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable { public BlockGraphiteDrilledBase() { super(ModBlocks.block_graphite.getMaterial(), ((BlockFlammable) ModBlocks.block_graphite).encouragement, ((BlockFlammable) ModBlocks.block_graphite).flammability); + + this.setCreativeTab(null); + this.setStepSound(Block.soundTypeMetal); + this.setHardness(5.0F); + this.setResistance(10.0F); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java index c94cd7b3d..b849e2ff2 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java @@ -10,6 +10,9 @@ import api.hbm.block.IToolable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -23,23 +26,31 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab @Override public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { ArrayList drops = super.getDrops(world, x, y, z, metadata, fortune); - drops.add(new ItemStack(ModItems.pile_rod_uranium)); //TODO: adjust for core progress + drops.add(new ItemStack(ModItems.pile_rod_uranium)); return drops; } @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { - if(tool != ToolType.SCREWDRIVER) - return false; - if(!world.isRemote) { - - int meta = world.getBlockMetadata(x, y, z) & 3; - if(side == meta * 2 || side == meta * 2 + 1) { - world.setBlock(x, y, z, ModBlocks.block_graphite_drilled, meta, 3); - this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.pile_rod_uranium)); + if(tool == ToolType.SCREWDRIVER) { + + int meta = world.getBlockMetadata(x, y, z) & 3; + + if(side == meta * 2 || side == meta * 2 + 1) { + world.setBlock(x, y, z, ModBlocks.block_graphite_drilled, meta, 3); + this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.pile_rod_uranium)); + } + } + + if(tool == ToolType.HAND_DRILL) { + TileEntityPileFuel pile = (TileEntityPileFuel) world.getTileEntity(x, y, z); + player.addChatComponentMessage(new ChatComponentText("CP1 FUEL ASSEMBLY " + x + " " + y + " " + z).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD))); + player.addChatComponentMessage(new ChatComponentText("HEAT: " + pile.heat + "/" + pile.maxHeat).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); + player.addChatComponentMessage(new ChatComponentText("DEPLETION: " + pile.progress + "/" + pile.maxProgress).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); + player.addChatComponentMessage(new ChatComponentText("FLUX: " + pile.neutrons).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); } } diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteSource.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteSource.java index fb7b6d232..97120c264 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteSource.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteSource.java @@ -8,6 +8,7 @@ import com.hbm.tileentity.machine.pile.TileEntityPileSource; import api.hbm.block.IToolable; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -23,7 +24,7 @@ public class BlockGraphiteSource extends BlockGraphiteDrilledTE implements ITool @Override public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { ArrayList drops = super.getDrops(world, x, y, z, metadata, fortune); - drops.add(new ItemStack(ModItems.pile_rod_source)); + drops.add(new ItemStack(whoAmIAgain())); return drops; } @@ -39,10 +40,14 @@ public class BlockGraphiteSource extends BlockGraphiteDrilledTE implements ITool if(side == meta * 2 || side == meta * 2 + 1) { world.setBlock(x, y, z, ModBlocks.block_graphite_drilled, meta, 3); - this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.pile_rod_source)); + this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(whoAmIAgain())); } } return true; } + + private Item whoAmIAgain() { + return this == ModBlocks.block_graphite_plutonium ? ModItems.pile_rod_plutonium : ModItems.pile_rod_source; + } } diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 3cf5fa651..6b51a76a5 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -41,7 +41,7 @@ public class ToolRecipes { addPickaxe( ModItems.ingot_advanced_alloy, ModItems.alloy_pickaxe); addAxe( ModItems.ingot_advanced_alloy, ModItems.alloy_axe); addShovel( ModItems.ingot_advanced_alloy, ModItems.alloy_shovel); - addHoe( ModItems.ingot_advanced_alloy, ModItems.alloy_shovel); + addHoe( ModItems.ingot_advanced_alloy, ModItems.alloy_hoe); addSword( ModItems.ingot_combine_steel, ModItems.cmb_sword); addPickaxe( ModItems.ingot_combine_steel, ModItems.cmb_pickaxe); addAxe( ModItems.ingot_combine_steel, ModItems.cmb_axe); diff --git a/src/main/java/com/hbm/inventory/AnvilRecipes.java b/src/main/java/com/hbm/inventory/AnvilRecipes.java index 2be45c828..e8fd0cd6b 100644 --- a/src/main/java/com/hbm/inventory/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/AnvilRecipes.java @@ -424,6 +424,19 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.ingot_bismuth, 1), 0.75F) } ).setTier(4)); + + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModItems.pile_rod_uranium), + new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.billet_uranium, 3)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 2))}).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModItems.pile_rod_plutonium), + new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.billet_plutonium, 3)), new AnvilOutput(new ItemStack(ModItems.plate_iron, 2))}).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModItems.pile_rod_source), + 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)); } public static void pullFromAssembler(ComparableStack result, int tier) { diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index 79a20498e..d4e301a88 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -1739,6 +1739,10 @@ public class MachineRecipes { case VIT_GAS: list.add(new ItemStack(ModBlocks.sand_lead, 1)); break; + case TEL: + list.add(new ItemStack(ModItems.oil_tar, 1)); + list.add(new ItemStack(ModItems.powder_lead, 1)); + break; default: break; } @@ -1971,6 +1975,10 @@ public class MachineRecipes { case VIT_GAS: input[0] = new FluidStack(1000, FluidType.WASTEGAS); break; + case TEL: + input[0] = new FluidStack(100, FluidType.PETROLEUM); + input[1] = new FluidStack(1000, FluidType.STEAM); + break; default: break; } @@ -2124,6 +2132,9 @@ public class MachineRecipes { case VIT_GAS: output[0] = new ItemStack(ModItems.nuclear_waste_vitrified, 1); break; + case TEL: + output[0] = new ItemStack(ModItems.antiknock, 1); + break; default: break; } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 7d1234027..eac9c385c 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -763,6 +763,8 @@ public class ModItems { public static Item inf_water; public static Item inf_water_mk2; + public static Item antiknock; + public static Item canister_empty; public static Item canister_smear; public static Item canister_canola; @@ -3099,6 +3101,8 @@ public class ModItems { thermo_element = new Item().setUnlocalizedName("thermo_element").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":thermo_element"); limiter = new Item().setUnlocalizedName("limiter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":limiter"); + antiknock = new Item().setUnlocalizedName("antiknock").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":antiknock"); + canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":canister_empty"); canister_smear = new ItemCustomLore().setUnlocalizedName("canister_smear").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_smear"); canister_canola = new ItemCustomLore().setUnlocalizedName("canister_canola").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_canola"); @@ -5999,6 +6003,7 @@ public class ModItems { GameRegistry.registerItem(tank_waste, tank_waste.getUnlocalizedName()); //Canisters + GameRegistry.registerItem(antiknock, antiknock.getUnlocalizedName()); GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); GameRegistry.registerItem(canister_oil, canister_oil.getUnlocalizedName()); GameRegistry.registerItem(canister_heavyoil, canister_heavyoil.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index 47185e95c..9eb581123 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -2,6 +2,7 @@ package com.hbm.items.machine; import java.util.List; +import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.FluidStack; import com.hbm.inventory.MachineRecipes; import com.hbm.items.ModItems; @@ -19,6 +20,7 @@ import net.minecraft.util.StatCollector; public class ItemChemistryTemplate extends Item { + @Spaghetti("this system is so utterly and horribly fucking retarded i can not believe i haven't been shot for this yet") public enum EnumChemistryTemplate { //FP - Fuel Processing @@ -96,7 +98,8 @@ public class ItemChemistryTemplate extends Item { COLTAN_PAIN, COLTAN_CRYSTAL, VIT_LIQUID, - VIT_GAS; + VIT_GAS, + TEL; public static EnumChemistryTemplate getEnum(int i) { if(i < EnumChemistryTemplate.values().length) diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 05a673e55..6e1ff6c15 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -77,6 +77,8 @@ import com.hbm.tileentity.TileMappings; import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; import com.hbm.tileentity.machine.rbmk.RBMKDials; +import com.hbm.util.ArmorRegistry; +import com.hbm.util.ArmorUtil; import com.hbm.world.feature.SchistStratum; import com.hbm.world.generator.CellularDungeonFactory; @@ -865,6 +867,7 @@ public class MainRegistry { RefineryRecipes.registerFractions(); TileEntityNukeCustom.registerBombItems(); + ArmorUtil.register(); HazmatRegistry.registerHazmats(); FluidContainerRegistry.register(); TileEntityMachineReactorLarge.registerAll(); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 1207d34a0..8d0d78a7b 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -11,7 +11,6 @@ import com.hbm.tileentity.machine.rbmk.*; import com.hbm.tileentity.network.*; import com.hbm.tileentity.turret.*; -import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.tileentity.TileEntity; public class TileMappings { diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java index 6b4212116..20803bd7b 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java @@ -12,9 +12,7 @@ import net.minecraft.util.Vec3; public abstract class TileEntityPileBase extends TileEntity { @Override - public void updateEntity() { - - } + public abstract void updateEntity(); protected void castRay(int flux, int range) { diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java index 4d673b0a6..f999b6705 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java @@ -1,5 +1,76 @@ package com.hbm.tileentity.machine.pile; -public class TileEntityPileFuel extends TileEntityPileBase { +import com.hbm.blocks.ModBlocks; +import api.hbm.block.IPileNeutronReceiver; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutronReceiver { + + public int heat; + public static final int maxHeat = 1000; + public int neutrons; + public int lastNeutrons; + public int progress; + public static final int maxProgress = 100000; + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + dissipateHeat(); + react(); + + if(this.heat >= this.maxHeat) { + worldObj.setBlock(xCoord, yCoord, zCoord, Blocks.air); + worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true); + } + + if(this.progress >= this.maxProgress) { + worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.block_graphite_plutonium, this.getBlockMetadata(), 3); + } + } + } + + private void dissipateHeat() { + this.heat -= heat * 0.025; //remove 2.5% of the stored heat per tick + } + + private void react() { + + int reaction = (int) (this.neutrons * (1D - ((double)this.heat / (double)this.maxHeat) * 0.5D)); //max heat reduces reaction by 50% due to thermal expansion + + this.progress += reaction; + + if(reaction <= 0) + return; + + this.heat += reaction; + + for(int i = 0; i < 6; i++) + this.castRay(reaction, 5); + + this.lastNeutrons = this.neutrons; + this.neutrons = 0; + } + + @Override + public void receiveNeutrons(int n) { + this.neutrons += n; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.heat = nbt.getInteger("heat"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("heat", this.heat); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java index 1ac8b90b0..9bdac00fc 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java @@ -2,4 +2,13 @@ package com.hbm.tileentity.machine.pile; public class TileEntityPileSource extends TileEntityPileBase { + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + for(int i = 0; i < 6; i++) { + this.castRay(5, 5); + } + } + } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java index fcc6eabfb..aa7652ca5 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java @@ -9,6 +9,7 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.util.EntityDamageUtil; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -156,15 +157,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT { if(pinkLevel > 0) this.target.setFire(this.pinkLevel * 3); - /*for(int i = 1; i <= 10; i *= 10) { - - if(EntityDamageUtil.getLastDamage(this.target) < i * 0.5F) - EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, i * 10F); - else - break; - }*/ - - if(!this.target.isEntityAlive()) { + if(!this.target.isEntityAlive() && this.target instanceof EntityLivingBase) { NBTTagCompound vdat = new NBTTagCompound(); vdat.setString("type", "giblets"); vdat.setInteger("ent", this.target.getEntityId()); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index d3a370be2..137414d45 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -651,6 +651,7 @@ item.ams_focus_limiter.name=Beschränkender Stabilisierungsfokus item.ams_lens.name=Stabilisierer-Linse item.ams_muzzle.name=Strahlenemissions-Mündung item.analyzer.name=Analysierer +item.antiknock.name=Tetraethyblei-Antiklopfmittel item.apple_euphemium.name=Euphemiumapfel item.apple_lead.name=Bleiapfel item.apple_schrabidium.name=Schrabidiumapfel @@ -1384,6 +1385,7 @@ item.gun_uzi_silencer.name=IMI Uzi mit Schalldämpfer item.gun_xvl1456.name=XVL1456 Tau-Kanone Prototyp item.gun_xvl1456_ammo.name=Kiste mit erschöpftem Uran-235 item.gun_zomg.name=ZOMG Kanone +item.hand_drill.name=Handbohrer item.hazmat_boots.name=Strahlenschutzstiefel item.hazmat_boots_grey.name=Hochleistungs-Strahlenschutzstiefel item.hazmat_boots_red.name=Verbesserte Strahlenschutzstiefel @@ -1918,6 +1920,10 @@ item.pellet_rtg_polonium.name=Polonium-210 Pellet item.pellet_rtg_weak.name=Schwaches Uran RTG-Pellet item.pellet_schrabidium.name=Pures Schrabidium-Watzpellet item.photo_panel.name=Photovoltaikpanele +item.pile_rod_boron.name=Chicago Pile Steuerstab +item.pile_rod_plutonium.name=Chicago Pile Plutoniumstab +item.pile_rod_source.name=Chicago Pile Ra226Be-Neutronenquelle +item.pile_rod_uranium.name=Chicago Pile Uranstab item.pill_iodine.name=Iodpille item.pin.name=Haarklammer item.pipes_steel.name=Stahlrohre @@ -2653,6 +2659,11 @@ tile.block_fiberglass.name=Fiberglasrolle tile.block_fluorite.name=Fluoritblock tile.block_foam.name=Schaum tile.block_graphite.name=Graphitblock +tile.block_graphite_drilled.name=Gebohrtes Graphit +tile.block_graphite_fuel.name=Pile Brennstoff +tile.block_graphite_plutonium.name=Pile Brennstoff (Gebrütet) +tile.block_graphite_rod.name=Pile Steuerstab +tile.block_graphite_source.name=Pile Neutronenquelle tile.block_insulator.name=Isolatorrolle tile.block_lead.name=Bleiblock tile.block_lanthanium.name=Lanthanblock diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 68d7145cb..df6f71956 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -719,6 +719,7 @@ item.ams_focus_limiter.name=Limiting Stabilizer Focus item.ams_lens.name=Stabilizer Lens item.ams_muzzle.name=Ray-Emission Muzzle item.analyzer.name=Analyzer +item.antiknock.name=Tetraethyllead Antiknock Agent item.apple_euphemium.name=Euphemium Apple item.apple_lead.name=Lead Apple item.apple_schrabidium.name=Schrabidium Apple @@ -1452,6 +1453,7 @@ item.gun_uzi_silencer.name=IMI Uzi with Silencer item.gun_xvl1456.name=XVL1456 Tau Cannon Prototype item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box item.gun_zomg.name=ZOMG Cannon +item.hand_drill.name=Hand Drill item.hazmat_boots.name=Hazmat Boots item.hazmat_boots_grey.name=High-Performance Hazmat Boots item.hazmat_boots_red.name=Advanced Hazmat Boots @@ -1987,6 +1989,10 @@ item.pellet_rtg_polonium.name=Polonium-210 Fuel Pellet item.pellet_rtg_weak.name=Weak Uranium RTG Pellet item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet item.photo_panel.name=Photovoltaic Panel +item.pile_rod_boron.name=Chicago Pile Control Rod +item.pile_rod_plutonium.name=Chicago Pile Plutonium Rod +item.pile_rod_source.name=Chicago Pile Ra226Be Neutron Source +item.pile_rod_uranium.name=Chicago Pile Uranium Rod item.pill_iodine.name=Iodine Pill item.pin.name=Bobby Pin item.pipes_steel.name=Steel Pipes @@ -2721,6 +2727,11 @@ tile.block_fluorite.name=Block of Fluorite tile.block_foam.name=Foam tile.block_insulator.name=Roll of Insulation tile.block_graphite.name=Block of Graphite +tile.block_graphite_drilled.name=Drilled Graphite +tile.block_graphite_fuel.name=Pile Fuel +tile.block_graphite_plutonium.name=Pile Fuel (Bred) +tile.block_graphite_rod.name=Pile Control Rod +tile.block_graphite_source.name=Pile Neutron Source tile.block_lead.name=Block of Lead tile.block_lanthanium.name=Block of Lanthanium tile.block_lithium.name=Block of Lithium diff --git a/src/main/resources/assets/hbm/textures/blocks/block_graphite_plutonium.png b/src/main/resources/assets/hbm/textures/blocks/block_graphite_plutonium.png new file mode 100644 index 000000000..380065332 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/block_graphite_plutonium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/antiknock.png b/src/main/resources/assets/hbm/textures/items/antiknock.png new file mode 100644 index 000000000..b166b2fb4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/antiknock.png differ