aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-07-26 21:19:36 +0200
committerGitHub <noreply@github.com>2021-07-26 21:19:36 +0200
commited0f15357e7b46cd58320497e3186db9bcb3b209 (patch)
treecfb24bdff053bf79b8370c85590acf5ab1e58535 /src/main/java/gregtech/common
parent3bcbdf95cdf7e4ed753c9a583cc3586912ad71af (diff)
parent047277e7c499cab16529545bb82a27e2ced32c0e (diff)
downloadGT5-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/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java174
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.");
+ }
+ }
+ }
}