From 9f3ebe8593687403c62846c4579d72ec864ad805 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 28 Mar 2021 20:34:17 +0200 Subject: [PATCH] do you like how i dance, i got zirconium pants --- .../java/com/hbm/crafting/ArmorRecipes.java | 7 + .../com/hbm/crafting/ConsumableRecipes.java | 1 + .../java/com/hbm/crafting/MineralRecipes.java | 3 + .../com/hbm/entity/mob/EntityRADBeast.java | 345 +++++++++--------- .../com/hbm/handler/EntityEffectHandler.java | 3 + .../java/com/hbm/handler/HazmatRegistry.java | 16 +- .../com/hbm/inventory/CentrifugeRecipes.java | 6 +- .../com/hbm/inventory/OreDictManager.java | 3 + src/main/java/com/hbm/items/ModItems.java | 36 +- .../com/hbm/items/armor/ArmorLiquidator.java | 32 ++ .../java/com/hbm/items/armor/ItemModIron.java | 42 +++ .../java/com/hbm/items/food/ItemPill.java | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../java/com/hbm/main/CraftingManager.java | 1 + .../java/com/hbm/main/ModEventHandler.java | 8 +- .../java/com/hbm/util/ContaminationUtil.java | 34 +- src/main/resources/assets/hbm/lang/de_DE.lang | 12 +- src/main/resources/assets/hbm/lang/en_US.lang | 8 + .../assets/hbm/textures/armor/fau_helmet.png | Bin 1275 -> 1304 bytes .../hbm/textures/armor/zirconium_layer_1.png | Bin 0 -> 1732 bytes .../hbm/textures/armor/zirconium_layer_2.png | Bin 0 -> 811 bytes .../assets/hbm/textures/items/crucible.png | Bin 0 -> 214 bytes .../hbm/textures/items/liquidator_boots.png | Bin 0 -> 245 bytes .../hbm/textures/items/liquidator_helmet.png | Bin 0 -> 341 bytes .../hbm/textures/items/liquidator_legs.png | Bin 0 -> 238 bytes .../hbm/textures/items/liquidator_plate.png | Bin 0 -> 320 bytes .../hbm/textures/items/medal_liquidator.png | Bin 0 -> 914 bytes .../hbm/textures/items/zirconium_legs.png | Bin 0 -> 208 bytes .../assets/hbm/textures/misc/overlay_dark.png | Bin 0 -> 18021 bytes src/main/resources/mcmod.info | 2 +- 30 files changed, 344 insertions(+), 219 deletions(-) create mode 100644 src/main/java/com/hbm/items/armor/ItemModIron.java create mode 100644 src/main/resources/assets/hbm/textures/armor/zirconium_layer_1.png create mode 100644 src/main/resources/assets/hbm/textures/armor/zirconium_layer_2.png create mode 100644 src/main/resources/assets/hbm/textures/items/crucible.png create mode 100644 src/main/resources/assets/hbm/textures/items/liquidator_boots.png create mode 100644 src/main/resources/assets/hbm/textures/items/liquidator_helmet.png create mode 100644 src/main/resources/assets/hbm/textures/items/liquidator_legs.png create mode 100644 src/main/resources/assets/hbm/textures/items/liquidator_plate.png create mode 100644 src/main/resources/assets/hbm/textures/items/medal_liquidator.png create mode 100644 src/main/resources/assets/hbm/textures/items/zirconium_legs.png create mode 100644 src/main/resources/assets/hbm/textures/misc/overlay_dark.png 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 dc97c0fc6e7a8c611c3484df3ad7738a72fcf58c..2342e760fd5d2437c6402cc30e9ad3b73cd09cfa 100644 GIT binary patch delta 1284 zcmV+f1^fE@3786yB!2{RLP=Bz2nYy#2xN!=00hrTL_t(|ob8*vi`+&S#vkc)80;(7 zm&K5p@n8_$-QLDOVTkuZ01>}$ZEfLw5J>6h{a3HJT4WKa7W;C4 zKa$x98OZKaOxWYWAbNLjuyLXi-W?o7$Af{C{#^>YiB_70jK1o?@}CraqqZTs&$_Ik z(MCk}U4>hMP=CS-LU?R<*y*PZw~;pya&OzVqmz>psWEFBYYT+KPCwc;uEg?Y{yBd5 z`7W$`U!i~RS>;Bj)tAMS-kn;0?>8*PCF!O_jtQG(T{O0BN2Y16<-4xSwG&tM%tc`; zi_ixEq_wRHVm?;X@T^KzQCY7MNle%>7ON;^y_jZ)b2hu06tVxnLbe|q|Z$~$O{1&e3A{@QEYzM&KsA9s7yopvMZuj8> z0INyDbzO85X>$H%B3-6Do{!jj(;_Nc?07r|uoA@cJg(^nReR7}~VGqq(|(G~JgjXUn3p#R4nw$Zs+MW#!Xh)vj@+kyw^)n|}<{%1aPT7VCLlY{(bo&;0XBu3!=R z%$qQIZI%g39IIKD710f)C$D6F@Bcch4*w#dvLNwrvb{`|)j+Ge|GDWrp1x)Z$BedZ zw`~gQnU^4xumwErv%PqWmko)*NH>}*kd)G6#3e!;_>vYEE9ZdT)|b{SUU)5>vcLW@7ktljj&ndZGy0F zkjS9*!hWtOVFjUt6@(I25Jnq9tvuQgld@olUaQMMWFJ@~kJg1NbuIMq^tCn|4pZwG z4u@;~bsT4{?9tItZCzR`EbHU%@cYBua(}eAL{$2_1@e@)uDHUMC{-UhlSk+P`!@)S z&|iD}orH)Dqr_wiqCzYSaTdFn$PDrJ3GT-vB2Km9#ndjK0Q5UvTEJ;eFQ;(Fboj{ u0aQAkW<@6zkVB>8X=Y*RO4PA_u<{?3I`FSqjDO1j0000pF7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%hhNHDpIvQUCx1Y)M2x zRCr$PnqNv=K@`SaKp$F=J{9}accCRH2r3971O!0@k>U=z1%K(Yi?Cbh3VdnT(C2Ps z+Hd^6WO8%v&7EXsauer+k2!b#oO9-vM1{CB1pWB@+5H-g+@FI3S2~v2%66&i;<;m) zt>hPqp*Whz6>C(CwOlc;wO*kiG=rvc#u^o4EoaQ@l@}U7BWR*TtWh!6O2oWw8KE$W zqIjuTqhhR;ihp_Syh1?~L(!74M#Wew8T0yighD8SVx?n^im_HYCWiDvauh+a(y>Ox zSSuY9LwX@OilA8OSfgUBm5zyF^E7_D=PYwMxlT?_h6xLo{<`~V#+dv0cHCK-ZWRM;Xr^7SaN$K@(d_;G{hZq_u`Jlfy?=u!>s+%hrd_{=0M-K6$Abln z3s<<{q0k+v!3H!@Px^x#<9c=!LY@2W9)H6%YDK*%zx02>{rV1g1 zFha0`*Mw-zx8-BGIpqS|>@Bx>ofqN46>J*wI#cxl8#b!vwt1WlbLyGp<^(v)z}2}n zu%*rGyr>Bwgi-RB*DBTvDy>tj_tH8I7@N>)8JF~!SDRy}K? zij$S7de%f0Co56)tcfaKRlGbs}p|XsgDuX32P2 z$$y4mL1LS8$^p?b%f-t|HUxJ;l`7aJT)}2?1)IqgY$k6sSS!&`3}}69olR+?ij&o7 z_0+_)`LZq-W8}cU5n1*H8ft#43v+3^BtX_jvdcPW0S(PEUIH1e4<4@dm2j7NY^7gD zI4dxVj9M50^ZEJNJv}{n3$AZwh-!YnzkkR)wlY|z@v`cK7FYlk+`)qlrAstNF3)IP zUM* zE7%sP*}gzE!Z^D%VA0IMoA*hKTxzy2P>nForUtvn+D{zmgl0az+ciPKSZi~0&k(@! zT3#VQ%iNYvA*`mkWg=^j%q?Dm)z>`cU+87v>KxN}S#?5lTV8cRvb1Qw^$zJWk4?ZX zYo_tCV20+lJib@bJ*p=hz002ovPDHLkV1iP+V7~wW 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 0000000000000000000000000000000000000000..a01b99f59cc4ddd455454fd78161bb03c03ea739 GIT binary patch literal 1732 zcmV;#20QtQP)>a~_vF9%UCR-BnO^t3dS z@2#j;@BQ9y|Ncra0Jm>kb#WY1sZ@yL7_Buy5D>>P&N;sMou7(9dwiau2Q7%Ah>I65 z`selab*!~aOiZx7y**Ol4g&)fP+)U&lU}cf5c>x2^?EqxMkd%{;jI2z?;;hZB) zQ`sBM@mV#Ts{mLM~ZM-ORIR+{qO;d0ABIc!(2qCCcDkB$g)EKCMBuRMj;spRg2s)h(VHl#6BFnOo z3pi?so4EB+twjhyx7#Jl zGXG5&hCX+sX$pX~mUq5)^+@{&9Rz`|^Ut0=^A`np`SK;!TF#w2N4;M6i7?M|lu~SO zZxeEK3*#Tf?W(I)O)m5KIoOA5$?H%@g-+-2KzYuI}Yyfx* z<#|q)Wf)^vTwKIC$FXC_5JIrGx98s#9?)nskW!+QB280zy&m0emty}~t%j5m=bXHv-(KaO+GH&X3(8zIDzlc_^H z{O+ym&KQFbf-KAU>bHLUg=UfeHyCJzfBgB^E=^OCBmp>bm;LJ>f8ngP7-KNT@TD*R za42~OlA$<`Nz>FfG)IlSy*;YcDoQD~wzh`eZ(u7tK0Z#j+ofDC`ws3Xp|xgtd6^&x z2!dev{RS=g_~VaBl7x1(ux%B|mh;NJcIHBnqh(HGDc?P=t*sphgL=JA6h(f&dcFQuNqgwDUK~Z zCeL$fwc3G}dVPHzAp~P%W57PEjiTtSxW>>Pptbh@3|^lh6f=f;y?(&j#Y~`3f)K*b z905O1&|0&zvxC-}cDwD*%Cd}Zw~MvbGtYvy7vFAfZhB7`xdMzabUGa`fYzEuqXFQ_ z(CY)$;?n(opE!;wl}g^V3k4Mjg5Zs0`dLH&{m!pk!O;uL8aye}?YBs$n1lNDaHwYBBr9QK==q9-Wocaii)u7D!*7S^v+Ds(y> z#>U2&n3$m7@B1GhMVuDNE=dwDzjx)082#w?SKRdUw12kN^6J&APb5-*`RM1a;2H&8 z&a&)K2Bx~`tN^B_rf4>s%*@QNzP`@x?yetXq-jd0)A7V8iXxxs{~MRzyCUx1y6#z< zQtDG#1wuT`jU?Y!$u{V+6j1K#D+8B~@-9kTRzUgj~ew zPDm4SIl{(Bg)4&#SwgFymFF*o*ug%of+Gu`>;ua#GsDh1-+c4V2Q4ivEiElAEiElA zEiElA|2M?v4S)UdThdyiltL-RSKs{fV$7F>e9<5!=jZ42dOgyOi z7Ogd%PUjGs-W2_LgZG~Kd`<{~5W*oey(!|;#}7#eL8sH9+wD@98}z4yBhDTy&6gg{D()*2}##u&8L93342AcT1Kymxer5v3GBem5!K+ydQh zHwVQzm&bh(0XRE5!x)oy|Ec+DtqCEZwMJ`=F@~}%^X?mC4lMum$mw*-cDu!UPjeia zLP$!9wU!toi^YPfs+dlvJk6T-j<(jKwI-#6wHDZ=c3s!hb&W9wDJ3T-C!~~EtyTb3 zRmFThKcx2m1TBQfWv>td?>){rVCM;|)e7ev&N-^8!dgoR0i_gWS@QRvzbEfK-ENn~ zV!>v!p)AY%KOpYQIH_wcHiHT`}cV+{R%pBN)WQ4nL~?(Pm_45z23q?CAke9Y(D7=uzO p2Q7raVzEFe#b7W1$fmqc{sHmQc$q&i76JeO002ovPDHLkV1j$Yc|-sJ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a53590fef0a135d5daf3b46cb9e5176b459bd36d GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfXeRg?$*zEeEe;R@hEl!`)KAZ0-B*=82_BMm@ zk|~c8Z%048*VS*BaQ}&8)s{#7)$cW*%b0y*l~Y`7$J!D7FVO$xk)37fmlJ0I9me44 L>gTe~DWM4fhYVEK literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0835251a981fed1c595e28d1e420cf1a46c1bac6 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfda_+Zf!VQ&53T!-J{R2dF{h%T(UzAn@^IYSl_D84nfAyXj@?k^b?W?Q zW1CE_Y23-jOwJoK9I%}JRYG}MYT!I4i%p$V*p!-bZ#xJnUAj73ut##Tn&tBap8i$F zO&tv>&usS^b{Ia|weC!H)z!wW!MDE4s??V)__b@@)%7OETJx-SygzN*sIupKXrQ7@ r^Y?vLi}lZNF0HQId1U|dxHkPwTJcFnb9ifk?q=|G^>bP0l+XkKv{hiC literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..4be17ab44ab86215e8bf8c879daeebd74bc0bd30 GIT binary patch literal 341 zcmV-b0jmCqP)SuYu&E_JWu?r!D6uhpe#$2 zQY@ECq?EL+y5Atrvr%22doHEK_x+yN_4)oY-Xcj7BgEHrlu~3_=JbwTB7hKr{eDl= nG+cvzjWkV7nx@Wg{eSQY<~M9aY_YMD00000NkvXXu0mjf8;p)m literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..5b2c37368f38d405c1e697d14fcfb1273fd73ae2 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfMjxb&p4&dv=oOFnQZP11H^ebSWM*y3`ybo;e; z=Oll8&AH|j`~LZyg_(S34o_Qk>#WzxoMaBh-0GSi+fKVHa(P4^l3-@oaBUw8N8pCJ ztOC9g$FVSN%WkFVdQ&MBb@0CR<04FCWD literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d847d8c9cbc2004ae2440ae1c8dace5e925fba5d GIT binary patch literal 320 zcmV-G0l)rZrE5JewoF}_CJAPQ=H1UFl`;)JeJ(YU9HJ0uDOmNpef zh-I@9q=;C-0t)H!tI^EgKToTHe$(Ub80s|w+h+p0uA{DNV_f?K+XtglhM$XEd}%37FV63-jrsU+vob;dvCkQFRb#`|@^NBD_rmHnaP;ozukxK>%b-0604 zl+A9uC!Zt7!xQE+kv9!3007uY#__##>;u5a@vs+z)_LJNhXQf{fC6%;kHhZ}n>azHJBY>D~)#QIP^(y_`v-IS@>qZ@Rl{PJyjuH|5}8e!daMXPJ!lxE^Vt z9%*TP=twFxP`J(^kv9eM5AUAgQ}h^^sw_XgY6Z^gkrt}cnIhOOidvx7bgiQq$pk>?f)f$)we~u&P8zOk8;89b4tq5vILS{6$nvjLKwhgCeZ06P zuL&F={|*rQF#j8Uj>A61y1<3(z<6_V8z@W}48KMNSCfWT z8gw~(1puXB=y+m)1cHkccg~fe>$=5;gP@UL3xI;t=uDF7{tGx5xy9sGBXtSHMs|N! o{jJ}!b~d}#ui5|qbNaXK7aG(6?Iuf@`~Uy|07*qoM6N<$g4K(!E&u=k literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..902ed4d34a4b5fa2aeaa791570ccd4d0024a65be GIT binary patch literal 208 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 literal 0 HcmV?d00001 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": "",