alt bomber loop, new hazmats, radaways, radX

This commit is contained in:
HbmMods 2018-11-25 20:40:24 +01:00
parent 3d66c79ad1
commit 47f521de90
51 changed files with 597 additions and 81 deletions

View File

@ -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

View File

@ -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

View File

@ -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}]},

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 879 B

View File

@ -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);
}
}

View File

@ -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

View File

@ -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);

View File

@ -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,8 +77,9 @@ 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));
}
}
}
@ -86,6 +89,9 @@ public class EntityFalloutRain extends Entity {
this.age = 0;
this.setDead();
}
System.out.println(age + " " + maxAge);
}
}
@Override
@ -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);
}

View File

@ -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;

View File

@ -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);
}
}
}

View File

@ -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<HazmatEntry> 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;
}
}

View File

@ -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());

View File

@ -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) {

View File

@ -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_;
}
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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");

View File

@ -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;

View File

@ -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

View File

@ -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" }));

View File

@ -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();

View File

@ -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) {

View File

@ -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;
@ -64,6 +67,22 @@ public class LoopedEntitySoundPacket implements IMessage {
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,6 +90,9 @@ public class LoopedEntitySoundPacket implements IMessage {
}
if(flag) {
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));
}
}

View File

@ -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) {

View File

@ -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;
@ -54,6 +58,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) {
int count = nbt.getInteger("contCount");

View File

@ -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);
}
}

View File

@ -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<Entity> list = (List<Entity>) worldObj.getEntitiesWithinAABBExcludingEntity(null,
/*List<Entity> list = (List<Entity>) 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

View File

@ -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

View File

@ -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