diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-08-30 16:07:04 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-08-30 16:07:04 +1000 |
commit | 31fa812d171e05b1756852155adecba90fb4f848 (patch) | |
tree | 8858c8ab5f94fd100e364faa54e2e9a25c6b5d7a /src/Java/miscutil/core/item | |
parent | 35d165e6d72b21920e14540dea1465488fd5db3d (diff) | |
download | GT5-Unofficial-31fa812d171e05b1756852155adecba90fb4f848.tar.gz GT5-Unofficial-31fa812d171e05b1756852155adecba90fb4f848.tar.bz2 GT5-Unofficial-31fa812d171e05b1756852155adecba90fb4f848.zip |
+ Added a system to handle radioactive materials.
+ Added some new tooltips to warn against radiation damage.
Diffstat (limited to 'src/Java/miscutil/core/item')
8 files changed, 161 insertions, 12 deletions
diff --git a/src/Java/miscutil/core/item/ModItems.java b/src/Java/miscutil/core/item/ModItems.java index e06bbad8a6..cc52b5d6bf 100644 --- a/src/Java/miscutil/core/item/ModItems.java +++ b/src/Java/miscutil/core/item/ModItems.java @@ -195,7 +195,7 @@ public final class ModItems { //@SuppressWarnings("unused") public static final void init(){ - AAA_Broken = new BaseItemIngot("AAA_Broken", "Errors - Tell Alkalus", Utils.rgbtoHexValue(128, 128, 128)); + AAA_Broken = new BaseItemIngot("AAA_Broken", "Errors - Tell Alkalus", Utils.rgbtoHexValue(128, 128, 128), 0); //Debug Loading if (CORE.DEBUG){ @@ -284,8 +284,8 @@ public final class ModItems { UtilsItems.generateItemsFromMaterial("NiobiumCarbide", "Niobium Carbide", 6, MaterialInfo.NIOMBIUMCARBIDE, Utils.rgbtoHexValue(205, 197, 191), true); - //Uranium-233 - UtilsItems.generateItemsFromMaterial("Uranium233", "Uranium 233", 2, MaterialInfo.INCONEL792, Utils.rgbtoHexValue(73, 220, 83), true); //Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle. + //Uranium-233if + UtilsItems.generateItemsFromMaterial("Uranium233", "Uranium 233", 4, MaterialInfo.INCONEL792, Utils.rgbtoHexValue(73, 220, 83), false); //Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle. //EnderIO Resources @@ -416,8 +416,8 @@ public final class ModItems { //Special Item Handling Case if (configSwitches.enableAlternativeBatteryAlloy) { - ModItems.itemIngotBatteryAlloy = new BaseItemIngot("itemIngotBatteryAlloy", "Battery Alloy", Utils.rgbtoHexValue(35, 228, 141)); - ModItems.itemPlateBatteryAlloy = new BaseItemPlate("itemPlateBatteryAlloy", "Battery Alloy", Utils.rgbtoHexValue(35, 228, 141), 2); + ModItems.itemIngotBatteryAlloy = new BaseItemIngot("itemIngotBatteryAlloy", "Battery Alloy", Utils.rgbtoHexValue(35, 228, 141), 0); + ModItems.itemPlateBatteryAlloy = new BaseItemPlate("itemPlateBatteryAlloy", "Battery Alloy", Utils.rgbtoHexValue(35, 228, 141), 2, 0); } diff --git a/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java b/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java index 8f6976700f..360b620cc5 100644 --- a/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java +++ b/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java @@ -6,6 +6,8 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; +import ic2.core.IC2Potion; +import ic2.core.item.armor.ItemArmorHazmat; import java.util.List; @@ -15,10 +17,13 @@ import miscutil.core.util.Utils; import miscutil.core.util.item.UtilsItems; import miscutil.core.util.math.MathUtils; import miscutil.core.util.recipe.UtilsRecipe; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; public class BaseItemDust extends Item{ @@ -31,7 +36,7 @@ public class BaseItemDust extends Item{ private int mTier; private MaterialInfo dustInfo; - public BaseItemDust(String unlocalizedName, String materialName, MaterialInfo matInfo, int colour, String pileSize, boolean blastFurnaceRequired, int tier) { + public BaseItemDust(String unlocalizedName, String materialName, MaterialInfo matInfo, int colour, String pileSize, boolean blastFurnaceRequired, int tier, int sRadioactivity) { setUnlocalizedName(unlocalizedName); this.setUnlocalizedName(unlocalizedName); this.setMaxStackSize(64); @@ -45,6 +50,7 @@ public class BaseItemDust extends Item{ this.materialName = materialName; this.useBlastFurnace = blastFurnaceRequired; this.dustInfo = matInfo; + this.sRadiation = sRadioactivity; GameRegistry.registerItem(this, unlocalizedName); String temp = ""; @@ -90,6 +96,19 @@ public class BaseItemDust extends Item{ } return name; } + + protected final int sRadiation; + @Override + public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { + if (!world.isRemote){ + if (this.sRadiation > 0 && (entityHolding instanceof EntityLivingBase)) { + EntityLivingBase entityLiving = (EntityLivingBase) entityHolding; + if (!ItemArmorHazmat.hasCompleteHazmat(entityLiving)) { + IC2Potion.radiation.applyTo(entityLiving, sRadiation * 20, sRadiation * 10); + } + } + } + } @Override public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { @@ -103,6 +122,9 @@ public class BaseItemDust extends Item{ else { list.add(EnumChatFormatting.GRAY+"A pile of " + materialName + " dust."); } + if (sRadiation > 0){ + list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."); + } //} super.addInformation(stack, aPlayer, list, bool); } diff --git a/src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java b/src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java index ac71a4391c..30659c53cc 100644 --- a/src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java +++ b/src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java @@ -2,6 +2,8 @@ package miscutil.core.item.base.ingots; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; +import ic2.core.IC2Potion; +import ic2.core.item.armor.ItemArmorHazmat; import java.util.List; @@ -10,10 +12,13 @@ import miscutil.core.lib.CORE; import miscutil.core.util.Utils; import miscutil.core.util.item.UtilsItems; import miscutil.core.util.math.MathUtils; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; public class BaseItemIngot extends Item{ @@ -22,7 +27,7 @@ public class BaseItemIngot extends Item{ protected String materialName; protected String unlocalName; - public BaseItemIngot(String unlocalizedName, String materialName, int colour) { + public BaseItemIngot(String unlocalizedName, String materialName, int colour, int sRadioactivity) { setUnlocalizedName(unlocalizedName); this.setCreativeTab(AddToCreativeTab.tabMisc); this.setUnlocalizedName(unlocalizedName); @@ -32,6 +37,7 @@ public class BaseItemIngot extends Item{ this.setMaxStackSize(64); this.colour = colour; this.materialName = materialName; + this.sRadiation = sRadioactivity; GameRegistry.registerItem(this, unlocalizedName); String temp = ""; if (unlocalName.contains("itemIngot")){ @@ -60,6 +66,9 @@ public class BaseItemIngot extends Item{ else if (materialName != null && materialName != "" && !materialName.equals("") && unlocalName.toLowerCase().contains("ingothot")){ list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.RED+"Very hot! "+EnumChatFormatting.GRAY+" Avoid direct handling.."); } + if (sRadiation > 0){ + list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."); + } super.addInformation(stack, aPlayer, list, bool); } @@ -102,4 +111,18 @@ public class BaseItemIngot extends Item{ } + + + protected final int sRadiation; + @Override + public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { + if (!world.isRemote){ + if (this.sRadiation > 0 && (entityHolding instanceof EntityLivingBase)) { + EntityLivingBase entityLiving = (EntityLivingBase) entityHolding; + if (!ItemArmorHazmat.hasCompleteHazmat(entityLiving)) { + IC2Potion.radiation.applyTo(entityLiving, sRadiation * 20, sRadiation * 10); + } + } + } + } } diff --git a/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java b/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java index e8a31f599d..bc6447a1a8 100644 --- a/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java +++ b/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java @@ -22,7 +22,7 @@ public class BaseItemIngotHot extends BaseItemIngot{ private int mTier; public BaseItemIngotHot(String unlocalizedName, String materialName, ItemStack coldIngot, int tier) { - super(unlocalizedName, materialName, Utils.rgbtoHexValue(225, 225, 225)); + super(unlocalizedName, materialName, Utils.rgbtoHexValue(225, 225, 225), 0); this.setTextureName(CORE.MODID + ":" + "itemIngotHot"); this.outputIngot = coldIngot; this.mTier = tier; diff --git a/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtBlock.java b/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtBlock.java index 79364cb079..6c244b33db 100644 --- a/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtBlock.java +++ b/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtBlock.java @@ -1,22 +1,60 @@ package miscutil.core.item.base.itemblock; import gregtech.api.util.GT_OreDictUnificator; +import ic2.core.IC2Potion; +import ic2.core.item.armor.ItemArmorHazmat; + +import java.util.List; + import miscutil.core.util.item.UtilsItems; import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; public class ItemBlockGtBlock extends ItemBlock{ - protected int blockColour; + protected final int blockColour; + protected final int sRadiation; public ItemBlockGtBlock(Block block) { super(block); this.blockColour = block.getBlockColor(); + if (block.getLocalizedName().toLowerCase().contains("uranium") || block.getLocalizedName().toLowerCase().contains("plutonium") || block.getLocalizedName().toLowerCase().contains("thorium")){ + sRadiation = 2; + } + else { + sRadiation = 0; + } GT_OreDictUnificator.registerOre("block"+block.getUnlocalizedName().replace("tile.block", "").replace("tile.", "").replace("of", "").replace("Of", "").replace("Block", "").replace("-", "").replace("_", "").replace(" ", ""), UtilsItems.getSimpleStack(this)); } public int getRenderColor(int aMeta) { return blockColour; } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (sRadiation > 0){ + list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."); + } + super.addInformation(stack, aPlayer, list, bool); + } + + @Override + public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { + if (!world.isRemote){ + if (this.sRadiation > 0 && (entityHolding instanceof EntityLivingBase)) { + EntityLivingBase entityLiving = (EntityLivingBase) entityHolding; + if (!ItemArmorHazmat.hasCompleteHazmat(entityLiving)) { + IC2Potion.radiation.applyTo(entityLiving, sRadiation * 20, sRadiation * 10); + } + } + } + } } diff --git a/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java b/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java index 92fe7262de..75d3f6a527 100644 --- a/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java +++ b/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java @@ -2,6 +2,8 @@ package miscutil.core.item.base.plates; import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_OreDictUnificator; +import ic2.core.IC2Potion; +import ic2.core.item.armor.ItemArmorHazmat; import java.util.List; @@ -10,10 +12,13 @@ import miscutil.core.lib.CORE; import miscutil.core.util.Utils; import miscutil.core.util.item.UtilsItems; import miscutil.core.util.math.MathUtils; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; public class BaseItemPlate extends Item{ @@ -23,7 +28,7 @@ public class BaseItemPlate extends Item{ protected String unlocalName; private int mTier; - public BaseItemPlate(String unlocalizedName, String materialName, int colour, int tier) { + public BaseItemPlate(String unlocalizedName, String materialName, int colour, int tier, int sRadioactivity) { setUnlocalizedName(unlocalizedName); this.setCreativeTab(AddToCreativeTab.tabMisc); this.setUnlocalizedName(unlocalizedName); @@ -33,6 +38,7 @@ public class BaseItemPlate extends Item{ this.colour = colour; this.mTier = tier; this.materialName = materialName; + this.sRadiation = sRadioactivity; GameRegistry.registerItem(this, unlocalizedName); GT_OreDictUnificator.registerOre(unlocalName.replace("itemP", "p"), UtilsItems.getSimpleStack(this)); addBendingRecipe(); @@ -49,6 +55,9 @@ public class BaseItemPlate extends Item{ if (materialName != null && materialName != "" && !materialName.equals("")){ list.add(EnumChatFormatting.GRAY+"A flat plate of " + materialName + "."); } + if (sRadiation > 0){ + list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."); + } super.addInformation(stack, aPlayer, list, bool); } @@ -64,6 +73,19 @@ public class BaseItemPlate extends Item{ return colour; } + + protected final int sRadiation; + @Override + public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { + if (!world.isRemote){ + if (this.sRadiation > 0 && (entityHolding instanceof EntityLivingBase)) { + EntityLivingBase entityLiving = (EntityLivingBase) entityHolding; + if (!ItemArmorHazmat.hasCompleteHazmat(entityLiving)) { + IC2Potion.radiation.applyTo(entityLiving, sRadiation * 20, sRadiation * 10); + } + } + } + } private void addBendingRecipe(){ Utils.LOG_WARNING("Adding recipe for "+materialName+" Plates"); diff --git a/src/Java/miscutil/core/item/base/rods/BaseItemRod.java b/src/Java/miscutil/core/item/base/rods/BaseItemRod.java index 454669dbc1..64abd9f591 100644 --- a/src/Java/miscutil/core/item/base/rods/BaseItemRod.java +++ b/src/Java/miscutil/core/item/base/rods/BaseItemRod.java @@ -3,6 +3,8 @@ package miscutil.core.item.base.rods; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.util.GT_OreDictUnificator; +import ic2.core.IC2Potion; +import ic2.core.item.armor.ItemArmorHazmat; import java.util.List; @@ -12,10 +14,13 @@ import miscutil.core.util.Utils; import miscutil.core.util.item.UtilsItems; import miscutil.core.util.math.MathUtils; import miscutil.core.util.recipe.UtilsRecipe; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; public class BaseItemRod extends Item{ @@ -25,7 +30,7 @@ public class BaseItemRod extends Item{ protected String unlocalName; private int mTier; - public BaseItemRod(String unlocalizedName, String materialName, int colour, int tier) { + public BaseItemRod(String unlocalizedName, String materialName, int colour, int tier, int sRadioactivity) { setUnlocalizedName(unlocalizedName); this.setCreativeTab(AddToCreativeTab.tabMisc); this.setUnlocalizedName(unlocalizedName); @@ -35,6 +40,7 @@ public class BaseItemRod extends Item{ this.colour = colour; this.mTier = tier; this.materialName = materialName; + this.sRadiation = sRadioactivity; GameRegistry.registerItem(this, unlocalizedName); GT_OreDictUnificator.registerOre(unlocalName.replace("itemRod", "stick"), UtilsItems.getSimpleStack(this)); addExtruderRecipe(); @@ -51,6 +57,9 @@ public class BaseItemRod extends Item{ if (materialName != null && materialName != "" && !materialName.equals("")){ list.add(EnumChatFormatting.GRAY+"A 40cm Rod of " + materialName + "."); } + if (sRadiation > 0){ + list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."); + } super.addInformation(stack, aPlayer, list, bool); } @@ -67,6 +76,19 @@ public class BaseItemRod extends Item{ } + protected final int sRadiation; + @Override + public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { + if (!world.isRemote){ + if (this.sRadiation > 0 && (entityHolding instanceof EntityLivingBase)) { + EntityLivingBase entityLiving = (EntityLivingBase) entityHolding; + if (!ItemArmorHazmat.hasCompleteHazmat(entityLiving)) { + IC2Potion.radiation.applyTo(entityLiving, sRadiation * 20, sRadiation * 10); + } + } + } + } + private void addExtruderRecipe(){ Utils.LOG_WARNING("Adding recipe for "+materialName+" Rods"); String tempIngot = unlocalName.replace("itemRod", "ingot"); diff --git a/src/Java/miscutil/core/item/base/rods/BaseItemRodLong.java b/src/Java/miscutil/core/item/base/rods/BaseItemRodLong.java index 0ad5f1cfd9..dc2b50e594 100644 --- a/src/Java/miscutil/core/item/base/rods/BaseItemRodLong.java +++ b/src/Java/miscutil/core/item/base/rods/BaseItemRodLong.java @@ -2,6 +2,8 @@ package miscutil.core.item.base.rods; import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_OreDictUnificator; +import ic2.core.IC2Potion; +import ic2.core.item.armor.ItemArmorHazmat; import java.util.List; @@ -11,10 +13,13 @@ import miscutil.core.util.Utils; import miscutil.core.util.item.UtilsItems; import miscutil.core.util.math.MathUtils; import miscutil.core.util.recipe.UtilsRecipe; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; public class BaseItemRodLong extends Item{ @@ -24,7 +29,7 @@ public class BaseItemRodLong extends Item{ protected String unlocalName; private int mTier; - public BaseItemRodLong(String unlocalizedName, String materialName, int colour, int tier) { + public BaseItemRodLong(String unlocalizedName, String materialName, int colour, int tier, int sRadioactivity) { setUnlocalizedName(unlocalizedName); this.setCreativeTab(AddToCreativeTab.tabMisc); this.setUnlocalizedName(unlocalizedName); @@ -34,6 +39,7 @@ public class BaseItemRodLong extends Item{ this.colour = colour; this.mTier = tier; this.materialName = materialName; + this.sRadiation = sRadioactivity; GameRegistry.registerItem(this, unlocalizedName); GT_OreDictUnificator.registerOre(unlocalName.replace("itemRod", "stick"), UtilsItems.getSimpleStack(this)); addExtruderRecipe(); @@ -50,6 +56,9 @@ public class BaseItemRodLong extends Item{ if (materialName != null && materialName != "" && !materialName.equals("")){ list.add(EnumChatFormatting.GRAY+"A 80cm Rod of " + materialName + "."); } + if (sRadiation > 0){ + list.add(EnumChatFormatting.GRAY+"Warning: "+EnumChatFormatting.GREEN+"Radioactive! "+EnumChatFormatting.GOLD+" Avoid direct handling without hazmat protection."); + } super.addInformation(stack, aPlayer, list, bool); } @@ -65,6 +74,19 @@ public class BaseItemRodLong extends Item{ return colour; } + + protected final int sRadiation; + @Override + public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { + if (!world.isRemote){ + if (this.sRadiation > 0 && (entityHolding instanceof EntityLivingBase)) { + EntityLivingBase entityLiving = (EntityLivingBase) entityHolding; + if (!ItemArmorHazmat.hasCompleteHazmat(entityLiving)) { + IC2Potion.radiation.applyTo(entityLiving, sRadiation * 20, sRadiation * 10); + } + } + } + } private void addExtruderRecipe(){ Utils.LOG_WARNING("Adding recipe for Long "+materialName+" Rods"); |