diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 4349c72d6..e07fc8c9e 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -36,8 +36,9 @@ achievement.fiend2.desc=Sei gemeiner. potion.hbm_taint=Verdorben potion.hbm_mutation=Verdorbenes Herz -potion.hbm_radiation=Strahlenkrankheit +potion.hbm_radiation=Kontaminiert potion.hbm_bang=! ! ! +potion.hbm_radx=Rad-X hbmfluid.none=Nichts hbmfluid.water=Wasser @@ -875,6 +876,8 @@ item.pellet_rtg.name=Plutonium 238 Pellet item.pellet_rtg_weak.name=Schwaches Uran RTG-Pellet item.rtg_unit.name=RTG Einheit item.hazmat_cloth.name=Strahlenschutzanzugsstoff +item.hazmat_cloth_red.name=Verbesserter Strahlenschutzanzugsstoff +item.hazmat_cloth_grey.name=Blei-verstärkter Strahlenschutzanzugsstoff item.asbestos_cloth.name=Hitzeschutzanzugsstoff item.filter_coal.name=Aktivkohlefilter item.tritium_deuterium_cake.name=Tritium-Deuterium-Kuchen @@ -1313,7 +1316,10 @@ item.syringe_metal_psycho.name=Psycho item.syringe_metal_super.name=Super Stimpak item.syringe_taint.name=Wässrige Schmutzinjektion item.med_bag.name=Ärztetasche -item.radaway.name=Radaway +item.radaway.name=RadAway +item.radaway_strong.name=Starkes RadAway +item.radaway_flush.name=Elite-RadAway +item.radx.name=Rad-X item.pill_iodine.name=Iodpille item.plan_c.name=Plan C item.med_ipecac.name=Ipecac-Sirup @@ -1456,6 +1462,14 @@ item.hazmat_helmet.name=Strahlenschutzhelm item.hazmat_plate.name=Strahlenschutzbrustplatte item.hazmat_legs.name=Strahlenschutzhose item.hazmat_boots.name=Strahlenschutzstiefel +item.hazmat_helmet_red.name=Verbesserter Strahlenschutzhelm +item.hazmat_plate_red.name=Verbesserte Strahlenschutzbrustplatte +item.hazmat_legs_red.name=Verbesserte Strahlenschutzhose +item.hazmat_boots_red.name=Verbesserte Strahlenschutzstiefel +item.hazmat_helmet_grey.name=Hochleistungs-Strahlenschutzhelm +item.hazmat_plate_grey.name=Hochleistungs-Strahlenschutzbrustplatte +item.hazmat_legs_grey.name=Hochleistungs-Strahlenschutzhose +item.hazmat_boots_grey.name=Hochleistungs-Strahlenschutzstiefel item.hazmat_paa_helmet.name=PaA-Kampfschutzanzug Helm item.hazmat_paa_plate.name=PaA-Kampfschutzanzug Brustplatte item.hazmat_paa_legs.name=PaA-Kampfschutzanzug Hose @@ -1666,6 +1680,7 @@ item.bottle_nuka.name=Nuka-Cola Flasche item.bottle_cherry.name=Nuka-Cherry Flasche item.bottle_quantum.name=Nuka Cola Quantum item.bottle_sparkle.name=S~Cola +item.bottle_rad.name=S~Cola RAD item.bottle2_empty.name=Leere Glasflasche item.bottle2_korl.name=Korl item.bottle2_fritz.name=Fritz-Kola @@ -1676,6 +1691,7 @@ item.chocolate_milk.name=Schokomilch item.cap_nuka.name=Nuka-Cola Kronkorken item.cap_quantum.name=Nuka Cola Quantum Kronkorken item.cap_sparkle.name=S~Cola Kronkorken +item.cap_rad.name=S~Cola RAD Kronkorken item.cap_korl.name=Korl Kronkorken item.cap_fritz.name=Fritz-Kola Kronkorken item.cap_sunset.name=Sunset Sarsaparilla Kronkorken diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 2d2c20735..811150c93 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -36,8 +36,9 @@ achievement.fiend2.desc=Be meaner. potion.hbm_taint=Tainted potion.hbm_mutation=Tainted Heart -potion.hbm_radiation=Radiation Sickness +potion.hbm_radiation=Contaminated potion.hbm_bang=! ! ! +potion.hbm_radx=Rad-X hbmfluid.none=None hbmfluid.water=Water @@ -875,6 +876,8 @@ item.pellet_rtg.name=Plutonium 238 Fuel Pellet item.pellet_rtg_weak.name=Weak Uranium RTG Pellet item.rtg_unit.name=RTG Unit item.hazmat_cloth.name=Hazmat Cloth +item.hazmat_cloth_red.name=Advanced Hazmat Cloth +item.hazmat_cloth_grey.name=Lead-Reinforced Hazmat Cloth item.asbestos_cloth.name=Fire Proximity Cloth item.filter_coal.name=Activated Carbon Filter item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake @@ -1313,7 +1316,10 @@ item.syringe_metal_psycho.name=Psycho item.syringe_metal_super.name=Super Stimpak item.syringe_taint.name=Watery Taint Injection item.med_bag.name=Doctor's Bag -item.radaway.name=Radaway +item.radaway.name=RadAway +item.radaway_strong.name=Strong RadAway +item.radaway_flush.name=Elite RadAway +item.radx.name=Rad-X item.pill_iodine.name=Iodine Pill item.plan_c.name=Plan C item.med_ipecac.name=Ipecac Syrup @@ -1456,6 +1462,14 @@ item.hazmat_helmet.name=Hazmat Helmet item.hazmat_plate.name=Hazmat Chestplate item.hazmat_legs.name=Hazmat Leggings item.hazmat_boots.name=Hazmat Boots +item.hazmat_helmet_red.name=Advanced Hazmat Helmet +item.hazmat_plate_red.name=Advanced Hazmat Chestplate +item.hazmat_legs_red.name=Advanced Hazmat Leggings +item.hazmat_boots_red.name=Advanced Hazmat Boots +item.hazmat_helmet_grey.name=High-Performance Hazmat Helmet +item.hazmat_plate_grey.name=High-Performance Hazmat Chestplate +item.hazmat_legs_grey.name=High-Performance Hazmat Leggings +item.hazmat_boots_grey.name=High-Performance Hazmat Boots item.hazmat_paa_helmet.name=PaA Battle Hazmat Suit Helmet item.hazmat_paa_plate.name=PaA Battle Hazmat Suit Chestplate item.hazmat_paa_legs.name=PaA Battle Hazmat Suit Leggings @@ -1666,6 +1680,7 @@ item.bottle_nuka.name=Bottle of Nuka Cola item.bottle_cherry.name=Bottle of Nuka Cherry item.bottle_quantum.name=Bottle of Nuka Cola Quantum item.bottle_sparkle.name=Bottle of S~Cola +item.bottle_rad.name=Bottle of S~Cola RAD item.bottle2_empty.name=Empty Bottle item.bottle2_korl.name=Korl item.bottle2_fritz.name=Fritz Cola @@ -1676,6 +1691,7 @@ item.chocolate_milk.name=Chocolate Milk item.cap_nuka.name=Nuka Cola Bottle Cap item.cap_quantum.name=Nuka Cola Quantum Bottle Cap item.cap_sparkle.name=S~Cola Bottle Cap +item.cap_rad.name=S~Cola RAD Bottle Cap item.cap_korl.name=Korl Bottle Cap item.cap_fritz.name=Fritz Cola Bottle Cap item.cap_sunset.name=Sunset Sarsaparilla Bottle Cap diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 4aede01f1..95f82d736 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -106,6 +106,7 @@ "entity.bombDet": {"category": "player", "sounds": ["entity/bombDet1", "entity/bombDet2", "entity/bombDet3"]}, "entity.bombWhistle": {"category": "player", "sounds": [{"name": "entity/bombWhistle", "stream": false}]}, "entity.bomberLoop": {"category": "player", "sounds": [{"name": "entity/bomber1", "stream": false}]}, + "entity.bomberSmallLoop": {"category": "player", "sounds": [{"name": "entity/bomber2", "stream": false}]}, "entity.planeCrash": {"category": "player", "sounds": [{"name": "entity/planeCrash", "stream": false}]}, "entity.planeShotDown": {"category": "player", "sounds": [{"name": "entity/planeShotDown", "stream": false}]}, diff --git a/assets/hbm/sounds/entity/bomber2.ogg b/assets/hbm/sounds/entity/bomber2.ogg new file mode 100644 index 000000000..8dec8797d Binary files /dev/null and b/assets/hbm/sounds/entity/bomber2.ogg differ diff --git a/assets/hbm/textures/armor/hazmat_1_grey.png b/assets/hbm/textures/armor/hazmat_1_grey.png new file mode 100644 index 000000000..330e8ed03 Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_1_grey.png differ diff --git a/assets/hbm/textures/armor/hazmat_1_red.png b/assets/hbm/textures/armor/hazmat_1_red.png new file mode 100644 index 000000000..c0768a8fe Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_1_red.png differ diff --git a/assets/hbm/textures/armor/hazmat_2_grey.png b/assets/hbm/textures/armor/hazmat_2_grey.png new file mode 100644 index 000000000..56b58025b Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_2_grey.png differ diff --git a/assets/hbm/textures/armor/hazmat_2_red.png b/assets/hbm/textures/armor/hazmat_2_red.png new file mode 100644 index 000000000..fd842611b Binary files /dev/null and b/assets/hbm/textures/armor/hazmat_2_red.png differ diff --git a/assets/hbm/textures/gui/potions.png b/assets/hbm/textures/gui/potions.png index c78d83988..36b990af8 100644 Binary files a/assets/hbm/textures/gui/potions.png and b/assets/hbm/textures/gui/potions.png differ diff --git a/assets/hbm/textures/items/cap_rad.png b/assets/hbm/textures/items/cap_rad.png new file mode 100644 index 000000000..cc9e232e4 Binary files /dev/null and b/assets/hbm/textures/items/cap_rad.png differ diff --git a/assets/hbm/textures/items/hazmat_boots_grey.png b/assets/hbm/textures/items/hazmat_boots_grey.png new file mode 100644 index 000000000..56478847d Binary files /dev/null and b/assets/hbm/textures/items/hazmat_boots_grey.png differ diff --git a/assets/hbm/textures/items/hazmat_boots_red.png b/assets/hbm/textures/items/hazmat_boots_red.png new file mode 100644 index 000000000..1131c4fc3 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_boots_red.png differ diff --git a/assets/hbm/textures/items/hazmat_cloth_grey.png b/assets/hbm/textures/items/hazmat_cloth_grey.png new file mode 100644 index 000000000..cfdc80901 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_cloth_grey.png differ diff --git a/assets/hbm/textures/items/hazmat_cloth_red.png b/assets/hbm/textures/items/hazmat_cloth_red.png new file mode 100644 index 000000000..ca885a91b Binary files /dev/null and b/assets/hbm/textures/items/hazmat_cloth_red.png differ diff --git a/assets/hbm/textures/items/hazmat_helmet_grey.png b/assets/hbm/textures/items/hazmat_helmet_grey.png new file mode 100644 index 000000000..0bd148acd Binary files /dev/null and b/assets/hbm/textures/items/hazmat_helmet_grey.png differ diff --git a/assets/hbm/textures/items/hazmat_helmet_red.png b/assets/hbm/textures/items/hazmat_helmet_red.png new file mode 100644 index 000000000..b0a1950f3 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_helmet_red.png differ diff --git a/assets/hbm/textures/items/hazmat_legs_grey.png b/assets/hbm/textures/items/hazmat_legs_grey.png new file mode 100644 index 000000000..7218a03cf Binary files /dev/null and b/assets/hbm/textures/items/hazmat_legs_grey.png differ diff --git a/assets/hbm/textures/items/hazmat_legs_red.png b/assets/hbm/textures/items/hazmat_legs_red.png new file mode 100644 index 000000000..2c07c2b19 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_legs_red.png differ diff --git a/assets/hbm/textures/items/hazmat_plate_grey.png b/assets/hbm/textures/items/hazmat_plate_grey.png new file mode 100644 index 000000000..d6d6b6ff5 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_plate_grey.png differ diff --git a/assets/hbm/textures/items/hazmat_plate_red.png b/assets/hbm/textures/items/hazmat_plate_red.png new file mode 100644 index 000000000..6899a76d5 Binary files /dev/null and b/assets/hbm/textures/items/hazmat_plate_red.png differ diff --git a/assets/hbm/textures/items/radaway_flush.png b/assets/hbm/textures/items/radaway_flush.png new file mode 100644 index 000000000..517f340d3 Binary files /dev/null and b/assets/hbm/textures/items/radaway_flush.png differ diff --git a/assets/hbm/textures/items/radaway_strong.png b/assets/hbm/textures/items/radaway_strong.png new file mode 100644 index 000000000..0b9863ceb Binary files /dev/null and b/assets/hbm/textures/items/radaway_strong.png differ diff --git a/assets/hbm/textures/items/radx.png b/assets/hbm/textures/items/radx.png new file mode 100644 index 000000000..0026e2c0c Binary files /dev/null and b/assets/hbm/textures/items/radx.png differ diff --git a/assets/hbm/textures/models/ModelHazGrey.png b/assets/hbm/textures/models/ModelHazGrey.png new file mode 100644 index 000000000..0b2ef63ae Binary files /dev/null and b/assets/hbm/textures/models/ModelHazGrey.png differ diff --git a/assets/hbm/textures/models/ModelHazRed.png b/assets/hbm/textures/models/ModelHazRed.png new file mode 100644 index 000000000..8eaafc4cf Binary files /dev/null and b/assets/hbm/textures/models/ModelHazRed.png differ diff --git a/com/hbm/blocks/fluid/MudBlock.java b/com/hbm/blocks/fluid/MudBlock.java index 6e1b931f3..77cdc58a8 100644 --- a/com/hbm/blocks/fluid/MudBlock.java +++ b/com/hbm/blocks/fluid/MudBlock.java @@ -91,21 +91,7 @@ public class MudBlock extends BlockFluidClassic { * 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)) { + } else { entity.attackEntityFrom(ModDamageSource.mudPoisoning, 8); } } diff --git a/com/hbm/blocks/fluid/ToxicBlock.java b/com/hbm/blocks/fluid/ToxicBlock.java index a9c93411e..438c59038 100644 --- a/com/hbm/blocks/fluid/ToxicBlock.java +++ b/com/hbm/blocks/fluid/ToxicBlock.java @@ -109,7 +109,9 @@ public class ToxicBlock extends BlockFluidClassic { // entity.attackEntityFrom(ModDamageSource.radiation, 2.5F); // } - Library.applyRadiation(entity, 2 * 60 * 20, 50, 60 * 20, 35); + //Library.applyRadiation(entity, 2 * 60 * 20, 50, 60 * 20, 35); + + Library.applyRadData(entity, 1.0F); } @Override diff --git a/com/hbm/blocks/generic/BlockOre.java b/com/hbm/blocks/generic/BlockOre.java index f1f10d587..93235a45d 100644 --- a/com/hbm/blocks/generic/BlockOre.java +++ b/com/hbm/blocks/generic/BlockOre.java @@ -230,38 +230,42 @@ public class BlockOre extends Block { { ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2 * 60 * 20, 2)); } - /*if (entity instanceof EntityLivingBase && this == ModBlocks.block_trinitite) + if (entity instanceof EntityLivingBase && this == ModBlocks.block_trinitite) { - Library.applyRadiation((EntityLivingBase)entity, 45, 19, 30, 14); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2)); } if (entity instanceof EntityLivingBase && this == ModBlocks.block_waste) { - Library.applyRadiation((EntityLivingBase)entity, 60, 19, 40, 14); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2)); } if (entity instanceof EntityLivingBase && (this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red)) { - Library.applyRadiation((EntityLivingBase)entity, 30, 9, 15, 4); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0)); } if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_0) { - Library.applyRadiation((EntityLivingBase)entity, 30, 10, 20, 5); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 0)); } if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_1) { - Library.applyRadiation((EntityLivingBase)entity, 60, 25, 40, 20); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 1)); } if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_2) { - Library.applyRadiation((EntityLivingBase)entity, 2 * 60, 40, 90, 30); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2)); } if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_3) { - Library.applyRadiation((EntityLivingBase)entity, 3 * 60, 60, 2 * 60, 40); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 3)); } if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_4) { - Library.applyRadiation((EntityLivingBase)entity, 4 * 60, 80, 2 * 90, 60); - }*/ + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 4)); + } + if (entity instanceof EntityLivingBase && this == ModBlocks.sellafield_core) + { + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 5)); + } if(this == ModBlocks.block_meteor_molten) entity.setFire(5); diff --git a/com/hbm/entity/effect/EntityFalloutRain.java b/com/hbm/entity/effect/EntityFalloutRain.java index 40f3fb27b..7aa3d0477 100644 --- a/com/hbm/entity/effect/EntityFalloutRain.java +++ b/com/hbm/entity/effect/EntityFalloutRain.java @@ -5,11 +5,13 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.NukeEnvironmentalEffect; import com.hbm.lib.Library; +import com.hbm.potion.HbmPotion; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; @@ -75,16 +77,20 @@ public class EntityFalloutRain extends Entity { EntityLivingBase entity = (EntityLivingBase) o; if(Math.sqrt(Math.pow(entity.posX - posX, 2) + Math.pow(entity.posZ - posZ, 2)) <= getScale()) { - Library.applyRadiation(entity, 30, 9, 0, 0); + //Library.applyRadiation(entity, 30, 9, 0, 0); + + entity.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 30 * 20, 2)); } } } - } - - if(this.age >= this.maxAge) - { - this.age = 0; - this.setDead(); + + if(this.age >= this.maxAge) + { + this.age = 0; + this.setDead(); + } + + System.out.println(age + " " + maxAge); } } @@ -96,11 +102,15 @@ public class EntityFalloutRain extends Entity { @Override protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { age = p_70037_1_.getShort("age"); + setScale(p_70037_1_.getInteger("scale")); + maxAge = p_70037_1_.getShort("maxAge"); } @Override protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { p_70014_1_.setShort("age", (short)age); + p_70014_1_.setInteger("scale", getScale()); + p_70014_1_.setShort("maxAge", (short)maxAge); } diff --git a/com/hbm/entity/logic/EntityNukeExplosionMK4.java b/com/hbm/entity/logic/EntityNukeExplosionMK4.java index b243c6fdf..7ca8fed12 100644 --- a/com/hbm/entity/logic/EntityNukeExplosionMK4.java +++ b/com/hbm/entity/logic/EntityNukeExplosionMK4.java @@ -5,6 +5,7 @@ import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionNukeRay; import com.hbm.main.MainRegistry; +import com.hbm.saveddata.RadiationSavedData; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; @@ -45,6 +46,15 @@ public class EntityNukeExplosionMK4 extends Entity { return; } + if(!worldObj.isRemote && fallout && explosion != null) { + RadiationSavedData data = RadiationSavedData.getData(worldObj); + + float radMax = (float) (length / 2F * Math.pow(length, 2) / 35F); + System.out.println(radMax); + float rad = radMax / 4F; + data.incrementRad(worldObj, (int)this.posX, (int)this.posZ, rad, radMax); + } + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); if(rand.nextInt(5) == 0) this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); @@ -73,7 +83,7 @@ public class EntityNukeExplosionMK4 extends Entity { explosion.processTip(1024); } else if(fallout) { - EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 1.8) * 25 * MainRegistry.falloutDura / 100); + EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 0.9) * 2 * MainRegistry.falloutDura / 100); fallout.posX = this.posX; fallout.posY = this.posY; fallout.posZ = this.posZ; diff --git a/com/hbm/entity/mob/EntityNuclearCreeper.java b/com/hbm/entity/mob/EntityNuclearCreeper.java index ca29ab36b..403d740aa 100644 --- a/com/hbm/entity/mob/EntityNuclearCreeper.java +++ b/com/hbm/entity/mob/EntityNuclearCreeper.java @@ -258,7 +258,9 @@ public class EntityNuclearCreeper extends EntityMob { { if(entity instanceof EntityLivingBase && !(entity instanceof EntityNuclearCreeper)) { - Library.applyRadiation(entity, 20, 9, 5, 2); + //Library.applyRadiation(entity, 20, 9, 5, 2); + + Library.applyRadData(entity, 0.25F); } } } diff --git a/com/hbm/handler/HazmatRegistry.java b/com/hbm/handler/HazmatRegistry.java new file mode 100644 index 000000000..c1b99e149 --- /dev/null +++ b/com/hbm/handler/HazmatRegistry.java @@ -0,0 +1,60 @@ +package com.hbm.handler; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.potion.HbmPotion; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; + +public class HazmatRegistry { + + public static final HazmatRegistry instance = new HazmatRegistry(); + private static List entries = new ArrayList(); + + private class HazmatEntry { + + private Item item; + private float resistance; + + private HazmatEntry(Item item, float resistance) { + this.item = item; + this.resistance = resistance; + } + } + + public void registerHazmat(Item item, float resistance) { + + entries.add(new HazmatEntry(item, resistance)); + } + + public float getResistance(Item item) { + + for(HazmatEntry entry : entries) { + + if(entry.item == item) + return entry.resistance; + } + + return 0.0F; + } + + public float getResistance(EntityPlayer player) { + + float res = 0.0F; + + for(int i = 0; i < 4; i++) { + if(player.inventory.armorInventory[i] != null) { + res += getResistance(player.inventory.armorInventory[i].getItem()); + } + } + + if(player.isPotionActive(HbmPotion.radx)) + res += 0.4F; + + return res; + + } + +} diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 7bca29bef..a153239c7 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -128,6 +128,8 @@ public class ModItems { public static Item nugget_beryllium; public static Item plate_gold; public static Item hazmat_cloth; + public static Item hazmat_cloth_red; + public static Item hazmat_cloth_grey; public static Item asbestos_cloth; public static Item filter_coal; public static Item plate_advanced_alloy; @@ -522,6 +524,9 @@ public class ModItems { public static Item syringe_metal_super; public static Item syringe_taint; public static Item radaway; + public static Item radaway_strong; + public static Item radaway_flush; + public static Item radx; public static Item med_bag; public static Item pill_iodine; public static Item plan_c; @@ -541,6 +546,7 @@ public class ModItems { public static Item bottle_cherry; public static Item bottle_quantum; public static Item bottle_sparkle; + public static Item bottle_rad; public static Item bottle2_empty; public static Item bottle2_korl; public static Item bottle2_fritz; @@ -551,6 +557,7 @@ public class ModItems { public static Item cap_nuka; public static Item cap_quantum; public static Item cap_sparkle; + public static Item cap_rad; public static Item cap_korl; public static Item cap_fritz; public static Item cap_sunset; @@ -1134,6 +1141,14 @@ public class ModItems { public static Item hazmat_plate; public static Item hazmat_legs; public static Item hazmat_boots; + public static Item hazmat_helmet_red; + public static Item hazmat_plate_red; + public static Item hazmat_legs_red; + public static Item hazmat_boots_red; + public static Item hazmat_helmet_grey; + public static Item hazmat_plate_grey; + public static Item hazmat_legs_grey; + public static Item hazmat_boots_grey; public static Item hazmat_paa_helmet; public static Item hazmat_paa_plate; @@ -1495,6 +1510,8 @@ public class ModItems { nugget_schrabidium = new ItemCustomLore().setUnlocalizedName("nugget_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_schrabidium"); nugget_beryllium = new Item().setUnlocalizedName("nugget_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_beryllium"); hazmat_cloth = new Item().setUnlocalizedName("hazmat_cloth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth"); + hazmat_cloth_red = new Item().setUnlocalizedName("hazmat_cloth_red").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth_red"); + hazmat_cloth_grey = new Item().setUnlocalizedName("hazmat_cloth_grey").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hazmat_cloth_grey"); asbestos_cloth = new Item().setUnlocalizedName("asbestos_cloth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":asbestos_cloth"); filter_coal = new Item().setUnlocalizedName("filter_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":filter_coal"); ingot_hes = new ItemRadioactive().setUnlocalizedName("ingot_hes").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_hes"); @@ -1830,6 +1847,9 @@ public class ModItems { syringe_taint = new ItemSyringe().setUnlocalizedName("syringe_taint").setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":syringe_taint"); med_bag = new ItemSyringe().setUnlocalizedName("med_bag").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_bag"); radaway = new ItemSyringe().setUnlocalizedName("radaway").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radaway"); + radaway_strong = new ItemSyringe().setUnlocalizedName("radaway_strong").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radaway_strong"); + radaway_flush = new ItemSyringe().setUnlocalizedName("radaway_flush").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radaway_flush"); + radx = new ItemPill(0).setUnlocalizedName("radx").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":radx"); pill_iodine = new ItemPill(0).setUnlocalizedName("pill_iodine").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pill_iodine"); plan_c = new ItemPill(0).setUnlocalizedName("plan_c").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":plan_c"); stealth_boy = new ItemStarterKit().setUnlocalizedName("stealth_boy").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":stealth_boy"); @@ -1848,6 +1868,7 @@ public class ModItems { bottle_cherry = new ItemEnergy().setUnlocalizedName("bottle_cherry").setContainerItem(ModItems.bottle_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle_cherry"); bottle_quantum = new ItemEnergy().setUnlocalizedName("bottle_quantum").setContainerItem(ModItems.bottle_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle_quantum"); bottle_sparkle = new ItemEnergy().setUnlocalizedName("bottle_sparkle").setContainerItem(ModItems.bottle_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle_sparkle"); + bottle_rad = new ItemEnergy().setUnlocalizedName("bottle_rad").setContainerItem(ModItems.bottle_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle_rad"); bottle2_empty = new Item().setUnlocalizedName("bottle2_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle2_empty"); bottle2_korl = new ItemEnergy().setUnlocalizedName("bottle2_korl").setContainerItem(ModItems.bottle2_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle2_korl"); bottle2_fritz = new ItemEnergy().setUnlocalizedName("bottle2_fritz").setContainerItem(ModItems.bottle2_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle2_fritz"); @@ -1858,6 +1879,7 @@ public class ModItems { cap_nuka = new Item().setUnlocalizedName("cap_nuka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_nuka"); cap_quantum = new Item().setUnlocalizedName("cap_quantum").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_quantum"); cap_sparkle = new Item().setUnlocalizedName("cap_sparkle").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_sparkle"); + cap_rad = new Item().setUnlocalizedName("cap_rad").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_rad"); cap_korl = new Item().setUnlocalizedName("cap_korl").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_korl"); cap_fritz = new Item().setUnlocalizedName("cap_fritz").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_fritz"); cap_sunset = new Item().setUnlocalizedName("cap_sunset").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_sunset"); @@ -2494,6 +2516,14 @@ public class ModItems { hazmat_plate = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat, 9, 1).setUnlocalizedName("hazmat_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_plate"); hazmat_legs = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat, 9, 2).setUnlocalizedName("hazmat_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_legs"); hazmat_boots = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat, 9, 3).setUnlocalizedName("hazmat_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_boots"); + hazmat_helmet_red = new ArmorModel(MainRegistry.enumArmorMaterialHazmat2, 9, 0).setUnlocalizedName("hazmat_helmet_red").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_helmet_red"); + hazmat_plate_red = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat2, 9, 1).setUnlocalizedName("hazmat_plate_red").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_plate_red"); + hazmat_legs_red = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat2, 9, 2).setUnlocalizedName("hazmat_legs_red").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_legs_red"); + hazmat_boots_red = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat2, 9, 3).setUnlocalizedName("hazmat_boots_red").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_boots_red"); + hazmat_helmet_grey = new ArmorModel(MainRegistry.enumArmorMaterialHazmat3, 9, 0).setUnlocalizedName("hazmat_helmet_grey").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_helmet_grey"); + hazmat_plate_grey = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat3, 9, 1).setUnlocalizedName("hazmat_plate_grey").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_plate_grey"); + hazmat_legs_grey = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat3, 9, 2).setUnlocalizedName("hazmat_legs_grey").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_legs_grey"); + hazmat_boots_grey = new ArmorHazmat(MainRegistry.enumArmorMaterialHazmat3, 9, 3).setUnlocalizedName("hazmat_boots_grey").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_boots_grey"); hazmat_paa_helmet = new ArmorHazmat(MainRegistry.enumArmorMaterialPaa, 9, 0).setUnlocalizedName("hazmat_paa_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_helmet"); hazmat_paa_plate = new ArmorHazmat(MainRegistry.enumArmorMaterialPaa, 9, 1).setUnlocalizedName("hazmat_paa_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_plate"); hazmat_paa_legs = new ArmorHazmat(MainRegistry.enumArmorMaterialPaa, 9, 2).setUnlocalizedName("hazmat_paa_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":hazmat_paa_legs"); @@ -2902,6 +2932,8 @@ public class ModItems { //Other Plates GameRegistry.registerItem(hazmat_cloth, hazmat_cloth.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_cloth_red, hazmat_cloth_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_cloth_grey, hazmat_cloth_grey.getUnlocalizedName()); GameRegistry.registerItem(asbestos_cloth, asbestos_cloth.getUnlocalizedName()); GameRegistry.registerItem(filter_coal, filter_coal.getUnlocalizedName()); @@ -3751,6 +3783,9 @@ public class ModItems { GameRegistry.registerItem(syringe_taint, syringe_taint.getUnlocalizedName()); GameRegistry.registerItem(med_bag, med_bag.getUnlocalizedName()); GameRegistry.registerItem(radaway, radaway.getUnlocalizedName()); + GameRegistry.registerItem(radaway_strong, radaway_strong.getUnlocalizedName()); + GameRegistry.registerItem(radaway_flush, radaway_flush.getUnlocalizedName()); + GameRegistry.registerItem(radx, radx.getUnlocalizedName()); GameRegistry.registerItem(pill_iodine, pill_iodine.getUnlocalizedName()); GameRegistry.registerItem(plan_c, plan_c.getUnlocalizedName()); GameRegistry.registerItem(stealth_boy, stealth_boy.getUnlocalizedName()); @@ -3790,6 +3825,7 @@ public class ModItems { GameRegistry.registerItem(bottle_cherry, bottle_cherry.getUnlocalizedName()); GameRegistry.registerItem(bottle_quantum, bottle_quantum.getUnlocalizedName()); GameRegistry.registerItem(bottle_sparkle, bottle_sparkle.getUnlocalizedName()); + GameRegistry.registerItem(bottle_rad, bottle_rad.getUnlocalizedName()); GameRegistry.registerItem(bottle2_empty, bottle2_empty.getUnlocalizedName()); GameRegistry.registerItem(bottle2_korl, bottle2_korl.getUnlocalizedName()); GameRegistry.registerItem(bottle2_fritz, bottle2_fritz.getUnlocalizedName()); @@ -3802,6 +3838,7 @@ public class ModItems { GameRegistry.registerItem(cap_nuka, cap_nuka.getUnlocalizedName()); GameRegistry.registerItem(cap_quantum, cap_quantum.getUnlocalizedName()); GameRegistry.registerItem(cap_sparkle, cap_sparkle.getUnlocalizedName()); + GameRegistry.registerItem(cap_rad, cap_rad.getUnlocalizedName()); GameRegistry.registerItem(cap_korl, cap_korl.getUnlocalizedName()); GameRegistry.registerItem(cap_fritz, cap_fritz.getUnlocalizedName()); GameRegistry.registerItem(cap_sunset, cap_sunset.getUnlocalizedName()); @@ -3899,6 +3936,14 @@ public class ModItems { GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName()); GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName()); GameRegistry.registerItem(hazmat_boots, hazmat_boots.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_helmet_red, hazmat_helmet_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_plate_red, hazmat_plate_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_legs_red, hazmat_legs_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_boots_red, hazmat_boots_red.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_helmet_grey, hazmat_helmet_grey.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_plate_grey, hazmat_plate_grey.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_legs_grey, hazmat_legs_grey.getUnlocalizedName()); + GameRegistry.registerItem(hazmat_boots_grey, hazmat_boots_grey.getUnlocalizedName()); GameRegistry.registerItem(hazmat_paa_helmet, hazmat_paa_helmet.getUnlocalizedName()); GameRegistry.registerItem(hazmat_paa_plate, hazmat_paa_plate.getUnlocalizedName()); GameRegistry.registerItem(hazmat_paa_legs, hazmat_paa_legs.getUnlocalizedName()); diff --git a/com/hbm/items/food/ItemEnergy.java b/com/hbm/items/food/ItemEnergy.java index d60d1baa1..895ffa599 100644 --- a/com/hbm/items/food/ItemEnergy.java +++ b/com/hbm/items/food/ItemEnergy.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.explosion.ExplosionLarge; import com.hbm.items.ModItems; +import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; @@ -74,12 +75,14 @@ public class ItemEnergy extends Item { player.heal(4F); player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 30 * 20, 1)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 30 * 20, 1)); + Library.applyRadDirect(player, 5.0F); } if(this == ModItems.bottle_cherry) { player.heal(6F); player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 30 * 20, 0)); player.addPotionEffect(new PotionEffect(Potion.jump.id, 30 * 20, 2)); + Library.applyRadDirect(player, 5.0F); } if(this == ModItems.bottle_quantum) { @@ -87,6 +90,7 @@ public class ItemEnergy extends Item { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 30 * 20, 1)); player.addPotionEffect(new PotionEffect(Potion.resistance.id, 30 * 20, 2)); player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 30 * 20, 1)); + Library.applyRadDirect(player, 15.0F); } if(this == ModItems.bottle2_korl) { @@ -123,6 +127,17 @@ public class ItemEnergy extends Item { player.addPotionEffect(new PotionEffect(Potion.resistance.id, 120 * 20, 2)); player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 120 * 20, 2)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 120 * 20, 1)); + Library.applyRadDirect(player, 5.0F); + } + if(this == ModItems.bottle_rad) + { + player.heal(10F); + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 120 * 20, 1)); + player.addPotionEffect(new PotionEffect(Potion.resistance.id, 120 * 20, 2)); + player.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 120 * 20, 0)); + player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 120 * 20, 4)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 120 * 20, 1)); + Library.applyRadDirect(player, 15.0F); } if(this == ModItems.bottle2_sunset) { @@ -198,6 +213,16 @@ public class ItemEnergy extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.bottle_empty)); } + if(this == ModItems.bottle_rad) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.cap_rad)); + if (stack.stackSize <= 0) + { + return new ItemStack(ModItems.bottle_empty); + } + + player.inventory.addItemStackToInventory(new ItemStack(ModItems.bottle_empty)); + } + if(this == ModItems.bottle2_sunset) { if(world.rand.nextInt(10) == 0) @@ -318,6 +343,13 @@ public class ItemEnergy extends Item { else list.add("The most delicious beverage in the wasteland!"); } + if(this == ModItems.bottle_sparkle) + { + if(MainRegistry.polaroidID == 11) + list.add("Now with 400% more radiation!"); + else + list.add("Tastes like radish and radiation."); + } if(this == ModItems.bottle2_sunset) { if(MainRegistry.polaroidID == 11) { diff --git a/com/hbm/items/food/ItemPill.java b/com/hbm/items/food/ItemPill.java index d4ac70645..c4e9afb5c 100644 --- a/com/hbm/items/food/ItemPill.java +++ b/com/hbm/items/food/ItemPill.java @@ -11,6 +11,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; public class ItemPill extends ItemFood { @@ -43,6 +44,10 @@ public class ItemPill extends ItemFood { for(int i = 0; i < 10; i++) player.attackEntityFrom(rand.nextBoolean() ? ModDamageSource.euthanizedSelf : ModDamageSource.euthanizedSelf2, 1000); } + + if(this == ModItems.radx) { + player.addPotionEffect(new PotionEffect(HbmPotion.radx.id, 3 * 60 * 20, 0)); + } } } @@ -55,6 +60,22 @@ public class ItemPill extends ItemFood { if(this == ModItems.plan_c) { list.add("Deadly"); } + if(this == ModItems.radx) { + list.add("Increases radiation resistance by 0.4 for 3 minutes"); + } + } + + @Override + public int getMaxItemUseDuration(ItemStack p_77626_1_) { + return 10; + } + + @Override + public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { + + p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); + + return p_77659_1_; } } diff --git a/com/hbm/items/gear/ArmorHazmat.java b/com/hbm/items/gear/ArmorHazmat.java index 563fe855d..bbd256364 100644 --- a/com/hbm/items/gear/ArmorHazmat.java +++ b/com/hbm/items/gear/ArmorHazmat.java @@ -39,6 +39,18 @@ public class ArmorHazmat extends ItemArmor { if(stack.getItem().equals(ModItems.hazmat_paa_legs)) { return (RefStrings.MODID + ":textures/armor/hazmat_paa_2.png"); } + if(stack.getItem().equals(ModItems.hazmat_helmet_red) || stack.getItem().equals(ModItems.hazmat_plate_red) || stack.getItem().equals(ModItems.hazmat_boots_red)) { + return (RefStrings.MODID + ":textures/armor/hazmat_1_red.png"); + } + if(stack.getItem().equals(ModItems.hazmat_legs_red)) { + return (RefStrings.MODID + ":textures/armor/hazmat_2_red.png"); + } + if(stack.getItem().equals(ModItems.hazmat_helmet_grey) || stack.getItem().equals(ModItems.hazmat_plate_grey) || stack.getItem().equals(ModItems.hazmat_boots_grey)) { + return (RefStrings.MODID + ":textures/armor/hazmat_1_grey.png"); + } + if(stack.getItem().equals(ModItems.hazmat_legs_grey)) { + return (RefStrings.MODID + ":textures/armor/hazmat_2_grey.png"); + } else return null; } diff --git a/com/hbm/items/gear/ArmorModel.java b/com/hbm/items/gear/ArmorModel.java index 892c0f6db..89d4f8b32 100644 --- a/com/hbm/items/gear/ArmorModel.java +++ b/com/hbm/items/gear/ArmorModel.java @@ -63,6 +63,12 @@ public class ArmorModel extends ItemArmor { if (this == ModItems.gas_mask_m65) { return armorType == 0; } + if (this == ModItems.hazmat_helmet_red) { + return armorType == 0; + } + if (this == ModItems.hazmat_helmet_grey) { + return armorType == 0; + } if (this == ModItems.oxy_mask) { return armorType == 0; } @@ -118,7 +124,7 @@ public class ArmorModel extends ItemArmor { return this.modelGas; } } - if (this == ModItems.gas_mask_m65) { + if (this == ModItems.gas_mask_m65 || this == ModItems.hazmat_helmet_red || this == ModItems.hazmat_helmet_grey) { if (armorSlot == 0) { if (this.modelM65 == null) { this.modelM65 = new ModelM65(); @@ -164,6 +170,12 @@ public class ArmorModel extends ItemArmor { if (stack.getItem() == ModItems.gas_mask_m65) { return "hbm:textures/models/ModelM65.png"; } + if (stack.getItem() == ModItems.hazmat_helmet_red) { + return "hbm:textures/models/ModelHazRed.png"; + } + if (stack.getItem() == ModItems.hazmat_helmet_grey) { + return "hbm:textures/models/ModelHazGrey.png"; + } if (stack.getItem() == ModItems.oxy_mask) { return null; } @@ -206,7 +218,7 @@ public class ArmorModel extends ItemArmor { @SideOnly(Side.CLIENT) public void renderHelmetOverlay(ItemStack stack, EntityPlayer player, ScaledResolution resolution, float partialTicks, boolean hasScreen, int mouseX, int mouseY){ - if(this != ModItems.goggles && this != ModItems.gas_mask && this != ModItems.gas_mask_m65) + if(this != ModItems.goggles && this != ModItems.gas_mask && this != ModItems.gas_mask_m65 && this != ModItems.hazmat_helmet_red && this != ModItems.hazmat_helmet_grey) return; @@ -216,7 +228,7 @@ public class ArmorModel extends ItemArmor { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_ALPHA_TEST); - if(this == ModItems.goggles || this == ModItems.gas_mask_m65) { + if(this == ModItems.goggles || this == ModItems.gas_mask_m65 || this == ModItems.hazmat_helmet_red || this == ModItems.hazmat_helmet_grey) { switch((int)((double)stack.getItemDamage() / (double)stack.getMaxDamage() * 6D)) { case 0: Minecraft.getMinecraft().getTextureManager().bindTexture(goggleBlur0); break; diff --git a/com/hbm/items/special/ItemRadioactive.java b/com/hbm/items/special/ItemRadioactive.java index 414d8fe9e..c7f9db5ae 100644 --- a/com/hbm/items/special/ItemRadioactive.java +++ b/com/hbm/items/special/ItemRadioactive.java @@ -4,6 +4,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; +import com.hbm.saveddata.RadEntitySavedData; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -20,11 +21,11 @@ public class ItemRadioactive extends Item { public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) { if((entity instanceof EntityPlayer && !Library.checkForHazmat((EntityPlayer)entity)) || !(entity instanceof EntityPlayer)) { - doRadiationDamage(entity); + doRadiationDamage(entity, stack.stackSize); } } - public void doRadiationDamage(Entity entity) { + public void doRadiationDamage(Entity entity, float mod) { //Ultra Deadly: Watz Fuel //Strong: U235, Pu239, Pu240, all fuels except Schrabidium @@ -44,7 +45,8 @@ public class ItemRadioactive extends Item { this == ModItems.pellet_mes || this == ModItems.pellet_neptunium || this == ModItems.pellet_schrabidium) { - Library.applyRadiation(living, 80, 24, 60, 19); + //Library.applyRadiation(living, 80, 24, 60, 19); + Library.applyRadData(living, 100F/20F * mod); } //Strong @@ -78,7 +80,8 @@ public class ItemRadioactive extends Item { this == ModItems.gadget_core || this == ModItems.man_core || this == ModItems.nuclear_waste) { - Library.applyRadiation(living, 60, 19, 40, 14); + //Library.applyRadiation(living, 60, 19, 40, 14); + Library.applyRadData(living, 25F/20F * mod); } //Strong Nuggets @@ -98,7 +101,8 @@ public class ItemRadioactive extends Item { this == ModItems.rod_uranium_fuel_depleted || this == ModItems.rod_plutonium_fuel_depleted || this == ModItems.rod_mox_fuel_depleted) { - Library.applyRadiation(living, 45, 19, 30, 14); + //Library.applyRadiation(living, 45, 19, 30, 14); + Library.applyRadData(living, 15F/20F * mod); } //Medium @@ -116,7 +120,8 @@ public class ItemRadioactive extends Item { this == ModItems.mike_core || this == ModItems.tsar_core || this == ModItems.trinitite) { - Library.applyRadiation(living, 30, 14, 15, 9); + //Library.applyRadiation(living, 30, 14, 15, 9); + Library.applyRadData(living, 10F/20F * mod); } //Medium Nuggets @@ -128,7 +133,8 @@ public class ItemRadioactive extends Item { this == ModItems.rod_pu238 || this == ModItems.rod_plutonium || this == ModItems.pellet_rtg_weak) { - Library.applyRadiation(living, 20, 14, 5, 9); + //Library.applyRadiation(living, 20, 14, 5, 9); + Library.applyRadData(living, 5F/20F * mod); } //Weak @@ -141,7 +147,8 @@ public class ItemRadioactive extends Item { this == ModItems.rod_dual_u238 || this == ModItems.rod_quad_pu238 || this == ModItems.rod_dual_pu238) { - Library.applyRadiation(living, 20, 4, 5, 0); + //Library.applyRadiation(living, 20, 4, 5, 0); + Library.applyRadData(living, 5F/20F * mod); } //Weak Nuggets @@ -151,7 +158,8 @@ public class ItemRadioactive extends Item { this == ModItems.rod_uranium || this == ModItems.rod_u238 || this == ModItems.powder_yellowcake) { - Library.applyRadiation(living, 10, 4, 0, 0); + //Library.applyRadiation(living, 10, 4, 0, 0); + Library.applyRadData(living, 1F/20F * mod); } //Tritium @@ -160,19 +168,22 @@ public class ItemRadioactive extends Item { this == ModItems.rod_tritium || this == ModItems.rod_dual_tritium || this == ModItems.rod_quad_tritium) { - Library.applyRadiation(living, 10, 4, 0, 0); + //Library.applyRadiation(living, 10, 4, 0, 0); + Library.applyRadData(living, 2.5F/20F * mod); } //Powder if (this == ModItems.powder_neptunium || this == ModItems.powder_plutonium) { - Library.applyRadiation(living, 60, 19, 45, 14); + //Library.applyRadiation(living, 60, 19, 45, 14); + Library.applyRadData(living, 10F/20F * mod); living.setFire(5); } if (this == ModItems.powder_uranium) { - Library.applyRadiation(living, 20, 4, 0, 0); + //Library.applyRadiation(living, 20, 4, 0, 0); + Library.applyRadData(living, 5F/20F * mod); living.setFire(5); } @@ -196,7 +207,8 @@ public class ItemRadioactive extends Item { this == ModItems.rod_dual_schrabidium_fuel || this == ModItems.rod_quad_schrabidium_fuel) { living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); - Library.applyRadiation(living, 100, 29, 75, 24); + //Library.applyRadiation(living, 100, 29, 75, 24); + Library.applyRadData(living, 35F/20F * mod); } if (this == ModItems.nugget_schrabidium || @@ -204,19 +216,22 @@ public class ItemRadioactive extends Item { this == ModItems.nugget_schrabidium_fuel || this == ModItems.nugget_hes || this == ModItems.nugget_les) { - living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); - Library.applyRadiation(living, 75, 29, 60, 24); + //living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); + Library.applyRadData(living, 20F/20F * mod); + //Library.applyRadiation(living, 75, 29, 60, 24); } if (this == ModItems.plate_schrabidium || this == ModItems.wire_schrabidium) { - living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); - Library.applyRadiation(living, 80, 29, 60, 24); + //living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); + Library.applyRadData(living, 25F/20F * mod); + //Library.applyRadiation(living, 80, 29, 60, 24); } if (this == ModItems.powder_schrabidium) { living.addPotionEffect(new PotionEffect(Potion.blindness.id, 60 * 20, 0)); - Library.applyRadiation(living, 100, 29, 75, 24); + //Library.applyRadiation(living, 100, 29, 75, 24); + Library.applyRadData(living, 35F/20F * mod); living.setFire(5); } } diff --git a/com/hbm/items/special/ItemSyringe.java b/com/hbm/items/special/ItemSyringe.java index 3d0f9c04f..779cbd4dc 100644 --- a/com/hbm/items/special/ItemSyringe.java +++ b/com/hbm/items/special/ItemSyringe.java @@ -215,10 +215,55 @@ public class ItemSyringe extends Item { { if (!world.isRemote) { - player.removePotionEffect(HbmPotion.radiation.id); + //player.removePotionEffect(HbmPotion.radiation.id); RadEntitySavedData entityData = RadEntitySavedData.getData(world); - entityData.setRadForEntity(player, 0); + + float rad = entityData.getRadFromEntity(player); + rad -= 140F; + + if(rad < 0) + rad = 0; + + entityData.setRadForEntity(player, rad); + + stack.stackSize--; + world.playSoundAtEntity(player, "hbm:item.radaway", 1.0F, 1.0F); + } + } + + if(this == ModItems.radaway_strong) + { + if (!world.isRemote) + { + RadEntitySavedData entityData = RadEntitySavedData.getData(world); + + float rad = entityData.getRadFromEntity(player); + rad -= 350F; + + if(rad < 0) + rad = 0; + + entityData.setRadForEntity(player, rad); + + stack.stackSize--; + world.playSoundAtEntity(player, "hbm:item.radaway", 1.0F, 1.0F); + } + } + + if(this == ModItems.radaway_flush) + { + if (!world.isRemote) + { + RadEntitySavedData entityData = RadEntitySavedData.getData(world); + + float rad = entityData.getRadFromEntity(player); + rad -= 1000F; + + if(rad < 0) + rad = 0; + + entityData.setRadForEntity(player, rad); stack.stackSize--; world.playSoundAtEntity(player, "hbm:item.radaway", 1.0F, 1.0F); @@ -545,7 +590,13 @@ public class ItemSyringe extends Item { list.add("Removes negative effects"); } if(this == ModItems.radaway) { - list.add("Removes radiation effect"); + list.add("Removes 140 RAD"); + } + if(this == ModItems.radaway_strong) { + list.add("Removes 350 RAD"); + } + if(this == ModItems.radaway_flush) { + list.add("Removes 1000 RAD"); } if(this == ModItems.syringe_taint) { list.add("Tainted I for 60 seconds"); diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index f042682d1..f39ca2a4c 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -10,6 +10,7 @@ import com.hbm.calc.UnionOfTileEntitiesAndBooleansForOil; import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.projectile.EntityChopperMine; import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.handler.HazmatRegistry; import com.hbm.interfaces.IConductor; import com.hbm.interfaces.IConsumer; import com.hbm.interfaces.IFluidAcceptor; @@ -26,6 +27,7 @@ import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; import com.hbm.main.MainRegistry; import com.hbm.potion.HbmPotion; +import com.hbm.saveddata.RadEntitySavedData; import com.hbm.tileentity.conductor.TileEntityCable; import com.hbm.tileentity.conductor.TileEntityFluidDuct; import com.hbm.tileentity.conductor.TileEntityGasDuct; @@ -226,7 +228,7 @@ public class Library { //radLevel: Radiation level (0 = I) //maskDura: Radiation duration when wearing gasmask //maskLevel: Radiation level when wearing gasmask - public static void applyRadiation(Entity e, int radDura, int radLevel, int maskDura, int maskLevel) { + /*public static void applyRadiation(Entity e, int radDura, int radLevel, int maskDura, int maskLevel) { if(!(e instanceof EntityLivingBase)) return; @@ -253,6 +255,33 @@ public class Library { } entity.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, radDura * 20, radLevel)); + }*/ + + public static void applyRadData(Entity e, float f) { + + if(!(e instanceof EntityLivingBase)) + return; + + EntityLivingBase entity = (EntityLivingBase)e; + + if(entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer)entity; + + float koeff = 5.0F; + f *= (float) Math.pow(koeff, -HazmatRegistry.instance.getResistance(player)); + } + + RadEntitySavedData data = RadEntitySavedData.getData(entity.worldObj); + data.increaseRad(entity, f); + } + + public static void applyRadDirect(Entity e, float f) { + + if(!(e instanceof EntityLivingBase)) + return; + + RadEntitySavedData data = RadEntitySavedData.getData(e.worldObj); + data.increaseRad(e, f); } public static boolean checkForHazmat(EntityPlayer player) { @@ -298,6 +327,14 @@ public class Library { { return true; } + if(checkArmorPiece(player, ModItems.hazmat_helmet_red, 3)) + { + return true; + } + if(checkArmorPiece(player, ModItems.hazmat_helmet_grey, 3)) + { + return true; + } if(checkArmorPiece(player, ModItems.hazmat_paa_helmet, 3)) { return true; diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index 008870638..e6ed8d1ef 100644 --- a/com/hbm/lib/RefStrings.java +++ b/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 (2951)"; + public static final String VERSION = "1.0.27 BETA (2968)"; //HBM's Beta Naming Convention: //V T (X-Y-Z) //V -> next release version diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index d63d4c4f5..4920e380b 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -50,6 +50,8 @@ public class CraftingManager { //GameRegistry.addRecipe(new ItemStack(ModItems.wire_magnetized_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_magnetized_tungsten }); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 4), new Object[] { "LN", "LN", 'L', Items.leather, 'N', "nuggetLead" })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 4), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.leather, 'C', "dustLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth_red, 1), new Object[] { "C", "R", "C", 'C', ModItems.hazmat_cloth, 'R', "dustRedstone" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth_grey, 1), new Object[] { " P ", "ICI", " L ", 'C', ModItems.hazmat_cloth_red, 'P', "plateIron", 'L', "plateLead", 'I', ModItems.plate_polymer })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.asbestos_cloth, 4), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Blocks.wool, 'C', "dustNetherQuartz" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.asbestos_cloth, 16), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', ModItems.powder_bromine, 'C', Blocks.wool })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.filter_coal, 1), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.paper, 'C', "dustCoal" })); @@ -892,6 +894,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.syringe_metal_psycho, 1), new Object[] { " N ", "NSN", " N ", 'N', Items.glowstone_dust, 'S', ModItems.syringe_metal_empty }); GameRegistry.addRecipe(new ItemStack(ModItems.pill_iodine, 8), new Object[] { "IF", 'I', ModItems.powder_iodine, 'F', ModItems.fluorite }); GameRegistry.addRecipe(new ItemStack(ModItems.plan_c, 1), new Object[] { "PFP", 'P', ModItems.powder_poison, 'F', ModItems.fluorite }); + GameRegistry.addRecipe(new ItemStack(ModItems.radx, 1), new Object[] { "P", "F", 'P', ModItems.powder_coal, 'F', ModItems.fluorite }); GameRegistry.addRecipe(new ItemStack(ModItems.med_bag, 1), new Object[] { "LLL", "SIS", "LLL", 'L', Items.leather, 'S', ModItems.syringe_metal_stimpak, 'I', ModItems.syringe_antidote }); GameRegistry.addRecipe(new ItemStack(ModItems.med_bag, 1), new Object[] { "LLL", "SIS", "LLL", 'L', Items.leather, 'S', ModItems.syringe_metal_stimpak, 'I', ModItems.pill_iodine }); GameRegistry.addRecipe(new ItemStack(ModItems.med_bag, 1), new Object[] { "LL", "SI", "LL", 'L', Items.leather, 'S', ModItems.syringe_metal_super, 'I', ModItems.radaway }); @@ -903,6 +906,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.syringe_metal_super, 1), new Object[] { " N ", "PSP", "L L", 'N', ModItems.bottle_cherry, 'P', "plateSteel", 'S', ModItems.syringe_metal_stimpak, 'L', Items.leather })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.syringe_metal_super, 1), new Object[] { " N ", "PSP", "L L", 'N', ModItems.bottle_cherry, 'P', "plateSteel", 'S', ModItems.syringe_metal_stimpak, 'L', ModItems.plate_polymer })); GameRegistry.addRecipe(new ItemStack(ModItems.radaway, 1), new Object[] { "S", "M", "W", 'S', ModItems.plate_polymer, 'M', ModBlocks.mush, 'W', Items.potionitem }); + GameRegistry.addRecipe(new ItemStack(ModItems.radaway_strong, 1), new Object[] { "S", "M", "W", 'S', Items.pumpkin_seeds, 'M', ModBlocks.mush, 'W', ModItems.radaway }); + GameRegistry.addRecipe(new ItemStack(ModItems.radaway_flush, 1), new Object[] { "S", "M", "W", 'S', ModItems.powder_iodine, 'M', ModBlocks.mush, 'W', ModItems.radaway_strong }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stealth_boy, 1), new Object[] { " B", "LI", "LC", 'B', Item.getItemFromBlock(Blocks.stone_button), 'L', Items.leather, 'I', "ingotSteel", 'C', ModItems.circuit_red_copper })); @@ -1097,6 +1102,14 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.hazmat_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.hazmat_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.hazmat_cloth }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_helmet_red, 1), new Object[] { "EEE", "IEI", "EFE", 'E', ModItems.hazmat_cloth_red, 'I', "paneGlass", 'P', "plateSteel", 'F', ModItems.gas_mask_filter })); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_plate_red, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.hazmat_cloth_red }); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_legs_red, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.hazmat_cloth_red }); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_boots_red, 1), new Object[] { "E E", "E E", 'E', ModItems.hazmat_cloth_red }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_helmet_grey, 1), new Object[] { "EEE", "IEI", "EFE", 'E', ModItems.hazmat_cloth_grey, 'I', "paneGlass", 'P', "plateSteel", 'F', ModItems.gas_mask_filter })); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_plate_grey, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.hazmat_cloth_grey }); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_legs_grey, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.hazmat_cloth_grey }); + GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_boots_grey, 1), new Object[] { "E E", "E E", 'E', ModItems.hazmat_cloth_grey }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.asbestos_helmet, 1), new Object[] { "EEE", "EIE", 'E', ModItems.asbestos_cloth, 'I', "plateGold" })); GameRegistry.addRecipe(new ItemStack(ModItems.asbestos_plate, 1), new Object[] { "E E", "EEE", "EEE", 'E', ModItems.asbestos_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.asbestos_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.asbestos_cloth }); @@ -1296,7 +1309,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_20), new Object[] { "SDS", "MCM", "MCM", 'S', "ingotIron", 'D', "ingotRedstoneAlloy", 'M', ModItems.coil_copper, 'C', ModItems.circuit_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_dnt), new Object[] { "SDS", "MCM", "MCM", 'S', ModItems.ingot_starmetal, 'D', "ingotDesh", 'M', ModBlocks.fwatz_conductor, 'C', ModItems.circuit_targeting_tier6 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_transformer_dnt_20), new Object[] { "SDS", "MCM", "MCM", 'S', ModItems.ingot_starmetal, 'D', "ingotDesh", 'M', ModBlocks.fusion_conductor, 'C', ModItems.circuit_targeting_tier6 })); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_sparkle), new Object[] { ModItems.bottle_quantum, Items.carrot, Items.gold_nugget }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_sparkle), new Object[] { ModItems.bottle_nuka, Items.carrot, Items.gold_nugget }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_rad), new Object[] { ModItems.bottle_quantum, Items.carrot, Items.gold_nugget }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_nuke), new Object[] { "CGC", "CGC", "PAP", 'C', ModBlocks.det_charge, 'G', ModItems.grenade_mk2, 'P', "plateAdvanced", 'A', Blocks.anvil })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiobox), new Object[] { "-C-", "8OI", "EUE", '-', ModItems.plate_polymer, 'C', ModItems.circuit_targeting_tier4, '8', ModItems.coil_gold, 'O', ModItems.pellet_rtg, 'I', ModItems.fuse, 'E', "plateSteel", 'U', ModItems.rtg_unit })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiorec), new Object[] { " W", "PCP", "PIP", 'W', ModItems.wire_copper, 'P', "plateSteel", 'C', ModItems.circuit_red_copper, 'I', "ingotPolymer" })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 3b993833e..0468a04bb 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -193,6 +193,7 @@ import com.hbm.entity.projectile.EntitySparkBeam; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.handler.FuelHandler; import com.hbm.handler.GUIHandler; +import com.hbm.handler.HazmatRegistry; import com.hbm.inventory.FluidContainer; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.MachineRecipes; @@ -375,6 +376,8 @@ public class MainRegistry public static ArmorMaterial enumArmorMaterialSchrabidium = EnumHelper.addArmorMaterial("SCHRABIDIUM", 100, new int[] {3, 8, 6, 3}, 50); public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 2100000000, new int[] {3, 8, 6, 3}, 100); public static ArmorMaterial enumArmorMaterialHazmat = EnumHelper.addArmorMaterial("HAZMAT", 60, new int[] {2, 5, 4, 1}, 5); + public static ArmorMaterial enumArmorMaterialHazmat2 = EnumHelper.addArmorMaterial("HAZMAT2", 60, new int[] {2, 5, 4, 1}, 5); + public static ArmorMaterial enumArmorMaterialHazmat3 = EnumHelper.addArmorMaterial("HAZMAT3", 60, new int[] {2, 5, 4, 1}, 5); public static ArmorMaterial enumArmorMaterialT45 = EnumHelper.addArmorMaterial("T45", 1000, new int[] {2, 5, 4, 1}, 0); public static ArmorMaterial enumArmorMaterialSteel = EnumHelper.addArmorMaterial("STEEL", 20, new int[] {2, 6, 5, 2}, 5); public static ArmorMaterial enumArmorMaterialTitanium = EnumHelper.addArmorMaterial("TITANIUM", 25, new int[] {3, 8, 6, 3}, 9); @@ -545,6 +548,7 @@ public class MainRegistry public static int radiationID = 63; public static int bangID = 64; public static int mutationID = 65; + public static int radxID = 66; public static int x; public static int y; @@ -590,6 +594,8 @@ public class MainRegistry enumArmorMaterialSchrabidium.customCraftingMaterial = ModItems.ingot_schrabidium; enumArmorMaterialHazmat.customCraftingMaterial = ModItems.hazmat_cloth; + enumArmorMaterialHazmat2.customCraftingMaterial = ModItems.hazmat_cloth_red; + enumArmorMaterialHazmat3.customCraftingMaterial = ModItems.hazmat_cloth_grey; enumArmorMaterialT45.customCraftingMaterial = ModItems.plate_titanium; enumArmorMaterialTitanium.customCraftingMaterial = ModItems.ingot_titanium; enumArmorMaterialSteel.customCraftingMaterial = ModItems.ingot_steel; @@ -1533,6 +1539,52 @@ public class MainRegistry FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_full, 1, i), new ItemStack(ModItems.fluid_tank_empty), FluidType.getEnum(i), 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_barrel_full, 1, i), new ItemStack(ModItems.fluid_barrel_empty), FluidType.getEnum(i), 16000)); } + + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_helmet, 0.2F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_plate, 0.4F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_legs, 0.3F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_boots, 0.1F); + + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_helmet_red, 0.3F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_plate_red, 0.6F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_legs_red, 0.45F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_boots_red, 0.15F); + + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_helmet_grey, 0.4F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_plate_grey, 0.8F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_legs_grey, 0.6F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_boots_grey, 0.2F); + + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_helmet, 0.6F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_plate, 1.2F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_legs, 0.9F); + HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_boots, 0.3F); + + HazmatRegistry.instance.registerHazmat(ModItems.jackt, 0.3F); + HazmatRegistry.instance.registerHazmat(ModItems.jackt2, 0.3F); + + HazmatRegistry.instance.registerHazmat(ModItems.gas_mask, 0.15F); + HazmatRegistry.instance.registerHazmat(ModItems.gas_mask_m65, 0.175F); + + HazmatRegistry.instance.registerHazmat(ModItems.steel_helmet, 0.04F); + HazmatRegistry.instance.registerHazmat(ModItems.steel_plate, 0.08F); + HazmatRegistry.instance.registerHazmat(ModItems.steel_legs, 0.06F); + HazmatRegistry.instance.registerHazmat(ModItems.steel_boots, 0.02F); + + HazmatRegistry.instance.registerHazmat(ModItems.alloy_helmet, 0.08F); + HazmatRegistry.instance.registerHazmat(ModItems.alloy_plate, 0.16F); + HazmatRegistry.instance.registerHazmat(ModItems.alloy_legs, 0.12F); + HazmatRegistry.instance.registerHazmat(ModItems.alloy_boots, 0.04F); + + HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_helmet, 1.2F); + HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_plate, 2.4F); + HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_legs, 1.8F); + HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_boots, 0.6F); + + HazmatRegistry.instance.registerHazmat(ModItems.euphemium_helmet, 6F); + HazmatRegistry.instance.registerHazmat(ModItems.euphemium_plate, 12F); + HazmatRegistry.instance.registerHazmat(ModItems.euphemium_legs, 9F); + HazmatRegistry.instance.registerHazmat(ModItems.euphemium_boots, 3F); } @EventHandler @@ -1740,6 +1792,9 @@ public class MainRegistry Property propMutationID = config.get(Configuration.CATEGORY_GENERAL, "8.03_mutationPotionID", 65); propMutationID.comment = "What potion ID the taint mutation effect will have"; mutationID = propMutationID.getInt(); + Property propRadxID = config.get(Configuration.CATEGORY_GENERAL, "8.04_radxPotionID", 66); + propRadxID.comment = "What potion ID the Rad-X effect will have"; + radxID = propRadxID.getInt(); config.save(); diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index aec3cd156..1a71510f3 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -8,6 +8,7 @@ import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.entity.projectile.EntityMeteor; import com.hbm.items.ModItems; +import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; @@ -39,6 +40,7 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.event.entity.EntityEvent.EnteringChunk; import net.minecraftforge.event.entity.living.LivingSpawnEvent; +import net.minecraftforge.event.entity.player.PlayerDropsEvent; public class ModEventHandler { @@ -56,6 +58,13 @@ public class ModEventHandler showMessage = !showMessage; } + @SubscribeEvent + public void onPlayerDeath(PlayerDropsEvent event) { + + RadEntitySavedData eData = RadEntitySavedData.getData(event.entityPlayer.worldObj); + eData.setRadForEntity(event.entityPlayer, 0); + } + @SubscribeEvent public void spawnMob(LivingSpawnEvent event) { EntityLivingBase entity = event.entityLiving; @@ -163,13 +172,52 @@ public class ModEventHandler float rad = data.getRadNumFromCoord(chunk.xPosition, chunk.zPosition); if(rad > 0) { - eData.setRadForEntity(entity, eData.getRadFromEntity(entity) + rad * 0.5F); + //eData.increaseRad(entity, rad / 2); + + if(!entity.isPotionActive(HbmPotion.mutation)) + Library.applyRadData(entity, rad / 2); } } float eRad = eData.getRadFromEntity(entity); - if(eRad < 200) + if(entity instanceof EntityCreeper && eRad >= 200 && entity.getHealth() > 0) { + + if(event.world.rand.nextInt(3) == 0 ) { + EntityNuclearCreeper creep = new EntityNuclearCreeper(event.world); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + + if(!entity.isDead) + if(!event.world.isRemote) + event.world.spawnEntityInWorld(creep); + entity.setDead(); + } else { + entity.attackEntityFrom(ModDamageSource.radiation, 100F); + } + continue; + + } else if(entity instanceof EntityCow && !(entity instanceof EntityMooshroom) && eRad >= 50) { + EntityMooshroom creep = new EntityMooshroom(event.world); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + + if(!entity.isDead) + if(!event.world.isRemote) + event.world.spawnEntityInWorld(creep); + entity.setDead(); + continue; + + } else if(entity instanceof EntityVillager && eRad >= 500) { + EntityZombie creep = new EntityZombie(event.world); + creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + + if(!entity.isDead) + if(!event.world.isRemote) + event.world.spawnEntityInWorld(creep); + entity.setDead(); + continue; + } + + if(eRad < 200 || entity instanceof EntityNuclearCreeper || entity instanceof EntityMooshroom || entity instanceof EntityZombie || entity instanceof EntitySkeleton) continue; if(eRad >= 1000) { diff --git a/com/hbm/packet/LoopedEntitySoundPacket.java b/com/hbm/packet/LoopedEntitySoundPacket.java index 2ceed5d8d..95e7aeee2 100644 --- a/com/hbm/packet/LoopedEntitySoundPacket.java +++ b/com/hbm/packet/LoopedEntitySoundPacket.java @@ -1,6 +1,9 @@ package com.hbm.packet; +import org.lwjgl.opengl.GL11; + import com.hbm.entity.logic.EntityBomber; +import com.hbm.main.ResourceManager; import com.hbm.sound.MovingSoundBomber; import com.hbm.sound.SoundLoopAssembler; import com.hbm.sound.SoundLoopBroadcaster; @@ -63,7 +66,23 @@ public class LoopedEntitySoundPacket implements IMessage { Entity e = Minecraft.getMinecraft().theWorld.getEntityByID(m.entityID); if(e instanceof EntityBomber) { - + + int n = 1; + int x = e.getDataWatcher().getWatchableObjectByte(16); + + switch(x) { + case 0: + case 1: + case 2: + case 3: + case 4: n = 2; break; + case 5: + case 6: + case 7: + case 8: n = 1; break; + default: n = 2; break; + } + boolean flag = true; for(int i = 0; i < MovingSoundBomber.globalSoundList.size(); i++) { if(MovingSoundBomber.globalSoundList.get(i).bomber == e && !MovingSoundBomber.globalSoundList.get(i).isDonePlaying()) @@ -71,7 +90,10 @@ public class LoopedEntitySoundPacket implements IMessage { } if(flag) { - Minecraft.getMinecraft().getSoundHandler().playSound(new MovingSoundBomber(new ResourceLocation("hbm:entity.bomberLoop"), (EntityBomber)e)); + if(n == 2) + Minecraft.getMinecraft().getSoundHandler().playSound(new MovingSoundBomber(new ResourceLocation("hbm:entity.bomberSmallLoop"), (EntityBomber)e)); + if(n == 1) + Minecraft.getMinecraft().getSoundHandler().playSound(new MovingSoundBomber(new ResourceLocation("hbm:entity.bomberLoop"), (EntityBomber)e)); } } diff --git a/com/hbm/potion/HbmPotion.java b/com/hbm/potion/HbmPotion.java index 9d558c4d2..1c447b299 100644 --- a/com/hbm/potion/HbmPotion.java +++ b/com/hbm/potion/HbmPotion.java @@ -4,8 +4,10 @@ import java.lang.reflect.Field; import com.hbm.entity.mob.EntityTaintedCreeper; import com.hbm.explosion.ExplosionLarge; +import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; +import com.hbm.saveddata.RadEntitySavedData; import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.Side; @@ -22,6 +24,7 @@ public class HbmPotion extends Potion { public static HbmPotion radiation; public static HbmPotion bang; public static HbmPotion mutation; + public static HbmPotion radx; public HbmPotion(int id, boolean isBad, int color) { super(id, isBad, color); @@ -32,6 +35,7 @@ public class HbmPotion extends Potion { radiation = registerPotion(MainRegistry.radiationID, true, 8700200, "potion.hbm_radiation", 1, 0); bang = registerPotion(MainRegistry.bangID, true, 1118481, "potion.hbm_bang", 3, 0); mutation = registerPotion(MainRegistry.mutationID, false, 8388736, "potion.hbm_mutation", 2, 0); + radx = registerPotion(MainRegistry.radxID, false, 0xBB4B00, "potion.hbm_radx", 5, 0); } public static HbmPotion registerPotion(int id, boolean isBad, int color, String name, int x, int y) { @@ -80,9 +84,14 @@ public class HbmPotion extends Potion { } if(this == radiation) { - if (entity.getHealth() > entity.getMaxHealth() - (level + 1)) { + /*if (entity.getHealth() > entity.getMaxHealth() - (level + 1)) { entity.attackEntityFrom(ModDamageSource.radiation, 1); - } + }*/ + + //RadEntitySavedData data = RadEntitySavedData.getData(entity.worldObj); + //data.increaseRad(entity, (float)(level + 1F) * 0.05F); + + Library.applyRadData(entity, (float)(level + 1F) * 0.05F); } if(this == bang) { @@ -105,8 +114,11 @@ public class HbmPotion extends Potion { return k > 0 ? par1 % k == 0 : true; } if(this == radiation) { - int k = 40 >> par2; - return k > 0 ? par1 % k == 0 : true; + + return true; + + //int k = 40 >> par2; + //return k > 0 ? par1 % k == 0 : true; } if(this == bang) { diff --git a/com/hbm/saveddata/RadEntitySavedData.java b/com/hbm/saveddata/RadEntitySavedData.java index 03b2eaaa6..8766d4aa7 100644 --- a/com/hbm/saveddata/RadEntitySavedData.java +++ b/com/hbm/saveddata/RadEntitySavedData.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Map; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraft.world.WorldSavedData; @@ -41,6 +42,9 @@ public class RadEntitySavedData extends WorldSavedData { public void setRadForEntity(Entity e, float rad) { + if(!(e instanceof EntityLivingBase)) + return; + for(int i = 0; i < contaminated.size(); i++) { if(contaminated.get(i).entID == e.getEntityId()) { contaminated.get(i).rad = rad; @@ -53,6 +57,11 @@ public class RadEntitySavedData extends WorldSavedData { this.markDirty(); } + + public void increaseRad(Entity e, float rad) { + + setRadForEntity(e, getRadFromEntity(e) + rad); + } @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/com/hbm/tileentity/bomb/TileEntitySellafield.java b/com/hbm/tileentity/bomb/TileEntitySellafield.java index 1c3cdafeb..60f5fabc6 100644 --- a/com/hbm/tileentity/bomb/TileEntitySellafield.java +++ b/com/hbm/tileentity/bomb/TileEntitySellafield.java @@ -27,7 +27,7 @@ public class TileEntitySellafield extends TileEntity { EntityLivingBase entity = (EntityLivingBase) o; if(Math.sqrt(Math.pow(xCoord + 0.5D - entity.posX, 2) + Math.pow(yCoord + 0.5D - entity.posY, 2) + Math.pow(zCoord + 0.5D - entity.posZ, 2)) <= radius) { - Library.applyRadiation(entity, 5 * 60, 100, 4 * 60, 75); + //Library.applyRadiation(entity, 5 * 60, 100, 4 * 60, 75); entity.attackEntityFrom(ModDamageSource.radiation, entity.getHealth() * 0.5F); } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index 058e8e1be..74ae2a34d 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -23,6 +23,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; +import com.hbm.saveddata.RadiationSavedData; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -390,14 +391,18 @@ public class TileEntityMachineReactorSmall extends TileEntity && worldObj.getBlock(xCoord, yCoord + 1, zCoord + 1) != Blocks.air && worldObj.getBlock(xCoord, yCoord + 1, zCoord - 1) != Blocks.air)) { - List list = (List) worldObj.getEntitiesWithinAABBExcludingEntity(null, + /*List list = (List) worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - 5, yCoord + 1.5 - 5, zCoord + 0.5 - 5, xCoord + 0.5 + 5, yCoord + 1.5 + 5, zCoord + 0.5 + 5)); for (Entity e : list) { if (e instanceof EntityLivingBase) Library.applyRadiation((EntityLivingBase)e, 80, 24, 60, 19); - } + }*/ + + float rad = (float)coreHeat / (float)maxCoreHeat * 150F; + RadiationSavedData data = RadiationSavedData.getData(worldObj); + data.incrementRad(worldObj, xCoord, zCoord, rad, 750F); } for (int i = 0; i < 3; i++) @@ -664,6 +669,9 @@ public class TileEntityMachineReactorSmall extends TileEntity worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 18.0F, true); ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, Blocks.flowing_lava); + + RadiationSavedData data = RadiationSavedData.getData(worldObj); + data.incrementRad(worldObj, xCoord, zCoord, 1000F, 2000F); } @Override diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java index aa23cc363..468611668 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmallOld.java @@ -21,6 +21,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; +import com.hbm.saveddata.RadiationSavedData; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -434,10 +435,14 @@ public class TileEntityMachineReactorSmallOld extends TileEntity AxisAlignedBB.getBoundingBox(xCoord + 0.5 - 5, yCoord + 1.5 - 5, zCoord + 0.5 - 5, xCoord + 0.5 + 5, yCoord + 1.5 + 5, zCoord + 0.5 + 5)); - for (Entity e : list) { + /*for (Entity e : list) { if (e instanceof EntityLivingBase) Library.applyRadiation((EntityLivingBase)e, 80, 24, 60, 19); - } + }*/ + + float rad = (float)coreHeat / (float)maxCoreHeat * 150F; + RadiationSavedData data = RadiationSavedData.getData(worldObj); + data.incrementRad(worldObj, xCoord, zCoord, rad, 750F); } PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power)); @@ -548,6 +553,9 @@ public class TileEntityMachineReactorSmallOld extends TileEntity worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 18.0F, true); ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, Blocks.flowing_lava); + + RadiationSavedData data = RadiationSavedData.getData(worldObj); + data.incrementRad(worldObj, xCoord, zCoord, 1000F, 2000F); } @Override diff --git a/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java b/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java index e1558ad48..a8497c629 100644 --- a/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java +++ b/com/hbm/tileentity/machine/TileEntityReactorMultiblock.java @@ -24,6 +24,7 @@ import com.hbm.main.MainRegistry; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; +import com.hbm.saveddata.RadiationSavedData; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -464,7 +465,7 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv if(!this.isCoatingValid(worldObj)) { - int strength = 20; + /*int strength = 20; float f = strength; HashSet hashset = new HashSet(); int i; @@ -502,7 +503,11 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv Library.applyRadiation((EntityLivingBase)entity, 80, 24, 60, 19); } } - } + }*/ + + + RadiationSavedData data = RadiationSavedData.getData(worldObj); + data.incrementRad(worldObj, xCoord, zCoord, 100F, 500F); } } @@ -660,6 +665,9 @@ public class TileEntityReactorMultiblock extends TileEntity implements ISidedInv worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, 50, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5)); ExplosionParticle.spawnMush(this.worldObj, this.xCoord, this.yCoord - 3, this.zCoord); + + RadiationSavedData data = RadiationSavedData.getData(worldObj); + data.incrementRad(worldObj, xCoord, zCoord, 1000F, 2000F); } @Override