diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 9865c1666..0af3b7708 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -515,6 +515,8 @@ item.circuit_targeting_tier4.name=Militärische Schaltplatte (Stufe 4) item.circuit_targeting_tier5.name=Militärische Schaltplatte (Stufe 5) item.circuit_targeting_tier6.name=Militärische Schaltplatte (Stufe 6) +item.selenium_piston.name=Sternmotorenkolben + tile.block_aluminium.name=Aluminiumblock tile.block_copper.name=Kupferblock tile.block_fluorite.name=Fluoritblock @@ -698,6 +700,12 @@ item.battery_lithium_cell_6.name=Sechsfache Lithium-Ionen-Energiezelle item.battery_schrabidium_cell_4.name=Vierfache Schrabidium-Energiezelle item.battery_spark_cell_6.name=Spark-Energiezelle item.battery_spark_cell_25.name=Spark-Arkane Autobatterie +item.battery_spark_cell_100.name=Spark-Arkane Energiespeicher-Matrix +item.battery_spark_cell_1000.name=Spark-Arkane Massen-Energie Speicherleere +item.battery_spark_cell_2500.name=Spark-Arkanes Dirac'sches Meer +item.battery_spark_cell_10000.name=Spark Solider Raumzeit Kristall +item.battery_spark_cell_power.name=Spark Ludicrous Physics-Defying Energy Storage Unit +item.battery_spark_cell_power.name=Spark Lächerliche Physik-missachtende Energiespeichereinheit item.upgrade_template.name=Maschinenupgrade-Vorlage item.upgrade_speed_1.name=Rotes Maschinenupgrade Mk.I diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index bdecc06ae..896f892e9 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -515,6 +515,8 @@ item.circuit_targeting_tier4.name=Military Grade Circuit Board (Tier 4) item.circuit_targeting_tier5.name=Military Grade Circuit Board (Tier 5) item.circuit_targeting_tier6.name=Military Grade Circuit Board (Tier 6) +item.selenium_piston.name=Radial Engine Piston + tile.block_aluminium.name=Block of Aluminium tile.block_copper.name=Block of Copper tile.block_fluorite.name=Block of Fluorite @@ -698,6 +700,11 @@ item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell item.battery_schrabidium_cell_4.name=Quadruple Schrabidium Power Cell item.battery_spark_cell_6.name=Spark Power Cell item.battery_spark_cell_25.name=Spark Arcane Car Battery +item.battery_spark_cell_100.name=Spark Arcane Energy Storage Array +item.battery_spark_cell_1000.name=Spark Arcane Mass-Energy Void +item.battery_spark_cell_2500.name=Spark Arcane Dirac Sea +item.battery_spark_cell_10000.name=Spark Solid Space-Time Crystal +item.battery_spark_cell_power.name=Spark Ludicrous Physics-Defying Energy Storage Unit item.upgrade_template.name=Machine Upgrade Piece Template item.upgrade_speed_1.name=Red Machine Upgrade Mk.I @@ -1230,7 +1237,7 @@ tile.yellow_barrel.name=Radioactive Barrel item.designator.name=Short Range Target Designator item.designator_range.name=Long Range Target Designator item.designator_manual.name=Manual Target Designator -item.missile_assembly.name=Small Missle Assembly +item.missile_assembly.name=Small Missile Assembly item.missile_generic.name=High Explosive Missile item.missile_anti_ballistic.name=Anti Ballistic Missile (WIP) item.missile_incendiary.name=Incendiary Missile diff --git a/assets/hbm/textures/blocks/nuke_n2.png b/assets/hbm/textures/blocks/nuke_n2.png new file mode 100644 index 000000000..42280534a Binary files /dev/null and b/assets/hbm/textures/blocks/nuke_n2.png differ diff --git a/assets/hbm/textures/gui/gui_utility.png b/assets/hbm/textures/gui/gui_utility.png index ba9e4ffb4..dbbf7404f 100644 Binary files a/assets/hbm/textures/gui/gui_utility.png and b/assets/hbm/textures/gui/gui_utility.png differ diff --git a/assets/hbm/textures/items/battery_spark_cell_100.png b/assets/hbm/textures/items/battery_spark_cell_100.png new file mode 100644 index 000000000..07b43371f Binary files /dev/null and b/assets/hbm/textures/items/battery_spark_cell_100.png differ diff --git a/assets/hbm/textures/items/battery_spark_cell_1000.png b/assets/hbm/textures/items/battery_spark_cell_1000.png new file mode 100644 index 000000000..4f256236f Binary files /dev/null and b/assets/hbm/textures/items/battery_spark_cell_1000.png differ diff --git a/assets/hbm/textures/items/battery_spark_cell_10000.png b/assets/hbm/textures/items/battery_spark_cell_10000.png new file mode 100644 index 000000000..df7e274cf Binary files /dev/null and b/assets/hbm/textures/items/battery_spark_cell_10000.png differ diff --git a/assets/hbm/textures/items/battery_spark_cell_2500.png b/assets/hbm/textures/items/battery_spark_cell_2500.png new file mode 100644 index 000000000..d9635c1e3 Binary files /dev/null and b/assets/hbm/textures/items/battery_spark_cell_2500.png differ diff --git a/assets/hbm/textures/items/battery_spark_cell_power.png b/assets/hbm/textures/items/battery_spark_cell_power.png new file mode 100644 index 000000000..e52d25bbd Binary files /dev/null and b/assets/hbm/textures/items/battery_spark_cell_power.png differ diff --git a/com/hbm/entity/effect/EntityFalloutRain.java b/com/hbm/entity/effect/EntityFalloutRain.java index 828f1bfde..e09d7243b 100644 --- a/com/hbm/entity/effect/EntityFalloutRain.java +++ b/com/hbm/entity/effect/EntityFalloutRain.java @@ -1,6 +1,9 @@ package com.hbm.entity.effect; +import com.hbm.blocks.ModBlocks; + import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; @@ -30,6 +33,23 @@ public class EntityFalloutRain extends Entity { public void onUpdate() { //super.onUpdate(); this.age++; + + + if(!worldObj.isRemote) { + + int count = (int)(Math.pow(getScale(), 2) * Math.PI / 500); + + for(int i = 0; i < count; i++) { + int x = (int) (posX + rand.nextInt((int) ((getScale() + 1) * 2)) - getScale()); + int z = (int) (posZ + rand.nextInt((int) ((getScale() + 1) * 2)) - getScale()); + int y = worldObj.getHeightValue(x, z) - 1; + + double dist = Math.sqrt(Math.pow(posX - x, 2) + Math.pow(posZ - z, 2)); + + if(dist <= getScale() && worldObj.getBlock(x, y, z) == Blocks.grass) + worldObj.setBlock(x, y, z, ModBlocks.waste_earth); + } + } if(this.age >= this.maxAge) { diff --git a/com/hbm/entity/logic/EntityNukeExplosionMK4.java b/com/hbm/entity/logic/EntityNukeExplosionMK4.java index b9374b053..0485b68ce 100644 --- a/com/hbm/entity/logic/EntityNukeExplosionMK4.java +++ b/com/hbm/entity/logic/EntityNukeExplosionMK4.java @@ -52,7 +52,8 @@ public class EntityNukeExplosionMK4 extends Entity { if(explosion.getStoredSize() < count / length) { //if(!worldObj.isRemote) //MainRegistry.logger.info(explosion.getStoredSize() + " / " + count / length); - explosion.collectTip(speed * 10); + //explosion.collectTip(speed * 10); + explosion.collectTipExperimental(speed * 10); } else if(explosion.getProgress() < count / length) { //if(!worldObj.isRemote) //MainRegistry.logger.info(explosion.getProgress() + " / " + count / length); @@ -88,6 +89,22 @@ public class EntityNukeExplosionMK4 extends Entity { public static EntityNukeExplosionMK4 statFac(World world, int r, double x, double y, double z) { + if(r == 0) + r = 25; + + r *= 2; + + EntityNukeExplosionMK4 mk4 = new EntityNukeExplosionMK4(world); + mk4.strength = (int)(r); + mk4.count = (int)(4 * Math.PI * Math.pow(mk4.strength, 2) * 25); + mk4.speed = (int)Math.ceil(100000 / mk4.strength); + mk4.setPosition(x, y, z); + mk4.length = mk4.strength / 2; + return mk4; + } + + public static EntityNukeExplosionMK4 statFacExperimental(World world, int r, double x, double y, double z) { + r *= 2; EntityNukeExplosionMK4 mk4 = new EntityNukeExplosionMK4(world); diff --git a/com/hbm/explosion/ExplosionNukeRay.java b/com/hbm/explosion/ExplosionNukeRay.java index a2073eeb3..638e2c384 100644 --- a/com/hbm/explosion/ExplosionNukeRay.java +++ b/com/hbm/explosion/ExplosionNukeRay.java @@ -166,6 +166,53 @@ public class ExplosionNukeRay { } } + public void collectTipExperimental(int count) { + + for(int k = 0; k < count; k++) { + double phi = rand.nextDouble() * (Math.PI * 2); + double costheta = rand.nextDouble() * 2 - 1; + double theta = Math.acos(costheta); + double x = Math.sin(theta) * Math.cos(phi); + double y = Math.sin(theta) * Math.sin(phi); + double z = Math.cos(theta); + + Vec3 vec = Vec3.createVectorHelper(x, y, z); + int length = (int)Math.ceil(strength); + + float res = strength; + + FloatTriplet lastPos = null; + + for(int i = 0; i < length; i ++) { + + if(i > this.length) + break; + + float x0 = (float) (posX + (vec.xCoord * i)); + float y0 = (float) (posY + (vec.yCoord * i)); + float z0 = (float) (posZ + (vec.zCoord * i)); + + double fac = 100 - ((double) i) / ((double) length) * 100; + fac *= 0.07D; + + if(!world.getBlock((int)x0, (int)y0, (int)z0).getMaterial().isLiquid()) + res -= Math.pow(world.getBlock((int)x0, (int)y0, (int)z0).getExplosionResistance(null), 7.5D - fac); + else + res -= Math.pow(Blocks.air.getExplosionResistance(null), 7.5D - fac); + + if(res > 0 && world.getBlock((int)x0, (int)y0, (int)z0) != Blocks.air) { + lastPos = new FloatTriplet(x0, y0, z0); + } + + if(res <= 0 || i + 1 >= this.length) { + if(affectedBlocks.size() < Integer.MAX_VALUE - 100 && lastPos != null) + affectedBlocks.add(new FloatTriplet(lastPos.xCoord, lastPos.yCoord, lastPos.zCoord)); + break; + } + } + } + } + public void deleteStorage() { this.affectedBlocks.clear(); } diff --git a/com/hbm/inventory/gui/GUIMachineDiesel.java b/com/hbm/inventory/gui/GUIMachineDiesel.java index 77367056a..c01321118 100644 --- a/com/hbm/inventory/gui/GUIMachineDiesel.java +++ b/com/hbm/inventory/gui/GUIMachineDiesel.java @@ -39,6 +39,19 @@ public class GUIMachineDiesel extends GuiInfoContainer { " Biofuel (400 HE/t)", " NITAN Superfuel (5000 HE/t)" }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); + + String[] text1 = new String[] { "Fuel consumption:", + " 10 mB/t", + " 200 mB/s", + "(Consumption rate is constant)" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); + + if(!diFurnace.hasAcceptableFuel()) { + + String[] text2 = new String[] { "Error: The currently set fuel type", + "is not supported by this engine!" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2); + } } @Override @@ -64,8 +77,12 @@ public class GUIMachineDiesel extends GuiInfoContainer { { drawTexturedModalRect(guiLeft + 43 + 18 * 4, guiTop + 34, 208, 0, 18, 18); } - + this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3); + + if(!diFurnace.hasAcceptableFuel()) + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6); Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tank.getSheet()); diFurnace.tank.renderTank(this, guiLeft + 80, guiTop + 69, diFurnace.tank.getTankType().textureX() * FluidTank.x, diFurnace.tank.getTankType().textureY() * FluidTank.y, 16, 52); diff --git a/com/hbm/inventory/gui/GUIMachineFluidTank.java b/com/hbm/inventory/gui/GUIMachineFluidTank.java index 3bdf9cd16..98799682b 100644 --- a/com/hbm/inventory/gui/GUIMachineFluidTank.java +++ b/com/hbm/inventory/gui/GUIMachineFluidTank.java @@ -33,6 +33,11 @@ public class GUIMachineFluidTank extends GuiInfoContainer { super.drawScreen(mouseX, mouseY, f); tank.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 71, guiTop + 69 - 52, 34, 52); + + String[] text = new String[] { + "Inserting a fuse into the marked", + "slot will set the tank to output mode" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); } @Override @@ -52,6 +57,8 @@ public class GUIMachineFluidTank extends GuiInfoContainer { if(tank.dna()) drawTexturedModalRect(guiLeft + 152, guiTop + 53, 176, 0, 16, 16); + this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); + Minecraft.getMinecraft().getTextureManager().bindTexture(tank.tank.getSheet()); tank.tank.renderTank(this, guiLeft + 71, guiTop + 69, tank.tank.getTankType().textureX() * FluidTank.x, tank.tank.getTankType().textureY() * FluidTank.y, 16, 52); tank.tank.renderTank(this, guiLeft + 71 + 16, guiTop + 69, tank.tank.getTankType().textureX() * FluidTank.x, tank.tank.getTankType().textureY() * FluidTank.y, 16, 52); diff --git a/com/hbm/inventory/gui/GUIMachineRTG.java b/com/hbm/inventory/gui/GUIMachineRTG.java index 09fe1fe68..439e7ce96 100644 --- a/com/hbm/inventory/gui/GUIMachineRTG.java +++ b/com/hbm/inventory/gui/GUIMachineRTG.java @@ -30,6 +30,11 @@ public class GUIMachineRTG extends GuiInfoContainer { super.drawScreen(mouseX, mouseY, f); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, rtg.power, rtg.powerMax); + + String[] text = new String[] { "Accepted Pellets:", + " Regular Pellet (5 HE/t)", + " Weak Pellet (3 HE/t)" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); } @Override @@ -56,5 +61,7 @@ public class GUIMachineRTG extends GuiInfoContainer { int i = (int)rtg.getPowerScaled(52); drawTexturedModalRect(guiLeft + 152, guiTop + 69 - i, 192, 52 - i, 16, i); } + + this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); } } diff --git a/com/hbm/inventory/gui/GUIMachineSelenium.java b/com/hbm/inventory/gui/GUIMachineSelenium.java index 28b752936..a5711a73a 100644 --- a/com/hbm/inventory/gui/GUIMachineSelenium.java +++ b/com/hbm/inventory/gui/GUIMachineSelenium.java @@ -35,17 +35,38 @@ public class GUIMachineSelenium extends GuiInfoContainer { this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 108, 160, 16, diFurnace.power, diFurnace.powerCap); String[] text = new String[] { "Accepted Fuels:", - " Industrial Oil (100 HE/t)", - " Heating Oil (150 HE/t)", - " Diesel (450 HE/t)", - " Kerosene (600 HE/t)", - " Reclaimed Oil (200 HE/t)", - " Petroil (250 HE/t)", - " Biofuel (400 HE/t)", - " NITAN Superfuel (5000 HE/t)", + " Industrial Oil (50 HE/t)", + " Heating Oil (75 HE/t)", + " Diesel (225 HE/t)", + " Kerosene (300 HE/t)", + " Reclaimed Oil (100 HE/t)", + " Petroil (125 HE/t)", + " Biofuel (200 HE/t)", + " NITAN Superfuel (2500 HE/t)", "(These numbers are base values,", - "actual HE/t can deviate)" }; + "actual consumption is based", + "on piston count)" }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); + + String[] text1 = new String[] { "Fuel consumption:", + " 5 mB/t", + " 100 mB/s", + "(Consumption rate per piston)" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); + + if(diFurnace.pistonCount < 3) { + + String[] text2 = new String[] { "Error: At least three pistons are", + "required to operate this radial engine!" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2); + } + + if(!diFurnace.hasAcceptableFuel()) { + + String[] text2 = new String[] { "Error: The currently set fuel type", + "is not supported by this engine!" }; + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 48, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2); + } } @Override @@ -64,6 +85,9 @@ public class GUIMachineSelenium extends GuiInfoContainer { if(diFurnace.power > 0) { int i = (int)diFurnace.getPowerScaled(160); + + i = (int) Math.min(i, 160); + drawTexturedModalRect(guiLeft + 8, guiTop + 108, 0, 222, i, 16); } @@ -78,7 +102,14 @@ public class GUIMachineSelenium extends GuiInfoContainer { drawTexturedModalRect(guiLeft + 26, guiTop + 81, 176, 52 + 16 * k - 16, 16, 16); } + if(diFurnace.pistonCount < 3) + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6); + + if(!diFurnace.hasAcceptableFuel()) + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 48, 16, 16, 7); + this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); + this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3); Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tank.getSheet()); diFurnace.tank.renderTank(this, guiLeft + 80 + 36, guiTop + 70, diFurnace.tank.getTankType().textureX() * FluidTank.x, diFurnace.tank.getTankType().textureY() * FluidTank.y, 16, 52); diff --git a/com/hbm/inventory/gui/GuiInfoContainer.java b/com/hbm/inventory/gui/GuiInfoContainer.java index fe3e75920..f7a754a74 100644 --- a/com/hbm/inventory/gui/GuiInfoContainer.java +++ b/com/hbm/inventory/gui/GuiInfoContainer.java @@ -45,13 +45,29 @@ public abstract class GuiInfoContainer extends GuiContainer { switch(type) { case 0: + //Small blue I drawTexturedModalRect(x, y, 0, 0, 8, 8); break; case 1: + //Small green I drawTexturedModalRect(x, y, 0, 8, 8, 8); break; case 2: + //Large blue I drawTexturedModalRect(x, y, 8, 0, 16, 16); break; case 3: + //Large green I drawTexturedModalRect(x, y, 24, 0, 16, 16); break; + case 4: + //Small red ! + drawTexturedModalRect(x, y, 0, 16, 8, 8); break; + case 5: + //Small yellow ! + drawTexturedModalRect(x, y, 0, 24, 8, 8); break; + case 6: + //Large red ! + drawTexturedModalRect(x, y, 8, 16, 16, 16); break; + case 7: + //Large yellow ! + drawTexturedModalRect(x, y, 24, 16, 16, 16); break; } } diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index f99dabd1c..1675f86a2 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -848,6 +848,11 @@ public class ModItems { public static Item battery_schrabidium_cell_4; public static Item battery_spark_cell_6; public static Item battery_spark_cell_25; + public static Item battery_spark_cell_100; + public static Item battery_spark_cell_1000; + public static Item battery_spark_cell_2500; + public static Item battery_spark_cell_10000; + public static Item battery_spark_cell_power; public static Item battery_su; public static Item battery_su_l; @@ -1281,8 +1286,8 @@ public class ModItems { plate_polymer = new Item().setUnlocalizedName("plate_polymer").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_polymer"); plate_dineutronium = new Item().setUnlocalizedName("plate_dineutronium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_dineutronium"); plate_desh = new Item().setUnlocalizedName("plate_desh").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":plate_desh"); - ingot_solinium = new Item().setUnlocalizedName("ingot_solinium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_solinium"); - nugget_solinium = new Item().setUnlocalizedName("nugget_solinium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_solinium"); + ingot_solinium = new ItemCustomLore().setUnlocalizedName("ingot_solinium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_solinium"); + nugget_solinium = new ItemCustomLore().setUnlocalizedName("nugget_solinium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":nugget_solinium"); ingot_dura_steel = new ItemCustomLore().setUnlocalizedName("ingot_dura_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_dura_steel"); ingot_polymer = new ItemCustomLore().setUnlocalizedName("ingot_polymer").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":ingot_polymer"); @@ -1980,6 +1985,11 @@ public class ModItems { battery_schrabidium_cell_4 = new ItemBattery(30000 * 4).setUnlocalizedName("battery_schrabidium_cell_4").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_schrabidium_cell_4"); battery_spark_cell_6 = new ItemBattery(1000000 * 6).setUnlocalizedName("battery_spark_cell_6").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_6"); battery_spark_cell_25 = new ItemBattery(1000000 * 25).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_25"); + battery_spark_cell_100 = new ItemBattery(1000000L * 100L).setUnlocalizedName("battery_spark_cell_100").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_100"); + battery_spark_cell_1000 = new ItemBattery(1000000L * 1000L).setUnlocalizedName("battery_spark_cell_1000").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_1000"); + battery_spark_cell_2500 = new ItemBattery(1000000L * 2500L).setUnlocalizedName("battery_spark_cell_2500").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_2500"); + battery_spark_cell_10000 = new ItemBattery(1000000L * 10000L).setUnlocalizedName("battery_spark_cell_10000").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_10000"); + battery_spark_cell_power = new ItemBattery(1000000L * 1000000L).setUnlocalizedName("battery_spark_cell_power").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_power"); battery_potato = new ItemBattery(1).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potato"); battery_potatos = new ItemPotatos(50).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potatos"); @@ -2814,6 +2824,11 @@ public class ModItems { GameRegistry.registerItem(battery_spark, battery_spark.getUnlocalizedName()); GameRegistry.registerItem(battery_spark_cell_6, battery_spark_cell_6.getUnlocalizedName()); GameRegistry.registerItem(battery_spark_cell_25, battery_spark_cell_25.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_100, battery_spark_cell_100.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_1000, battery_spark_cell_1000.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_2500, battery_spark_cell_2500.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_10000, battery_spark_cell_10000.getUnlocalizedName()); + GameRegistry.registerItem(battery_spark_cell_power, battery_spark_cell_power.getUnlocalizedName()); GameRegistry.registerItem(battery_creative, battery_creative.getUnlocalizedName()); GameRegistry.registerItem(battery_su, battery_su.getUnlocalizedName()); GameRegistry.registerItem(battery_su_l, battery_su_l.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemRadioactive.java b/com/hbm/items/special/ItemRadioactive.java index 2a6a1194c..42f1673e7 100644 --- a/com/hbm/items/special/ItemRadioactive.java +++ b/com/hbm/items/special/ItemRadioactive.java @@ -181,11 +181,13 @@ public class ItemRadioactive extends Item { //Schrabidic if (this == ModItems.ingot_schrabidium || + this == ModItems.ingot_solinium || this == ModItems.ingot_schrabidium_fuel || this == ModItems.ingot_hes || this == ModItems.ingot_les || this == ModItems.cell_sas3 || this == ModItems.fleija_propellant || + this == ModItems.solinium_core || this == ModItems.rod_schrabidium || this == ModItems.rod_dual_schrabidium || this == ModItems.rod_quad_schrabidium || @@ -200,6 +202,7 @@ public class ItemRadioactive extends Item { } if (this == ModItems.nugget_schrabidium || + this == ModItems.nugget_solinium || this == ModItems.nugget_schrabidium_fuel || this == ModItems.nugget_hes || this == ModItems.nugget_les) { diff --git a/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 1187286a9..46e0be0cd 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -9,6 +9,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityFurnace; import java.util.ArrayList; import java.util.List; @@ -262,28 +263,11 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory } public void generate() { - if(slots[1] != null && slots[1].getItem() == Items.coal && burnTime <= 0) + + if(slots[1] != null && TileEntityFurnace.getItemBurnTime(slots[1]) > 0 && burnTime <= 0) { + burnTime = TileEntityFurnace.getItemBurnTime(slots[1]) / 2; slots[1].stackSize -= 1; - burnTime = 200; - if(slots[1].stackSize == 0) - { - slots[1] = null; - } - } - if(slots[1] != null && slots[1].getItem() == ModItems.powder_coal && burnTime <= 0) - { - slots[1].stackSize -= 1; - burnTime = 200; - if(slots[1].stackSize == 0) - { - slots[1] = null; - } - } - if(slots[1] != null && slots[1].getItem() == Item.getItemFromBlock(Blocks.coal_block) && burnTime <= 0) - { - slots[1].stackSize -= 1; - burnTime = 2000; if(slots[1].stackSize == 0) { slots[1] = null; @@ -298,9 +282,9 @@ public class TileEntityMachineCoal extends TileEntity implements ISidedInventory { tank.setFill(tank.getFill() - 1); - if(power + 100 <= maxPower) + if(power + 25 <= maxPower) { - power += 100; + power += 25; } else { power = maxPower; } diff --git a/com/hbm/tileentity/machine/TileEntityMachineRadGen.java b/com/hbm/tileentity/machine/TileEntityMachineRadGen.java index 59b4720d6..06ff9e93b 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRadGen.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRadGen.java @@ -283,11 +283,93 @@ public class TileEntityMachineRadGen extends TileEntity implements ISidedInvento Item item = stack.getItem(); + if(item == ModItems.nugget_uranium) return 5; + if(item == ModItems.ingot_uranium) return 50; + if(item == Item.getItemFromBlock(ModBlocks.block_uranium)) return 500; + if(item == ModItems.rod_uranium) return 30; + if(item == ModItems.rod_dual_uranium) return 60; + if(item == ModItems.rod_quad_uranium) return 90; + + if(item == ModItems.nugget_u235) return 50; + if(item == ModItems.ingot_u235) return 500; + if(item == ModItems.rod_u235) return 300; + if(item == ModItems.rod_dual_u235) return 600; + if(item == ModItems.rod_quad_u235) return 900; + + if(item == ModItems.nugget_u238) return 10; + if(item == ModItems.ingot_u238) return 100; + if(item == ModItems.rod_u238) return 60; + if(item == ModItems.rod_dual_u238) return 120; + if(item == ModItems.rod_quad_u238) return 240; + + if(item == ModItems.nugget_pu238) return 40; + if(item == ModItems.ingot_pu238) return 400; + if(item == ModItems.rod_pu238) return 240; + if(item == ModItems.rod_dual_pu238) return 480; + if(item == ModItems.rod_quad_pu238) return 960; + + if(item == ModItems.nugget_pu239) return 70; + if(item == ModItems.ingot_pu239) return 700; + if(item == ModItems.rod_pu239) return 420; + if(item == ModItems.rod_dual_pu239) return 840; + if(item == ModItems.rod_quad_pu239) return 1680; + + if(item == ModItems.nugget_pu240) return 20; + if(item == ModItems.ingot_pu240) return 200; + if(item == ModItems.rod_pu240) return 120; + if(item == ModItems.rod_dual_pu240) return 240; + if(item == ModItems.rod_quad_pu240) return 480; + + if(item == ModItems.nugget_neptunium) return 60; + if(item == ModItems.ingot_neptunium) return 600; + if(item == ModItems.rod_neptunium) return 360; + if(item == ModItems.rod_dual_neptunium) return 720; + if(item == ModItems.rod_quad_neptunium) return 1440; + + if(item == ModItems.nugget_schrabidium) return 100; + if(item == ModItems.ingot_schrabidium) return 1000; + if(item == Item.getItemFromBlock(ModBlocks.block_schrabidium)) return 10000; + if(item == ModItems.rod_schrabidium) return 600; + if(item == ModItems.rod_dual_schrabidium) return 1200; + if(item == ModItems.rod_quad_schrabidium) return 2400; + + if(item == ModItems.nugget_solinium) return 120; + if(item == ModItems.ingot_solinium) return 1200; + if(item == ModItems.rod_schrabidium) return 720; + if(item == ModItems.rod_dual_schrabidium) return 1440; + if(item == ModItems.rod_quad_schrabidium) return 2880; + if(item == ModItems.nuclear_waste) return 100; + if(item == Item.getItemFromBlock(ModBlocks.block_waste)) return 1000; if(item == ModItems.trinitite) return 80; + if(item == Item.getItemFromBlock(ModBlocks.block_trinitite)) return 800; + + if(item == ModItems.rod_uranium_fuel_depleted) return 400; + if(item == ModItems.rod_dual_uranium_fuel_depleted) return 800; + if(item == ModItems.rod_quad_uranium_fuel_depleted) return 1600; + + if(item == ModItems.rod_mox_fuel_depleted) return 550; + if(item == ModItems.rod_dual_mox_fuel_depleted) return 1100; + if(item == ModItems.rod_quad_mox_fuel_depleted) return 2200; + + if(item == ModItems.rod_plutonium_fuel_depleted) return 600; + if(item == ModItems.rod_dual_plutonium_fuel_depleted) return 1200; + if(item == ModItems.rod_quad_plutonium_fuel_depleted) return 2400; + + if(item == ModItems.rod_schrabidium_fuel_depleted) return 800; + if(item == ModItems.rod_dual_schrabidium_fuel_depleted) return 1600; + if(item == ModItems.rod_quad_schrabidium_fuel_depleted) return 3200; + + if(item == ModItems.rod_quad_euphemium) return 5000; + if(item == ModItems.rod_waste) return 600; if(item == ModItems.rod_dual_waste) return 1200; if(item == ModItems.rod_quad_waste) return 4800; + + if(item == Item.getItemFromBlock(ModBlocks.block_yellowcake)) return 1000; + if(item == Item.getItemFromBlock(ModBlocks.mush)) return 10; + if(item == Item.getItemFromBlock(ModBlocks.waste_earth)) return 25; + if(item == Item.getItemFromBlock(ModBlocks.waste_mycelium)) return 150; return 0; } @@ -313,10 +395,17 @@ public class TileEntityMachineRadGen extends TileEntity implements ISidedInvento @Override public void ffgeuaInit() { int i = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); - ffgeua(this.xCoord + 1, this.yCoord, this.zCoord, getTact()); - ffgeua(this.xCoord - 1, this.yCoord, this.zCoord, getTact()); - ffgeua(this.xCoord, this.yCoord, this.zCoord + 1, getTact()); - ffgeua(this.xCoord, this.yCoord, this.zCoord - 1, getTact()); + + switch(i) { + case 2: + ffgeua(this.xCoord + 5, this.yCoord, this.zCoord, getTact()); break; + case 3: + ffgeua(this.xCoord - 5, this.yCoord, this.zCoord, getTact()); break; + case 4: + ffgeua(this.xCoord, this.yCoord, this.zCoord - 5, getTact()); break; + case 5: + ffgeua(this.xCoord, this.yCoord, this.zCoord + 5, getTact()); break; + } } @Override diff --git a/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index 7ecb3d290..ca91efed7 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -257,21 +257,21 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide public int getHEFromFuel() { FluidType type = tank.getTankType(); if(type.name().equals(FluidType.SMEAR.name())) - return 100; + return 50; if(type.name().equals(FluidType.HEATINGOIL.name())) - return 150; + return 75; if(type.name().equals(FluidType.DIESEL.name())) - return 450; + return 225; if(type.name().equals(FluidType.KEROSENE.name())) - return 600; + return 300; if(type.name().equals(FluidType.RECLAIMED.name())) - return 200; + return 100; if(type.name().equals(FluidType.PETROIL.name())) - return 250; + return 125; if(type.name().equals(FluidType.BIOFUEL.name())) - return 400; + return 200; if(type.name().equals(FluidType.NITAN.name())) - return 5000; + return 2500; return 0; } @@ -289,7 +289,7 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide if (soundCycle >= 3) soundCycle = 0; - tank.setFill(tank.getFill() - this.pistonCount * 10); + tank.setFill(tank.getFill() - this.pistonCount * 5); if (tank.getFill() < 0) tank.setFill(0); @@ -309,12 +309,7 @@ public class TileEntityMachineSeleniumEngine extends TileEntity implements ISide @Override public void ffgeuaInit() { - ffgeua(this.xCoord, this.yCoord + 1, this.zCoord, getTact()); ffgeua(this.xCoord, this.yCoord - 1, this.zCoord, getTact()); - ffgeua(this.xCoord - 1, this.yCoord, this.zCoord, getTact()); - ffgeua(this.xCoord + 1, this.yCoord, this.zCoord, getTact()); - ffgeua(this.xCoord, this.yCoord, this.zCoord - 1, getTact()); - ffgeua(this.xCoord, this.yCoord, this.zCoord + 1, getTact()); } @Override