diff --git a/src/main/java/com/hbm/crafting/ArmorRecipes.java b/src/main/java/com/hbm/crafting/ArmorRecipes.java index 19e02dc07..6e28626a5 100644 --- a/src/main/java/com/hbm/crafting/ArmorRecipes.java +++ b/src/main/java/com/hbm/crafting/ArmorRecipes.java @@ -54,6 +54,7 @@ public class ArmorRecipes { GameRegistry.addRecipe(new ItemStack(ModItems.dnt_plate, 1), new Object[] { "EE ", "EEE", "EEE", 'E', ModItems.ingot_dineutronium }); GameRegistry.addRecipe(new ItemStack(ModItems.dnt_legs, 1), new Object[] { "EE ", "EEE", "E E", 'E', ModItems.ingot_dineutronium }); GameRegistry.addRecipe(new ItemStack(ModItems.dnt_boots, 1), new Object[] { " E", "E ", "E E", 'E', ModItems.ingot_dineutronium }); + GameRegistry.addRecipe(new ItemStack(ModItems.zirconium_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_zirconium }); //Power armor GameRegistry.addRecipe(new ItemStack(ModItems.t45_helmet, 1), new Object[] { "PPC", "PBP", "IXI", 'P', ModItems.plate_armor_titanium, 'C', ModItems.circuit_targeting_tier3, 'I', ModItems.plate_polymer, 'X', ModItems.gas_mask_m65, 'B', ModItems.titanium_helmet }); @@ -118,6 +119,12 @@ public class ArmorRecipes { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.paa_plate, 1), new Object[] { "E E", "NEN", "ENE", 'E', ModItems.plate_paa, 'N', "plateDenseLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.paa_legs, 1), new Object[] { "EEE", "N N", "E E", 'E', ModItems.plate_paa, 'N', "plateDenseLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.paa_boots, 1), new Object[] { "E E", "N N", 'E', ModItems.plate_paa, 'N', "plateDenseLead" })); + + //Liquidator Suit + GameRegistry.addRecipe(new ItemStack(ModItems.liquidator_helmet, 1), new Object[] { "III", "CBC", "IFI", 'I', ModItems.plate_polymer, 'C', ModItems.cladding_lead, 'B', ModItems.hazmat_helmet_grey, 'F', ModItems.gas_mask_filter }); + GameRegistry.addRecipe(new ItemStack(ModItems.liquidator_plate, 1), new Object[] { "ICI", "TBT", "ICI", 'I', ModItems.plate_polymer, 'C', ModItems.cladding_lead, 'B', ModItems.hazmat_plate_grey, 'T', ModItems.gas_empty }); + GameRegistry.addRecipe(new ItemStack(ModItems.liquidator_legs, 1), new Object[] { "III", "CBC", "I I", 'I', ModItems.plate_polymer, 'C', ModItems.cladding_lead, 'B', ModItems.hazmat_legs_grey }); + GameRegistry.addRecipe(new ItemStack(ModItems.liquidator_boots, 1), new Object[] { "ICI", "IBI", 'I', ModItems.plate_polymer, 'C', ModItems.cladding_lead, 'B', ModItems.hazmat_boots_grey }); //Masks GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.goggles, 1), new Object[] { "P P", "GPG", 'G', "paneGlass", 'P', "plateSteel" })); diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index d6e871289..ebf966ce6 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -132,6 +132,7 @@ public class ConsumableRecipes { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_lead, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_rubber, 'P', "plateLead", 'D', ModItems.ducttape })); GameRegistry.addRecipe(new ItemStack(ModItems.cladding_desh, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_lead, 'P', ModItems.plate_desh, 'D', ModItems.ducttape }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_obsidian, 1), new Object[] { "OOO", "PDP", "OOO", 'O', Blocks.obsidian, 'P', "plateSteel", 'D', ModItems.ducttape })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_iron, 1), new Object[] { "OOO", "PDP", "OOO", 'O', "plateIron", 'P', ModItems.plate_polymer, 'D', ModItems.ducttape })); //Inserts GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.insert_steel, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', "plateIron", 'S', "blockSteel" })); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 864c5007c..4e3d532ee 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -20,6 +20,9 @@ public class MineralRecipes { RecipesCommon.add9To1(ModItems.ingot_aluminium, ModBlocks.block_aluminium); RecipesCommon.add1To9(ModBlocks.block_aluminium, ModItems.ingot_aluminium); + RecipesCommon.add9To1(ModItems.nugget_zirconium, ModItems.ingot_zirconium); + RecipesCommon.add1To9(ModItems.ingot_zirconium, ModItems.nugget_zirconium); + RecipesCommon.add9To1(ModItems.ingot_schraranium, ModBlocks.block_schraranium); RecipesCommon.add1To9(ModBlocks.block_schraranium, ModItems.ingot_schraranium); diff --git a/src/main/java/com/hbm/entity/mob/EntityRADBeast.java b/src/main/java/com/hbm/entity/mob/EntityRADBeast.java index d595f3377..dc0f5ed9b 100644 --- a/src/main/java/com/hbm/entity/mob/EntityRADBeast.java +++ b/src/main/java/com/hbm/entity/mob/EntityRADBeast.java @@ -20,197 +20,190 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class EntityRADBeast extends EntityMob implements IRadiationImmune { - - private float heightOffset = 0.5F; - private int heightOffsetUpdateTime; - public EntityRADBeast(World world) { - super(world); - this.isImmuneToFire = true; - this.experienceValue = 30; - } + private float heightOffset = 0.5F; + private int heightOffsetUpdateTime; - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(120.0D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(16.0D); - } - - public EntityRADBeast makeLeader() { - this.setEquipmentDropChance(0, 1F); - this.setCurrentItemOrArmor(0, new ItemStack(ModItems.coin_radiation)); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(360.0D); - this.heal(this.getMaxHealth()); - return this; - } - - protected boolean canDespawn() { - return false; - } + public EntityRADBeast(World world) { + super(world); + this.isImmuneToFire = true; + this.experienceValue = 30; + } - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, (int)0); - } - - protected String getLivingSound() { - return "hbm:item.geiger"+ (1 + rand.nextInt(6)); - } - - protected String getHurtSound() { - return "mob.blaze.hit"; - } - - protected String getDeathSound() { - return "hbm:step.iron"; - } + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(120.0D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(16.0D); + } - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float f) { - return 15728880; - } - - public float getBrightness(float f) { - return 1.0F; - } - - public int getTotalArmorValue() { - return 8; - } - - public void onLivingUpdate() { - - if (!this.worldObj.isRemote) { - - if (this.isWet()) { - this.attackEntityFrom(DamageSource.drown, 1.0F); - } + public EntityRADBeast makeLeader() { + this.setEquipmentDropChance(0, 1F); + this.setCurrentItemOrArmor(0, new ItemStack(ModItems.coin_radiation)); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(360.0D); + this.heal(this.getMaxHealth()); + return this; + } - --this.heightOffsetUpdateTime; + protected boolean canDespawn() { + return false; + } - if (this.heightOffsetUpdateTime <= 0) { - this.heightOffsetUpdateTime = 100; - this.heightOffset = 0.5F + (float)this.rand.nextGaussian() * 3.0F; - } + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, (int) 0); + } - if (this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double)this.getEntityToAttack().getEyeHeight() > this.posY + (double)this.getEyeHeight() + (double)this.heightOffset) { - this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; - } - - if(this.entityToAttack != null && attackTime < 10) { - - if(this.dataWatcher.getWatchableObjectInt(16) != entityToAttack.getEntityId()) - this.dataWatcher.updateObject(16, entityToAttack.getEntityId()); - } else { - this.dataWatcher.updateObject(16, 0); - } - } + protected String getLivingSound() { + return "hbm:item.geiger" + (1 + rand.nextInt(6)); + } - if (!this.onGround && this.motionY < 0.0D) { - this.motionY *= 0.6D; - } + protected String getHurtSound() { + return "mob.blaze.hit"; + } - if(this.getMaxHealth() <= 150) { - - for (int i = 0; i < 6; i++) { - this.worldObj.spawnParticle("townaura", - this.posX + (this.rand.nextDouble() - 0.5D) * (double)this.width * 1.5, - this.posY + this.rand.nextDouble() * (double)this.height, - this.posZ + (this.rand.nextDouble() - 0.5D) * (double)this.width * 1.5, - 0.0D, 0.0D, 0.0D); - } - - if(this.rand.nextInt(6) == 0) { + protected String getDeathSound() { + return "hbm:step.iron"; + } - this.worldObj.spawnParticle("flame", - this.posX + (this.rand.nextDouble() - 0.5D) * (double)this.width, - this.posY + this.rand.nextDouble() * (double)this.height * 0.75, - this.posZ + (this.rand.nextDouble() - 0.5D) * (double)this.width, - 0.0D, 0.0D, 0.0D); - } - - } else { + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float f) { + return 15728880; + } + + public float getBrightness(float f) { + return 1.0F; + } + + public int getTotalArmorValue() { + return 8; + } + + public void onLivingUpdate() { + + if(!this.worldObj.isRemote) { + + if(this.isWet()) { + this.attackEntityFrom(DamageSource.drown, 1.0F); + } + + --this.heightOffsetUpdateTime; + + if(this.heightOffsetUpdateTime <= 0) { + this.heightOffsetUpdateTime = 100; + this.heightOffset = 0.5F + (float) this.rand.nextGaussian() * 3.0F; + } + + if(this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double) this.getEntityToAttack().getEyeHeight() > this.posY + (double) this.getEyeHeight() + (double) this.heightOffset) { + this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; + } + + if(this.entityToAttack != null && attackTime < 10) { + + if(this.dataWatcher.getWatchableObjectInt(16) != entityToAttack.getEntityId()) + this.dataWatcher.updateObject(16, entityToAttack.getEntityId()); + } else { + this.dataWatcher.updateObject(16, 0); + } + } + + if(!this.onGround && this.motionY < 0.0D) { + this.motionY *= 0.6D; + } + + if(this.getMaxHealth() <= 150) { + + for(int i = 0; i < 6; i++) { + this.worldObj.spawnParticle("townaura", this.posX + (this.rand.nextDouble() - 0.5D) * (double) this.width * 1.5, this.posY + this.rand.nextDouble() * (double) this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double) this.width * 1.5, 0.0D, 0.0D, 0.0D); + } + + if(this.rand.nextInt(6) == 0) { + + this.worldObj.spawnParticle("flame", this.posX + (this.rand.nextDouble() - 0.5D) * (double) this.width, this.posY + this.rand.nextDouble() * (double) this.height * 0.75, this.posZ + (this.rand.nextDouble() - 0.5D) * (double) this.width, 0.0D, 0.0D, 0.0D); + } + + } else { this.worldObj.spawnParticle("lava", this.posX + (this.rand.nextDouble() - 0.5D) * (double) this.width, this.posY + this.rand.nextDouble() * (double) this.height * 0.75, this.posZ + (this.rand.nextDouble() - 0.5D) * (double) this.width, 0.0D, 0.0D, 0.0D); - } + } - super.onLivingUpdate(); - } - - protected void attackEntity(Entity target, float dist) { - - if (this.attackTime <= 0 && dist < 2.0F && target.boundingBox.maxY > this.boundingBox.minY && target.boundingBox.minY < this.boundingBox.maxY) { - this.attackTime = 20; - this.attackEntityAsMob(target); - - } else if(dist < 30.0F) { - - double deltaX = target.posX - this.posX; - double deltaZ = target.posZ - this.posZ; + super.onLivingUpdate(); + } - if (this.attackTime == 0 && getEntityToAttack() != null) { - - RadiationSavedData.incrementRad(worldObj, (int)posX, (int)posZ, 150, 1000); - target.attackEntityFrom(ModDamageSource.radiation, 16.0F); - this.swingItem(); - this.playLivingSound(); - this.attackTime = 20; - } + protected void attackEntity(Entity target, float dist) { - this.rotationYaw = (float)(Math.atan2(deltaZ, deltaX) * 180.0D / Math.PI) - 90.0F; - this.hasAttacked = true; - } - } - - public Entity getUnfortunateSoul() { - - int id = this.dataWatcher.getWatchableObjectInt(16); - return worldObj.getEntityByID(id); - } - - protected void fall(float p_70069_1_) {} + if(this.attackTime <= 0 && dist < 2.0F && target.boundingBox.maxY > this.boundingBox.minY && target.boundingBox.minY < this.boundingBox.maxY) { + this.attackTime = 20; + this.attackEntityAsMob(target); - protected Item getDropItem() { + } else if(dist < 30.0F) { + + double deltaX = target.posX - this.posX; + double deltaZ = target.posZ - this.posZ; + + if(this.attackTime == 0 && getEntityToAttack() != null) { + + RadiationSavedData.incrementRad(worldObj, (int) posX, (int) posZ, 150, 1000); + target.attackEntityFrom(ModDamageSource.radiation, 16.0F); + this.swingItem(); + this.playLivingSound(); + this.attackTime = 20; + } + + this.rotationYaw = (float) (Math.atan2(deltaZ, deltaX) * 180.0D / Math.PI) - 90.0F; + this.hasAttacked = true; + } + } + + public Entity getUnfortunateSoul() { + + int id = this.dataWatcher.getWatchableObjectInt(16); + return worldObj.getEntityByID(id); + } + + protected void fall(float p_70069_1_) { + } + + protected Item getDropItem() { return ModItems.rod_uranium_fuel_depleted; - } - - @Override + } + + @Override public void onDeath(DamageSource p_70645_1_) { - super.onDeath(p_70645_1_); - - if(this.getMaxHealth() > 150) { - List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(50, 50, 50)); - - for(EntityPlayer player : players) { - player.triggerAchievement(MainRegistry.bossMeltdown); - } - } - } - - protected void dropFewItems(boolean beenHit, int looting) { - - if(beenHit) { - - if(looting > 0) { - this.dropItem(ModItems.nugget_polonium, looting); - } - - int count = this.rand.nextInt(3) + 1; - - for(int i = 0; i < count; i++) { - - int r = this.rand.nextInt(3); - - if(r == 0) { - this.dropItem(this.isWet() ? ModItems.waste_uranium : ModItems.rod_uranium_fuel_depleted, 1); - - } else if(r == 1) { - this.dropItem(this.isWet() ? ModItems.waste_mox : ModItems.rod_mox_fuel_depleted, 1); - - } else if(r == 2) { - this.dropItem(this.isWet() ? ModItems.waste_plutonium : ModItems.rod_plutonium_fuel_depleted, 1); - - } - } - } - } + super.onDeath(p_70645_1_); + + if(this.getMaxHealth() > 150) { + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(50, 50, 50)); + + for(EntityPlayer player : players) { + player.triggerAchievement(MainRegistry.bossMeltdown); + } + } + } + + protected void dropFewItems(boolean beenHit, int looting) { + + if(beenHit) { + + if(looting > 0) { + this.dropItem(ModItems.nugget_polonium, looting); + } + + int count = this.rand.nextInt(3) + 1; + + for(int i = 0; i < count; i++) { + + int r = this.rand.nextInt(3); + + if(r == 0) { + this.dropItem(this.isWet() ? ModItems.waste_uranium : ModItems.rod_uranium_fuel_depleted, 1); + + } else if(r == 1) { + this.dropItem(this.isWet() ? ModItems.waste_mox : ModItems.rod_mox_fuel_depleted, 1); + + } else if(r == 2) { + this.dropItem(this.isWet() ? ModItems.waste_plutonium : ModItems.rod_plutonium_fuel_depleted, 1); + + } + } + } + } } diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 30a905db8..3d141edb3 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -42,6 +42,9 @@ public class EntityEffectHandler { private static void handleRadiation(EntityLivingBase entity) { + if(ContaminationUtil.isRadImmune(entity)) + return; + World world = entity.worldObj; RadiationSavedData data = RadiationSavedData.getData(world); diff --git a/src/main/java/com/hbm/handler/HazmatRegistry.java b/src/main/java/com/hbm/handler/HazmatRegistry.java index 30b8b6d8a..c4d413960 100644 --- a/src/main/java/com/hbm/handler/HazmatRegistry.java +++ b/src/main/java/com/hbm/handler/HazmatRegistry.java @@ -35,17 +35,17 @@ public class HazmatRegistry { double hazYellow = 0.3D; // 50% double hazRed = 0.7D; // 80% double hazGray = 1.3D; // 95% - double paa = 2D; // 99% - double liquidator = 3D; // 99.9% + double paa = 1.3D; // 95% + double liquidator = 2D; // 99% double t45 = 1D; // 90% - double ajr = 2D; // 99% - double bj = 1.3D; // 95% - double hev = 2.3D; // 99.5% + double ajr = 1.3D; // 95% + double bj = 1D; // 90% + double hev = 1.3D; // 95% double fau = 4D; // 99.99% double security = 0.825D; // 85% - double star = 1.3D; // 95% - double cmb = 2D; // 99% + double star = 1D; // 90% + double cmb = 1.3D; // 95% double schrab = 2.3D; // 99.5% double euph = 10D; // <100% @@ -223,7 +223,7 @@ public class HazmatRegistry { } if(player.isPotionActive(HbmPotion.radx)) - res += 0.4F; + res += 0.2F; return res; diff --git a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java index 774d9358d..44ec0accf 100644 --- a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java @@ -136,8 +136,8 @@ public class CentrifugeRecipes { recipes.put(new ComparableStack(ModBlocks.ore_rare), new ItemStack[] { new ItemStack(ModItems.powder_desh_mix, 1), - new ItemStack(ModItems.powder_actinium_tiny, 1), - new ItemStack(ModItems.powder_lanthanium_tiny, 1), + new ItemStack(ModItems.nugget_zirconium, 1), + new ItemStack(ModItems.nugget_zirconium, 1), new ItemStack(Blocks.gravel, 1) }); recipes.put("orePlutonium", new ItemStack[] { @@ -222,7 +222,7 @@ public class CentrifugeRecipes { recipes.put(new ComparableStack(ModItems.crystal_lead), new ItemStack[] { new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_gold, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_uranium, 2), new ItemStack(ModItems.nugget_plutonium, 2) }); recipes.put(new ComparableStack(ModItems.crystal_schrabidium), new ItemStack[] { new ItemStack(ModItems.powder_schrabidium, 2), new ItemStack(ModItems.powder_schrabidium, 2), new ItemStack(ModItems.powder_plutonium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); - recipes.put(new ComparableStack(ModItems.crystal_rare), new ItemStack[] { new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.powder_lanthanium_tiny, 3), new ItemStack(ModItems.powder_actinium_tiny, 3) }); + recipes.put(new ComparableStack(ModItems.crystal_rare), new ItemStack[] { new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.nugget_zirconium, 2), new ItemStack(ModItems.nugget_zirconium, 2) }); recipes.put(new ComparableStack(ModItems.crystal_phosphorus), new ItemStack[] { new ItemStack(ModItems.powder_fire, 3), new ItemStack(ModItems.powder_fire, 3), new ItemStack(ModItems.ingot_phosphorus, 2), new ItemStack(Items.blaze_powder, 2) }); recipes.put(new ComparableStack(ModItems.crystal_trixite), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 3), new ItemStack(ModItems.powder_cobalt, 3), new ItemStack(ModItems.powder_spark_mix, 1), new ItemStack(ModItems.powder_nitan_mix, 2) }); recipes.put(new ComparableStack(ModItems.crystal_lithium), new ItemStack[] { new ItemStack(ModItems.powder_lithium, 2), new ItemStack(ModItems.powder_lithium, 2), new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.fluorite, 1) }); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index f27332a11..df3551305 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -60,6 +60,7 @@ public class OreDictManager { OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium); OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal); OreDictionary.registerOre("ingotAsbestos", ModItems.ingot_asbestos); + OreDictionary.registerOre("ingotZirconium", ModItems.ingot_zirconium); OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead); OreDictionary.registerOre("nuggetBeryllium", ModItems.nugget_beryllium); @@ -83,6 +84,7 @@ public class OreDictManager { OreDictionary.registerOre("nuggetNeptunium", ModItems.nugget_neptunium); OreDictionary.registerOre("nuggetPolonium", ModItems.nugget_polonium); OreDictionary.registerOre("nuggetSchrabidium", ModItems.nugget_schrabidium); + OreDictionary.registerOre("nuggetZirconium", ModItems.nugget_zirconium); OreDictionary.registerOre("tinyU233", ModItems.nugget_u233); OreDictionary.registerOre("tinyU235", ModItems.nugget_u235); OreDictionary.registerOre("tinyU238", ModItems.nugget_u238); @@ -143,6 +145,7 @@ public class OreDictManager { OreDictionary.registerOre("dustPolonium", ModItems.powder_polonium); OreDictionary.registerOre("dustAsbestos", ModItems.powder_asbestos); OreDictionary.registerOre("dustPhosphorus", ModItems.powder_fire); + OreDictionary.registerOre("dustZirconium", ModItems.powder_zirconium); OreDictionary.registerOre("dustNeptunium", ModItems.powder_neptunium); OreDictionary.registerOre("dustIodine", ModItems.powder_iodine); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 3d0a3681a..449a3396c 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -787,6 +787,7 @@ public class ModItems { public static Item coin_radiation; public static Item coin_maskman; public static Item coin_worm; + public static Item medal_liquidator; public static Item rod_empty; public static Item rod_uranium; @@ -1736,6 +1737,7 @@ public class ModItems { public static Item fau_plate; public static Item fau_legs; public static Item fau_boots; + public static Item zirconium_legs; public static Item australium_iii; public static Item australium_iv; @@ -1876,6 +1878,7 @@ public class ModItems { public static Item cladding_rubber; public static Item cladding_lead; public static Item cladding_desh; + public static Item cladding_iron; public static Item cladding_obsidian; public static Item insert_kevlar; public static Item insert_sapi; @@ -2845,10 +2848,11 @@ public class ModItems { pads_rubber = new ItemModPads(0.5F).setUnlocalizedName("pads_rubber").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pads_rubber"); pads_slime = new ItemModPads(0.25F).setUnlocalizedName("pads_slime").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pads_slime"); pads_static = new ItemModPads(0.75F).setUnlocalizedName("pads_static").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pads_static"); - cladding_paint = new ItemModCladding(0.025F).setUnlocalizedName("cladding_paint").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_paint"); - cladding_rubber = new ItemModCladding(0.005F).setUnlocalizedName("cladding_rubber").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_rubber"); - cladding_lead = new ItemModCladding(0.1F).setUnlocalizedName("cladding_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_lead"); - cladding_desh = new ItemModCladding(0.2F).setUnlocalizedName("cladding_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_desh"); + cladding_paint = new ItemModCladding(0.025).setUnlocalizedName("cladding_paint").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_paint"); + cladding_rubber = new ItemModCladding(0.005).setUnlocalizedName("cladding_rubber").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_rubber"); + cladding_lead = new ItemModCladding(0.1).setUnlocalizedName("cladding_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_lead"); + cladding_desh = new ItemModCladding(0.2).setUnlocalizedName("cladding_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_desh"); + cladding_iron = new ItemModIron().setUnlocalizedName("cladding_iron").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_iron"); cladding_obsidian = new ItemModObsidian().setUnlocalizedName("cladding_obsidian").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_obsidian"); insert_kevlar = new ItemModInsert(1500, 1F, 0.9F, 1F, 1F).setUnlocalizedName("insert_kevlar").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_kevlar"); insert_sapi = new ItemModInsert(1750, 1F, 0.85F, 1F, 1F).setUnlocalizedName("insert_sapi").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_sapi"); @@ -2946,6 +2950,7 @@ public class ModItems { coin_radiation = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_radiation").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_radiation"); coin_maskman = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_maskman").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_maskman"); coin_worm = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_worm").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_worm"); + medal_liquidator = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("medal_liquidator").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":medal_liquidator"); recycled_ground = new Item().setUnlocalizedName("recycled_ground").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_ground"); recycled_rock = new Item().setUnlocalizedName("recycled_rock").setCreativeTab(null).setTextureName(RefStrings.MODID + ":recycled_rock"); @@ -2980,8 +2985,8 @@ public class ModItems { rod_unobtainium = new ItemCustomLore().setUnlocalizedName("rod_unobtainium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_unobtainium"); rod_daffergon = new ItemCustomLore().setUnlocalizedName("rod_daffergon").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_daffergon"); rod_verticium = new ItemCustomLore().setUnlocalizedName("rod_verticium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_verticium"); - rod_balefire = new ItemHazard(1500F).setUnlocalizedName("rod_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_balefire"); - rod_balefire_blazing = new ItemHazard(2500F, true).setUnlocalizedName("rod_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_balefire_blazing"); + rod_balefire = new ItemHazard(150000F).setUnlocalizedName("rod_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_balefire"); + rod_balefire_blazing = new ItemHazard(250000F, true).setUnlocalizedName("rod_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_balefire_blazing"); rod_dual_empty = new Item().setUnlocalizedName("rod_dual_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_dual_empty"); rod_dual_th232 = new ItemHazard(ItemHazard.th232 * ItemHazard.rod_dual).setUnlocalizedName("rod_dual_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_th232"); @@ -2998,8 +3003,8 @@ public class ModItems { rod_dual_lead = new Item().setUnlocalizedName("rod_dual_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_lead"); rod_dual_schrabidium = new ItemHazard(ItemHazard.sa326 * ItemHazard.rod_dual, false, true).setUnlocalizedName("rod_dual_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_schrabidium"); rod_dual_solinium = new ItemHazard(ItemHazard.sa327 * ItemHazard.rod_dual, false, true).setUnlocalizedName("rod_dual_solinium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_solinium"); - rod_dual_balefire = new ItemHazard(3000F).setUnlocalizedName("rod_dual_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_balefire"); - rod_dual_balefire_blazing = new ItemHazard(5000F, true).setUnlocalizedName("rod_dual_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_balefire_blazing"); + rod_dual_balefire = new ItemHazard(300000F).setUnlocalizedName("rod_dual_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_balefire"); + rod_dual_balefire_blazing = new ItemHazard(500000F, true).setUnlocalizedName("rod_dual_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_balefire_blazing"); rod_quad_empty = new Item().setUnlocalizedName("rod_quad_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_quad_empty"); rod_quad_th232 = new ItemHazard(ItemHazard.th232 * ItemHazard.rod_quad).setUnlocalizedName("rod_quad_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_th232"); @@ -3016,8 +3021,8 @@ public class ModItems { rod_quad_lead = new Item().setUnlocalizedName("rod_quad_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_lead"); rod_quad_schrabidium = new ItemHazard(ItemHazard.sa326 * ItemHazard.rod_quad, false, true).setUnlocalizedName("rod_quad_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_schrabidium"); rod_quad_solinium = new ItemHazard(ItemHazard.sa327 * ItemHazard.rod_quad, false, true).setUnlocalizedName("rod_quad_solinium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_solinium"); - rod_quad_balefire = new ItemHazard(6000F).setUnlocalizedName("rod_quad_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_balefire"); - rod_quad_balefire_blazing = new ItemHazard(10000F, true).setUnlocalizedName("rod_quad_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_balefire_blazing"); + rod_quad_balefire = new ItemHazard(600000F).setUnlocalizedName("rod_quad_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_balefire"); + rod_quad_balefire_blazing = new ItemHazard(1000000F, true).setUnlocalizedName("rod_quad_balefire_blazing").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_quad_empty).setTextureName(RefStrings.MODID + ":rod_quad_balefire_blazing"); rod_thorium_fuel = new ItemFuelRod(ItemHazard.thf * ItemHazard.rod, false, 100000, 10).setUnlocalizedName("rod_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_thorium_fuel"); rod_dual_thorium_fuel = new ItemFuelRod(ItemHazard.thf * ItemHazard.rod_dual, false, 100000, 20).setUnlocalizedName("rod_dual_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_thorium_fuel"); @@ -3683,8 +3688,8 @@ public class ModItems { n2_charge = new ItemN2().setUnlocalizedName("n2_charge").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":n2_charge"); - egg_balefire_shard = new ItemHazard(1500F, true).setUnlocalizedName("egg_balefire_shard").setMaxStackSize(16).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire_shard"); - egg_balefire = new ItemHazard(10000F, true).setUnlocalizedName("egg_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire"); + egg_balefire_shard = new ItemHazard(150000F, true).setUnlocalizedName("egg_balefire_shard").setMaxStackSize(16).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire_shard"); + egg_balefire = new ItemHazard(1000000F, true).setUnlocalizedName("egg_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":egg_balefire"); custom_tnt = new ItemCustomLore().setUnlocalizedName("custom_tnt").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_tnt"); custom_nuke = new ItemCustomLore().setUnlocalizedName("custom_nuke").setMaxStackSize(1).setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":custom_nuke"); @@ -3998,6 +4003,10 @@ public class ModItems { starmetal_legs = new ArmorFSB(MainRegistry.aMatStarmetal, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_legs").setTextureName(RefStrings.MODID + ":starmetal_legs"); starmetal_boots = new ArmorFSB(MainRegistry.aMatStarmetal, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) starmetal_helmet).setUnlocalizedName("starmetal_boots").setTextureName(RefStrings.MODID + ":starmetal_boots"); + ArmorMaterial aMatZirconium = EnumHelper.addArmorMaterial("HBM_ZIRCONIUM", 1000, new int[] { 2, 5, 3, 1 }, 100); + aMatZirconium.customCraftingMaterial = ModItems.ingot_zirconium; + zirconium_legs = new ArmorFSB(aMatZirconium, 7, 2, RefStrings.MODID + ":textures/armor/zirconium_2.png").setMod(0.0F).setUnlocalizedName("zirconium_legs").setTextureName(RefStrings.MODID + ":zirconium_legs"); + ArmorMaterial aMatDNT = EnumHelper.addArmorMaterial("HBM_DNT_LOLOLOL", 3, new int[] { 1, 1, 1, 1 }, 0); aMatDNT.customCraftingMaterial = ModItems.ingot_dineutronium; dnt_helmet = new ArmorFSB(aMatDNT, 7, 0, RefStrings.MODID + ":textures/armor/dnt_1.png") @@ -6456,6 +6465,7 @@ public class ModItems { GameRegistry.registerItem(coin_radiation,coin_radiation.getUnlocalizedName()); GameRegistry.registerItem(coin_maskman, coin_maskman.getUnlocalizedName()); GameRegistry.registerItem(coin_worm, coin_worm.getUnlocalizedName()); + GameRegistry.registerItem(medal_liquidator, medal_liquidator.getUnlocalizedName()); //Chaos GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName()); @@ -6473,6 +6483,7 @@ public class ModItems { GameRegistry.registerItem(cladding_rubber, cladding_rubber.getUnlocalizedName()); GameRegistry.registerItem(cladding_lead, cladding_lead.getUnlocalizedName()); GameRegistry.registerItem(cladding_desh, cladding_desh.getUnlocalizedName()); + GameRegistry.registerItem(cladding_iron, cladding_iron.getUnlocalizedName()); GameRegistry.registerItem(cladding_obsidian, cladding_obsidian.getUnlocalizedName()); GameRegistry.registerItem(insert_kevlar, insert_kevlar.getUnlocalizedName()); GameRegistry.registerItem(insert_sapi, insert_sapi.getUnlocalizedName()); @@ -6661,6 +6672,7 @@ public class ModItems { GameRegistry.registerItem(starmetal_plate, starmetal_plate.getUnlocalizedName()); GameRegistry.registerItem(starmetal_legs, starmetal_legs.getUnlocalizedName()); GameRegistry.registerItem(starmetal_boots, starmetal_boots.getUnlocalizedName()); + GameRegistry.registerItem(zirconium_legs, zirconium_legs.getUnlocalizedName()); GameRegistry.registerItem(dnt_helmet, dnt_helmet.getUnlocalizedName()); GameRegistry.registerItem(dnt_plate, dnt_plate.getUnlocalizedName()); GameRegistry.registerItem(dnt_legs, dnt_legs.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ArmorLiquidator.java b/src/main/java/com/hbm/items/armor/ArmorLiquidator.java index 3069295e5..bc321981e 100644 --- a/src/main/java/com/hbm/items/armor/ArmorLiquidator.java +++ b/src/main/java/com/hbm/items/armor/ArmorLiquidator.java @@ -1,22 +1,32 @@ package com.hbm.items.armor; +import org.lwjgl.opengl.GL11; + import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelM65; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; public class ArmorLiquidator extends ArmorFSB { private ModelM65 model; + private ResourceLocation hazmatBlur = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_dark.png"); public ArmorLiquidator(ArmorMaterial material, int layer, int slot, String texture) { super(material, layer, slot, texture); @@ -46,4 +56,26 @@ public class ArmorLiquidator extends ArmorFSB { multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(ArmorModHandler.fixedUUIDs[this.armorType], "Armor modifier", -0.1D, 1)); return multimap; } + + @SideOnly(Side.CLIENT) + public void renderHelmetOverlay(ItemStack stack, EntityPlayer player, ScaledResolution resolution, float partialTicks, boolean hasScreen, int mouseX, int mouseY) { + + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(false); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_ALPHA_TEST); + Minecraft.getMinecraft().getTextureManager().bindTexture(hazmatBlur); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, (double) resolution.getScaledHeight(), -90.0D, 0.0D, 1.0D); + tessellator.addVertexWithUV((double) resolution.getScaledWidth(), (double) resolution.getScaledHeight(), -90.0D, 1.0D, 1.0D); + tessellator.addVertexWithUV((double) resolution.getScaledWidth(), 0.0D, -90.0D, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D); + tessellator.draw(); + GL11.glDepthMask(true); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + } } diff --git a/src/main/java/com/hbm/items/armor/ItemModIron.java b/src/main/java/com/hbm/items/armor/ItemModIron.java new file mode 100644 index 000000000..84d3cce29 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ItemModIron.java @@ -0,0 +1,42 @@ +package com.hbm.items.armor; + +import java.util.List; + +import com.google.common.collect.Multimap; +import com.hbm.handler.ArmorModHandler; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemModIron extends ItemArmorMod { + + public ItemModIron() { + super(ArmorModHandler.cladding, true, true, true, true); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add(EnumChatFormatting.WHITE + "+0.5 knockback resistance"); + list.add(""); + super.addInformation(itemstack, player, list, bool); + } + + @Override + public void addDesc(List list, ItemStack stack, ItemStack armor) { + list.add(EnumChatFormatting.WHITE + " " + stack.getDisplayName() + " (+0.5 knockback resistence)"); + } + + @Override + public Multimap getModifiers(ItemStack armor) { + Multimap multimap = super.getItemAttributeModifiers(); + + multimap.put(SharedMonsterAttributes.knockbackResistance.getAttributeUnlocalizedName(), + new AttributeModifier(ArmorModHandler.UUIDs[((ItemArmor)armor.getItem()).armorType], "NTM Armor Mod Knockback", 0.5, 0)); + + return multimap; + } +} diff --git a/src/main/java/com/hbm/items/food/ItemPill.java b/src/main/java/com/hbm/items/food/ItemPill.java index 7e4f6a060..b30ff82b1 100644 --- a/src/main/java/com/hbm/items/food/ItemPill.java +++ b/src/main/java/com/hbm/items/food/ItemPill.java @@ -79,7 +79,7 @@ public class ItemPill extends ItemFood { list.add("Deadly"); } if(this == ModItems.radx) { - list.add("Increases radiation resistance by 0.4 for 3 minutes"); + list.add("Increases radiation resistance by 0.2 (37%) for 3 minutes"); } if(this == ModItems.xanax) { list.add("Removes 500mDRX"); diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index ccb96490a..1a60beb7a 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/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 (3815)"; + public static final String VERSION = "1.0.27 BETA (3822)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 3a86a08a4..0147a44cc 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -861,6 +861,7 @@ public class CraftingManager { GameRegistry.addSmelting(ModItems.powder_desh, new ItemStack(ModItems.ingot_desh), 1.0F); GameRegistry.addSmelting(ModItems.powder_dineutronium, new ItemStack(ModItems.ingot_dineutronium), 5.0F); GameRegistry.addSmelting(ModItems.powder_asbestos, new ItemStack(ModItems.ingot_asbestos), 1.0F); + GameRegistry.addSmelting(ModItems.powder_zirconium, new ItemStack(ModItems.ingot_zirconium), 1.0F); GameRegistry.addSmelting(ModItems.powder_coal, new ItemStack(ModItems.coke), 1.0F); GameRegistry.addSmelting(ModItems.briquette_lignite, new ItemStack(ModItems.coke), 1.0F); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 9b10f3b6d..9398c3f19 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -48,9 +48,11 @@ import com.hbm.potion.HbmPotion; import com.hbm.saveddata.AuxSavedData; import com.hbm.saveddata.RadiationSavedData; import com.hbm.util.ArmorUtil; +import com.hbm.util.ContaminationUtil; import com.hbm.util.EnchantmentUtil; import com.hbm.world.generator.TimedGenerator; +import api.hbm.entity.IRadiationImmune; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; import cpw.mods.fml.common.gameevent.TickEvent; @@ -487,11 +489,7 @@ public class ModEventHandler continue; } - if(eRad < 200 || entity instanceof EntityNuclearCreeper || - entity instanceof EntityMooshroom || - entity instanceof EntityZombie || - entity instanceof EntitySkeleton || - entity instanceof EntityQuackos) + if(eRad < 200 || ContaminationUtil.isRadImmune(entity)) continue; if(eRad > 2500) diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index 6111542ff..a7649635b 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -1,5 +1,7 @@ package com.hbm.util; +import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityQuackos; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.HazmatRegistry; import com.hbm.potion.HbmPotion; @@ -8,6 +10,10 @@ import com.hbm.saveddata.RadiationSavedData; import api.hbm.entity.IRadiationImmune; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.monster.EntityZombie; +import net.minecraft.entity.passive.EntityMooshroom; +import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatComponentTranslation; @@ -24,14 +30,11 @@ public class ContaminationUtil { * @return */ public static float calculateRadiationMod(EntityLivingBase entity) { - - if(entity.isPotionActive(HbmPotion.mutation)) - return 0; if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer)entity; - float koeff = 5.0F; + float koeff = 10.0F; return (float) Math.pow(koeff, -HazmatRegistry.getResistance(player)); } @@ -44,7 +47,7 @@ public class ContaminationUtil { if(!(e instanceof EntityLivingBase)) return; - if(e instanceof IRadiationImmune) + if(isRadImmune(e)) return; if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) @@ -65,16 +68,13 @@ public class ContaminationUtil { if(!(e instanceof EntityLivingBase)) return; - if(e instanceof IRadiationImmune) + if(isRadImmune(e)) return; if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) return; EntityLivingBase entity = (EntityLivingBase)e; - - if(entity.isPotionActive(HbmPotion.mutation)) - return; HbmLivingProps.incrementRadiation(entity, f); } @@ -84,7 +84,7 @@ public class ContaminationUtil { if(!(e instanceof EntityLivingBase)) return 0.0F; - if(e instanceof IRadiationImmune) + if(isRadImmune(e)) return 0.0F; EntityLivingBase entity = (EntityLivingBase)e; @@ -92,6 +92,20 @@ public class ContaminationUtil { return HbmLivingProps.getRadiation(entity); } + public static boolean isRadImmune(Entity e) { + + if(e instanceof EntityLivingBase && ((EntityLivingBase)e).isPotionActive(HbmPotion.mutation)) + return true; + + return e instanceof EntityNuclearCreeper || + e instanceof EntityMooshroom || + e instanceof EntityZombie || + e instanceof EntitySkeleton || + e instanceof EntityQuackos || + e instanceof EntityOcelot || + e instanceof IRadiationImmune; + } + /// ASBESTOS /// public static void applyAsbestos(Entity e, int i) { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1d96ac5de..226f682a7 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -863,8 +863,9 @@ item.circuit_targeting_tier3.name=Militärische Schaltplatte (Stufe 3) item.circuit_targeting_tier4.name=Militärische Schaltplatte (Stufe 4) item.circuit_targeting_tier5.name=Militärische Schaltplatte (Stufe 5) item.circuit_targeting_tier6.name=Militärische Schaltplatte (Stufe 6) -item.cladding_desh.name=Deshbeschlag -item.cladding_lead.name=Bleibeschlag +item.cladding_desh.name=Deshbeschläge +item.cladding_iron.name=Eisenbeschläge +item.cladding_lead.name=Bleibeschläge item.cladding_obsidian.name=Obsidianhaut item.cladding_paint.name=Bleifarbe item.cladding_rubber.name=Gummibeschlag @@ -1400,6 +1401,10 @@ item.levitation_unit.name=Gravitationsmanipulator item.lignite.name=Braunkohle item.limiter.name=Generator-Limiter item.linker.name=Telelinker +item.liquidator_boots.name=Liquidatorenanzug-Stiefel +item.liquidator_helmet.name=Liquidatorenanzug-Helm +item.liquidator_legs.name=Liquidatorenanzug-Beinschutz +item.liquidator_plate.name=Liquidatorenanzug-Brustpanzer item.lithium.name=Lithiumwürfel item.lodestone.name=Magneteisenstein item.loop_stew.name=Informatiker-Frühstück @@ -1429,6 +1434,7 @@ item.med_bag.name=Ärztetasche item.med_ipecac.name=Ipecac-Sirup item.med_ptsd.name=PTBS-Medikament item.med_schiziphrenia.name=Schizophrenie-Medikament +item.medal_liquidator.name=Liquidatorenmedallie item.memespoon.name=§eLuftschlag item.memory.name=item.null.name item.mese_gavel.name=Mese-Richterhammer @@ -1676,6 +1682,7 @@ item.nugget_uranium.name=Urannugget item.nugget_uranium_fuel.name=Urankernbrennstoffnugget item.nugget_verticium.name=Verticiumnugget item.nugget_weidanium.name=Weidaniumnugget +item.nugget_zirconium.name=Zirkonsplitter item.nuke_advanced_kit.name=Atomphysik Kit für Fortgeschrittene item.nuke_commercially_kit.name=Atomphysik Kit für kommerzielle Zwecke item.nuke_electric_kit.name=Kit des Elektronikingenieurs @@ -2260,6 +2267,7 @@ item.wood_gavel.name=Hölzerner Richterhammer item.wrench.name=Rohrzange item.wrench_flipped.name=Rohrzange mit Klinge item.xanax.name=NAXA Anti-Digamma-Medikament +item.zirconium_legs.name=Zirkoniumhose itemGroup.tabBlocks=NTM Erze und Blöcke itemGroup.tabConsumable=NTM Verbrauchsgüter diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 9ac69df4a..8309dd8b9 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -864,6 +864,7 @@ item.circuit_targeting_tier4.name=Military Grade Circuit Board (Tier 4) item.circuit_targeting_tier5.name=Military Grade Circuit Board (Tier 5) item.circuit_targeting_tier6.name=Military Grade Circuit Board (Tier 6) item.cladding_desh.name=Desh Cladding +item.cladding_iron.name=Iron Cladding item.cladding_lead.name=Lead Cladding item.cladding_obsidian.name=Obsidian Skin item.cladding_paint.name=Lead Paint @@ -1400,6 +1401,10 @@ item.levitation_unit.name=Gravity Manipulator item.lignite.name=Lignite item.limiter.name=Generator Limiter item.linker.name=Telelinker +item.liquidator_boots.name=Liquidator Suit Boots +item.liquidator_helmet.name=Liquidator Suit Helmet +item.liquidator_legs.name=Liquidator Suit Leggins +item.liquidator_plate.name=Liquidator Suit Chestplate item.lithium.name=Lithium Cube item.lodestone.name=Lodestone item.loop_stew.name=IT Breakfast @@ -1429,6 +1434,7 @@ item.med_bag.name=Doctor's Bag item.med_ipecac.name=Ipecac Syrup item.med_ptsd.name=PTSD Medication item.med_schiziphrenia.name=Schizophrenia Medication +item.medal_liquidator.name=Liquidator Medal item.memespoon.name=§eMarket Gardener item.memory.name=item.null.name item.mese_gavel.name=Mese Gavel @@ -1676,6 +1682,7 @@ item.nugget_uranium.name=Uranium Nugget item.nugget_uranium_fuel.name=Nugget of Uranium Fuel item.nugget_verticium.name=Verticium Nugget item.nugget_weidanium.name=Weidanium Nugget +item.nugget_zirconium.name=Zirconium Splinter item.nuke_advanced_kit.name=Atomic Science Advanced Kit item.nuke_commercially_kit.name=Atomic Science Kit for Commercial Uses item.nuke_electric_kit.name=Electronic Engineer's Kit @@ -2260,6 +2267,7 @@ item.wood_gavel.name=Wooden Gavel item.wrench.name=Pipe Wrench item.wrench_flipped.name=Blade on a Wrench item.xanax.name=NAXA Anti-Digamma Medication +item.zirconium_legs.name=Zirconium Pants itemGroup.tabBlocks=NTM Ores and Blocks itemGroup.tabConsumable=NTM Consumables and Gear diff --git a/src/main/resources/assets/hbm/textures/armor/fau_helmet.png b/src/main/resources/assets/hbm/textures/armor/fau_helmet.png index dc97c0fc6..2342e760f 100644 Binary files a/src/main/resources/assets/hbm/textures/armor/fau_helmet.png and b/src/main/resources/assets/hbm/textures/armor/fau_helmet.png differ diff --git a/src/main/resources/assets/hbm/textures/armor/zirconium_layer_1.png b/src/main/resources/assets/hbm/textures/armor/zirconium_layer_1.png new file mode 100644 index 000000000..a01b99f59 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/armor/zirconium_layer_1.png differ diff --git a/src/main/resources/assets/hbm/textures/armor/zirconium_layer_2.png b/src/main/resources/assets/hbm/textures/armor/zirconium_layer_2.png new file mode 100644 index 000000000..06e69f27f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/armor/zirconium_layer_2.png differ diff --git a/src/main/resources/assets/hbm/textures/items/crucible.png b/src/main/resources/assets/hbm/textures/items/crucible.png new file mode 100644 index 000000000..a53590fef Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/crucible.png differ diff --git a/src/main/resources/assets/hbm/textures/items/liquidator_boots.png b/src/main/resources/assets/hbm/textures/items/liquidator_boots.png new file mode 100644 index 000000000..0835251a9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/liquidator_boots.png differ diff --git a/src/main/resources/assets/hbm/textures/items/liquidator_helmet.png b/src/main/resources/assets/hbm/textures/items/liquidator_helmet.png new file mode 100644 index 000000000..4be17ab44 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/liquidator_helmet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/liquidator_legs.png b/src/main/resources/assets/hbm/textures/items/liquidator_legs.png new file mode 100644 index 000000000..5b2c37368 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/liquidator_legs.png differ diff --git a/src/main/resources/assets/hbm/textures/items/liquidator_plate.png b/src/main/resources/assets/hbm/textures/items/liquidator_plate.png new file mode 100644 index 000000000..d847d8c9c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/liquidator_plate.png differ diff --git a/src/main/resources/assets/hbm/textures/items/medal_liquidator.png b/src/main/resources/assets/hbm/textures/items/medal_liquidator.png new file mode 100644 index 000000000..8d99a791b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/medal_liquidator.png differ diff --git a/src/main/resources/assets/hbm/textures/items/zirconium_legs.png b/src/main/resources/assets/hbm/textures/items/zirconium_legs.png new file mode 100644 index 000000000..902ed4d34 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/zirconium_legs.png differ diff --git a/src/main/resources/assets/hbm/textures/misc/overlay_dark.png b/src/main/resources/assets/hbm/textures/misc/overlay_dark.png new file mode 100644 index 000000000..fd6aad500 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/misc/overlay_dark.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 3c94e0bef..de7b79be7 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27-3815", + "version":"1.0.27-3822", "mcversion": "1.7.10", "url": "", "updateUrl": "",