diff options
author | Martin Robertz <dream-master@gmx.net> | 2021-07-26 21:19:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-26 21:19:36 +0200 |
commit | ed0f15357e7b46cd58320497e3186db9bcb3b209 (patch) | |
tree | cfb24bdff053bf79b8370c85590acf5ab1e58535 /src | |
parent | 3bcbdf95cdf7e4ed753c9a583cc3586912ad71af (diff) | |
parent | 047277e7c499cab16529545bb82a27e2ced32c0e (diff) | |
download | GT5-Unofficial-ed0f15357e7b46cd58320497e3186db9bcb3b209.tar.gz GT5-Unofficial-ed0f15357e7b46cd58320497e3186db9bcb3b209.tar.bz2 GT5-Unofficial-ed0f15357e7b46cd58320497e3186db9bcb3b209.zip |
Merge pull request #606 from Sphyix/experimental
Added Hazmat armors
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/common/GT_Proxy.java | 174 |
1 files changed, 133 insertions, 41 deletions
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 636d78be51..e35661a617 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -60,6 +60,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.potion.Potion; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; @@ -70,10 +71,7 @@ import net.minecraftforge.event.ForgeEventFactory; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.living.EnderTeleportEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; -import net.minecraftforge.event.entity.player.PlayerEvent; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import net.minecraftforge.event.entity.player.*; import net.minecraftforge.event.terraingen.OreGenEvent; import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.event.world.ChunkDataEvent; @@ -107,6 +105,7 @@ import java.util.concurrent.ConcurrentMap; import java.util.stream.Collectors; import java.util.concurrent.locks.ReentrantLock; +import static gregtech.api.enums.GT_Values.W; import static gregtech.api.enums.GT_Values.debugEntityCramming; @@ -477,39 +476,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { OrePrefixes.cellMolten.mContainerItem = ItemList.Cell_Empty.get(1L); OrePrefixes.cell.mContainerItem = ItemList.Cell_Empty.get(1L); - GregTech_API.sFrostHazmatList.add(GT_ModHandler.getIC2Item("hazmatHelmet", 1L, 32767)); - GregTech_API.sFrostHazmatList.add(GT_ModHandler.getIC2Item("hazmatChestplate", 1L, 32767)); - GregTech_API.sFrostHazmatList.add(GT_ModHandler.getIC2Item("hazmatLeggings", 1L, 32767)); - GregTech_API.sFrostHazmatList.add(GT_ModHandler.getIC2Item("hazmatBoots", 1L, 32767)); - - GregTech_API.sHeatHazmatList.add(GT_ModHandler.getIC2Item("hazmatHelmet", 1L, 32767)); - GregTech_API.sHeatHazmatList.add(GT_ModHandler.getIC2Item("hazmatChestplate", 1L, 32767)); - GregTech_API.sHeatHazmatList.add(GT_ModHandler.getIC2Item("hazmatLeggings", 1L, 32767)); - GregTech_API.sHeatHazmatList.add(GT_ModHandler.getIC2Item("hazmatBoots", 1L, 32767)); - - GregTech_API.sBioHazmatList.add(GT_ModHandler.getIC2Item("hazmatHelmet", 1L, 32767)); - GregTech_API.sBioHazmatList.add(GT_ModHandler.getIC2Item("hazmatChestplate", 1L, 32767)); - GregTech_API.sBioHazmatList.add(GT_ModHandler.getIC2Item("hazmatLeggings", 1L, 32767)); - GregTech_API.sBioHazmatList.add(GT_ModHandler.getIC2Item("hazmatBoots", 1L, 32767)); - - GregTech_API.sGasHazmatList.add(GT_ModHandler.getIC2Item("hazmatHelmet", 1L, 32767)); - GregTech_API.sGasHazmatList.add(GT_ModHandler.getIC2Item("hazmatChestplate", 1L, 32767)); - GregTech_API.sGasHazmatList.add(GT_ModHandler.getIC2Item("hazmatLeggings", 1L, 32767)); - GregTech_API.sGasHazmatList.add(GT_ModHandler.getIC2Item("hazmatBoots", 1L, 32767)); - - GregTech_API.sRadioHazmatList.add(GT_ModHandler.getIC2Item("hazmatHelmet", 1L, 32767)); - GregTech_API.sRadioHazmatList.add(GT_ModHandler.getIC2Item("hazmatChestplate", 1L, 32767)); - GregTech_API.sRadioHazmatList.add(GT_ModHandler.getIC2Item("hazmatLeggings", 1L, 32767)); - GregTech_API.sRadioHazmatList.add(GT_ModHandler.getIC2Item("hazmatBoots", 1L, 32767)); - - GregTech_API.sElectroHazmatList.add(GT_ModHandler.getIC2Item("hazmatHelmet", 1L, 32767)); - GregTech_API.sElectroHazmatList.add(GT_ModHandler.getIC2Item("hazmatChestplate", 1L, 32767)); - GregTech_API.sElectroHazmatList.add(GT_ModHandler.getIC2Item("hazmatLeggings", 1L, 32767)); - GregTech_API.sElectroHazmatList.add(GT_ModHandler.getIC2Item("hazmatBoots", 1L, 32767)); - GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_helmet, 1, 32767)); - GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_chestplate, 1, 32767)); - GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_leggings, 1, 32767)); - GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_boots, 1, 32767)); + GT_ModHandler.sNonReplaceableItems.add(new ItemStack(Items.bow, 1, 32767)); GT_ModHandler.sNonReplaceableItems.add(new ItemStack(Items.fishing_rod, 1, 32767)); @@ -586,10 +553,85 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { GT_OreDictUnificator.registerOre("cropGrape", GT_ModHandler.getModItem("magicalcrops", "magicalcrops_CropProduce", 1L, 4)); GT_OreDictUnificator.registerOre("cropTea", GT_ModHandler.getModItem("ganyssurface", "teaLeaves", 1L, 0)); - GregTech_API.sGasHazmatList.add(GT_ModHandler.getModItem("EMT", "NanoBootsTraveller", 1L, 32767)); - GregTech_API.sGasHazmatList.add(GT_ModHandler.getModItem("EMT", "NanosuitGogglesRevealing", 1L, 32767)); - GregTech_API.sGasHazmatList.add(GT_ModHandler.getModItem("EMT", "QuantumBootsTraveller", 1L, 32767)); - GregTech_API.sGasHazmatList.add(GT_ModHandler.getModItem("EMT", "QuantumGogglesRevealing", 1L, 32767)); + // IC2 Hazmat + addFullHazmatToIC2Item("hazmatHelmet"); + addFullHazmatToIC2Item("hazmatChestplate"); + addFullHazmatToIC2Item("hazmatLeggings"); + addFullHazmatToIC2Item("hazmatBoots"); + addFullHazmatToIC2Item("nanoHelmet"); + addFullHazmatToIC2Item("nanoBoots"); + addFullHazmatToIC2Item("nanoLeggings"); + addFullHazmatToIC2Item("nanoBodyarmor"); + addFullHazmatToIC2Item("quantumHelmet"); + addFullHazmatToIC2Item("quantumBodyarmor"); + addFullHazmatToIC2Item("quantumLeggings"); + addFullHazmatToIC2Item("quantumBoots"); + + //GraviSuite Hazmat + addFullHazmatToGeneralItem("GraviSuite", "graviChestPlate", 1L); + addFullHazmatToGeneralItem("GraviSuite", "advNanoChestPlate", 1L); + + // EMT Hazmat + addFullHazmatToGeneralItem("EMT", "itemArmorQuantumChestplate", 1L); + addFullHazmatToGeneralItem("EMT", "NanoBootsTraveller", 1L); + addFullHazmatToGeneralItem("EMT", "NanosuitGogglesRevealing", 1L); + addFullHazmatToGeneralItem("EMT", "QuantumBootsTraveller", 1L); + addFullHazmatToGeneralItem("EMT", "QuantumGogglesRevealing", 1L); + addFullHazmatToGeneralItem("EMT", "SolarHelmetRevealing", 1L); + addFullHazmatToGeneralItem("EMT", "NanosuitWing", 1L); + addFullHazmatToGeneralItem("EMT", "QuantumWing", 1L); + + // DraconicEvolution Hazmat + addFullHazmatToGeneralItem("DraconicEvolution", "draconicBoots", 1L, 0); + addFullHazmatToGeneralItem("DraconicEvolution", "draconicHelm", 1L, 0); + addFullHazmatToGeneralItem("DraconicEvolution", "draconicLeggs", 1L, 0); + addFullHazmatToGeneralItem("DraconicEvolution", "draconicChest", 1L, 0); + addFullHazmatToGeneralItem("DraconicEvolution", "wyvernBoots", 1L, 0); + addFullHazmatToGeneralItem("DraconicEvolution", "wyvernHelm", 1L, 0); + addFullHazmatToGeneralItem("DraconicEvolution", "wyvernLeggs", 1L, 0); + addFullHazmatToGeneralItem("DraconicEvolution", "wyvernChest", 1L, 0); + + //AdvancedSolarPanel + addFullHazmatToGeneralItem("AdvancedSolarPanel", "advanced_solar_helmet", 1L); + addFullHazmatToGeneralItem("AdvancedSolarPanel", "hybrid_solar_helmet", 1L); + addFullHazmatToGeneralItem("AdvancedSolarPanel", "ultimate_solar_helmet", 1L); + + //TaintedMagic Hazmat + addFullHazmatToGeneralItem("TaintedMagic", "ItemVoidwalkerBoots", 1L); + addFullHazmatToGeneralItem("TaintedMagic", "ItemShadowFortressHelmet", 1L); + addFullHazmatToGeneralItem("TaintedMagic", "ItemShadowFortressChestplate", 1L); + addFullHazmatToGeneralItem("TaintedMagic", "ItemShadowFortressLeggings", 1L); + addFullHazmatToGeneralItem("TaintedMagic", "ItemVoidFortressHelmet", 1L); + addFullHazmatToGeneralItem("TaintedMagic", "ItemVoidFortressChestplate", 1L); + addFullHazmatToGeneralItem("TaintedMagic", "ItemVoidFortressLeggings", 1L); + addFullHazmatToGeneralItem("TaintedMagic", "ItemVoidmetalGoggles", 1L); + + //WitchingGadgets Hazmat + addFullHazmatToGeneralItem("WitchingGadgets", "item.WG_PrimordialHelm", 1L); + addFullHazmatToGeneralItem("WitchingGadgets", "item.WG_PrimordialChest", 1L); + addFullHazmatToGeneralItem("WitchingGadgets", "item.WG_PrimordialLegs", 1L); + addFullHazmatToGeneralItem("WitchingGadgets", "item.WG_PrimordialBoots", 1L); + + //ThaumicTinkerer Hazmat + addFullHazmatToGeneralItem("ThaumicTinkerer", "ichorclothChestGem", 1L); + addFullHazmatToGeneralItem("ThaumicTinkerer", "ichorclothBootsGem", 1L); + addFullHazmatToGeneralItem("ThaumicTinkerer", "ichorclothHelmGem", 1L); + addFullHazmatToGeneralItem("ThaumicTinkerer", "ichorclothLegsGem", 1L); + + //GalaxySpace Hazmat + addFullHazmatToGeneralItem("GalaxySpace", "item.spacesuit_helmet", 1L); + addFullHazmatToGeneralItem("GalaxySpace", "item.spacesuit_helmetglasses", 1L); + addFullHazmatToGeneralItem("GalaxySpace", "item.spacesuit_plate", 1L); + addFullHazmatToGeneralItem("GalaxySpace", "item.spacesuit_jetplate", 1L); + addFullHazmatToGeneralItem("GalaxySpace", "item.spacesuit_leg", 1L); + addFullHazmatToGeneralItem("GalaxySpace", "item.spacesuit_boots", 1L); + addFullHazmatToGeneralItem("GalaxySpace", "item.spacesuit_gravityboots", 1L); + + //Extra Hazmat + GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_helmet, 1, W)); + GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_chestplate, 1, W)); + GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_leggings, 1, W)); + GregTech_API.sElectroHazmatList.add(new ItemStack(Items.chainmail_boots, 1, W)); GregTech_API.sLoadStarted = true; for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) { @@ -2043,4 +2085,54 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { if (event.block.getUnlocalizedName().equals("blockAlloyGlass")) GregTech_API.causeMachineUpdate(event.world, event.x, event.y, event.z); } + + public static void addFullHazmatToGeneralItem(String aModID, String aItem, long aAmount, int aMeta){ + ItemStack item = GT_ModHandler.getModItem(aModID, aItem, aAmount, aMeta); + addItemToHazmatLists(item); + } + + public static void addFullHazmatToGeneralItem(String aModID, String aItem, long aAmount){ + ItemStack item = GT_ModHandler.getModItem(aModID, aItem, aAmount, W); + addItemToHazmatLists(item); + } + + public static void addFullHazmatToIC2Item(String aItem){ + ItemStack item = GT_ModHandler.getIC2Item(aItem, 1L, W); + addItemToHazmatLists(item); + } + + private static void addItemToHazmatLists(ItemStack item){ + GregTech_API.sGasHazmatList.add(item); + GregTech_API.sBioHazmatList.add(item); + GregTech_API.sFrostHazmatList.add(item); + GregTech_API.sHeatHazmatList.add(item); + GregTech_API.sRadioHazmatList.add(item); + GregTech_API.sElectroHazmatList.add(item); + } + + public static boolean providesProtection(ItemStack aStack){ + boolean isGas = GT_Utility.isStackInList(aStack, GregTech_API.sGasHazmatList); + boolean isBio = GT_Utility.isStackInList(aStack, GregTech_API.sBioHazmatList); + boolean isFrost = GT_Utility.isStackInList(aStack, GregTech_API.sFrostHazmatList); + boolean isHeat = GT_Utility.isStackInList(aStack, GregTech_API.sHeatHazmatList); + boolean isRadio = GT_Utility.isStackInList(aStack, GregTech_API.sRadioHazmatList); + boolean isElectro = GT_Utility.isStackInList(aStack, GregTech_API.sElectroHazmatList); + if(isGas && isBio && isFrost && isHeat && isRadio && isElectro) + return true; + return false; + } + + @SubscribeEvent + public void onItemTooltip(ItemTooltipEvent event) { + if (event.itemStack == null) { + return; + } + else { + ItemStack aStackTemp = event.itemStack; + GT_ItemStack aStack = new GT_ItemStack(aStackTemp); + if (providesProtection(aStackTemp)) { + event.toolTip.add(EnumChatFormatting.LIGHT_PURPLE + "Provides full hazmat protection."); + } + } + } } |