diff --git a/src/main/java/assets/hbm/textures/items/bucket_schrabidic_acid.png b/src/main/java/assets/hbm/textures/items/bucket_schrabidic_acid.png new file mode 100644 index 000000000..bce75a970 Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/bucket_schrabidic_acid.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/igen.png b/src/main/java/assets/hbm/textures/models/machines/igen.png new file mode 100644 index 000000000..66a9bc457 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/igen.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/igen_pistons.png b/src/main/java/assets/hbm/textures/models/machines/igen_pistons.png new file mode 100644 index 000000000..29f48bb44 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/igen_pistons.png differ diff --git a/src/main/java/assets/hbm/textures/models/machines/igen_rotor.png b/src/main/java/assets/hbm/textures/models/machines/igen_rotor.png new file mode 100644 index 000000000..fbe4d9f72 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/machines/igen_rotor.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 39c9020df..77c630e71 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -755,6 +755,10 @@ public class ModBlocks { public static Fluid toxic_fluid; public static final Material fluidtoxic = (new MaterialLiquid(MapColor.greenColor)); + public static Block schrabidic_block; + public static Fluid schrabidic_fluid; + public static final Material fluidschrabidic = (new MaterialLiquid(MapColor.cyanColor)); + public static Block dummy_block_igenerator; public static Block dummy_port_igenerator; public static Block dummy_block_centrifuge; @@ -1391,14 +1395,18 @@ public class ModBlocks { FluidRegistry.registerFluid(mud_fluid); mud_block = new MudBlock(mud_fluid, fluidmud.setReplaceable(), ModDamageSource.mudPoisoning).setBlockName("mud_block").setResistance(500F); - acid_fluid = new AcidFluid().setDensity(2500).setViscosity(1500).setLuminosity(5).setTemperature(2773).setUnlocalizedName("mud_fluid"); + acid_fluid = new AcidFluid().setDensity(2500).setViscosity(1500).setLuminosity(5).setTemperature(2773).setUnlocalizedName("acid_fluid"); FluidRegistry.registerFluid(acid_fluid); acid_block = new AcidBlock(acid_fluid, fluidacid.setReplaceable(), ModDamageSource.acid).setBlockName("acid_block").setResistance(500F); - toxic_fluid = new ToxicFluid().setDensity(2500).setViscosity(2000).setLuminosity(15).setTemperature(2773).setUnlocalizedName("mud_fluid"); + toxic_fluid = new ToxicFluid().setDensity(2500).setViscosity(2000).setLuminosity(15).setTemperature(2773).setUnlocalizedName("toxic_fluid"); FluidRegistry.registerFluid(toxic_fluid); toxic_block = new ToxicBlock(toxic_fluid, fluidtoxic.setReplaceable(), ModDamageSource.radiation).setBlockName("toxic_block").setResistance(500F); + schrabidic_fluid = new ToxicFluid().setDensity(31200).setViscosity(500).setTemperature(273).setUnlocalizedName("schrabidic_fluid"); + FluidRegistry.registerFluid(schrabidic_fluid); + schrabidic_block = new ToxicBlock(schrabidic_fluid, fluidschrabidic.setReplaceable(), ModDamageSource.radiation).setBlockName("schrabidic_block").setResistance(500F); + dummy_block_igenerator = new DummyBlockIGenerator(Material.iron).setBlockName("dummy_block_igenerator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_igenerator = new DummyBlockIGenerator(Material.iron).setBlockName("dummy_port_igenerator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_centrifuge = new DummyBlockCentrifuge(Material.iron).setBlockName("dummy_block_centrifuge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -2032,6 +2040,7 @@ public class ModBlocks { GameRegistry.registerBlock(mud_block, mud_block.getUnlocalizedName()); GameRegistry.registerBlock(acid_block, acid_block.getUnlocalizedName()); GameRegistry.registerBlock(toxic_block, toxic_block.getUnlocalizedName()); + GameRegistry.registerBlock(schrabidic_block, schrabidic_block.getUnlocalizedName()); //Multiblock Dummy Blocks GameRegistry.registerBlock(dummy_block_igenerator, dummy_block_igenerator.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/fluid/ToxicBlock.java b/src/main/java/com/hbm/blocks/fluid/ToxicBlock.java index 9ac1d7f0a..81aa473d9 100644 --- a/src/main/java/com/hbm/blocks/fluid/ToxicBlock.java +++ b/src/main/java/com/hbm/blocks/fluid/ToxicBlock.java @@ -71,39 +71,6 @@ public class ToxicBlock extends BlockFluidClassic { @Override public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { entity.setInWeb(); - // if(entity instanceof EntityLivingBase) - // { - // entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); - // } - -// if (entity instanceof EntityPlayer && Library.checkForHazmat((EntityPlayer) entity)) { -// /* -// * Library.damageSuit(((EntityPlayer)entity), 0); -// * Library.damageSuit(((EntityPlayer)entity), 1); -// * Library.damageSuit(((EntityPlayer)entity), 2); -// * Library.damageSuit(((EntityPlayer)entity), 3); -// */ -// -// } else if (entity instanceof EntityCreeper) { -// EntityNuclearCreeper creep = new EntityNuclearCreeper(world); -// creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); -// if (!entity.isDead) -// if (!world.isRemote) -// world.spawnEntityInWorld(creep); -// entity.setDead(); -// } else if (entity instanceof EntityVillager) { -// EntityZombie creep = new EntityZombie(world); -// creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); -// entity.setDead(); -// if (!world.isRemote) -// world.spawnEntityInWorld(creep); -// } else if (entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper) -// && !(entity instanceof EntityMooshroom) && !(entity instanceof EntityZombie)) { -// entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); -// } - - //Library.applyRadiation(entity, 2 * 60 * 20, 50, 60 * 20, 35); - ContaminationUtil.applyRadData(entity, 1.0F); } diff --git a/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java b/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java index 3a5aad368..f71d3ac2b 100644 --- a/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java +++ b/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java @@ -62,7 +62,7 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp if(rand.nextInt(15) == 0) { - if(!worldObj.isRemote) + if(!worldObj.isRemote && !this.isDying) { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); this.dropDamageItem(); diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 821a1ece2..765e96b18 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -440,6 +440,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.mp_warhead_15_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack("plateSteel", 16), new ComparableStack(ModBlocks.det_charge, 2), new ComparableStack(ModItems.powder_fire, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack("plateSteel", 24), new OreDictStack("plateTitanium", 12), new ComparableStack(ModItems.ingot_pu239, 3), new ComparableStack(ModBlocks.det_charge, 4), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },500); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_n2, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack("plateSteel", 8), new OreDictStack("plateTitanium", 20), new ComparableStack(ModBlocks.det_charge, 24), new ComparableStack(Blocks.redstone_block, 12), new ComparableStack(ModItems.powder_magnetized_tungsten, 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },400); + makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack("plateDenseLead", 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new ComparableStack(ModItems.ingot_semtex, 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60); makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new ComparableStack(ModItems.plate_polymer, 64), new ComparableStack(ModItems.fins_small_steel, 4), new ComparableStack(ModItems.hull_big_titanium, 40), new ComparableStack(ModItems.hull_big_steel, 24), new ComparableStack(ModItems.ingot_fiberglass, 64), },600); makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 10), new ComparableStack(ModItems.thruster_small, 3), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.plate_polymer, 32), new ComparableStack(ModItems.hull_big_aluminium, 2), new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.ingot_fiberglass, 12), },600); makeRecipe(new ComparableStack(ModItems.sat_gerald, 1), new AStack[] {new ComparableStack(ModItems.cap_star, 1), new ComparableStack(ModItems.chlorine_pinwheel, 1), new ComparableStack(ModItems.burnt_bark, 1), new ComparableStack(ModItems.combine_scrap, 1), new ComparableStack(ModBlocks.block_euphemium_cluster, 1), new ComparableStack(ModItems.crystal_horn, 1), new ComparableStack(ModItems.crystal_charred, 1), new ComparableStack(ModBlocks.pink_log, 1), new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new ComparableStack(ModBlocks.crate_red, 1), new ComparableStack(ModBlocks.det_nuke, 16), new ComparableStack(ModItems.ingot_starmetal, 32), },1200); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 6b5ff2954..7f0aaba04 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1824,6 +1824,7 @@ public class ModItems { public static Item bucket_mud; public static Item bucket_acid; public static Item bucket_toxic; + public static Item bucket_schrabidic_acid; public static Item door_metal; public static Item door_office; @@ -3865,7 +3866,8 @@ public class ModItems { bucket_mud = new ItemModBucket(ModBlocks.mud_block).setUnlocalizedName("bucket_mud").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_mud"); bucket_acid = new ItemModBucket(ModBlocks.acid_block).setUnlocalizedName("bucket_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_acid"); bucket_toxic = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_toxic").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_toxic"); - + bucket_schrabidic_acid = new ItemModBucket(ModBlocks.toxic_block).setUnlocalizedName("bucket_schrabidic_acid").setContainerItem(Items.bucket).setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":bucket_schrabidic_acid"); + door_metal = new ItemModDoor().setUnlocalizedName("door_metal").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_metal"); door_office = new ItemModDoor().setUnlocalizedName("door_office").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_office"); door_bunker = new ItemModDoor().setUnlocalizedName("door_bunker").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_bunker"); @@ -4000,9 +4002,11 @@ public class ModItems { FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud)); FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid)); FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.toxic_fluid, 1000), new ItemStack(ModItems.bucket_toxic)); + FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.schrabidic_fluid, 1000), new ItemStack(ModItems.bucket_schrabidic_acid)); BucketHandler.INSTANCE.buckets.put(ModBlocks.mud_block, ModItems.bucket_mud); BucketHandler.INSTANCE.buckets.put(ModBlocks.acid_block, ModItems.bucket_acid); BucketHandler.INSTANCE.buckets.put(ModBlocks.toxic_block, ModItems.bucket_toxic); + BucketHandler.INSTANCE.buckets.put(ModBlocks.schrabidic_block, ModItems.bucket_schrabidic_acid); MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); } @@ -5870,6 +5874,7 @@ public class ModItems { GameRegistry.registerItem(bucket_mud, bucket_mud.getUnlocalizedName()); GameRegistry.registerItem(bucket_acid, bucket_acid.getUnlocalizedName()); GameRegistry.registerItem(bucket_toxic, bucket_toxic.getUnlocalizedName()); + GameRegistry.registerItem(bucket_schrabidic_acid, bucket_schrabidic_acid.getUnlocalizedName()); //Door Items GameRegistry.registerItem(door_metal, door_metal.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 75d519884..1156f2aba 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1644,6 +1644,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.plate_saturnite, 4), new Object[] { "##", "##", '#', ModItems.ingot_saturnite }); GameRegistry.addRecipe(new ItemStack(ModItems.plate_combine_steel, 4), new Object[] { "##", "##", '#', ModItems.ingot_combine_steel }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.neutron_reflector, 4), new Object[] { "##", "##", '#', "ingotTungsten" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.book_of_), new Object[] { "BGB", "GAG", "BGB", 'B', ModItems.egg_balefire_shard, 'G', "ingotGold", 'A', Items.book })); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 356015890..a348428e6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -95,7 +95,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer, int chance = FusionRecipes.getByproductChance(plasma.getTankType()); - if(chance > 0 && worldObj.rand.nextInt() == 0) + if(chance > 0 && worldObj.rand.nextInt(chance) == 0) produceByproduct(); }