aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-04-08 16:41:11 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-04-08 16:41:11 +1000
commit08e93930faa225c4bcd91115160e91671aaa4884 (patch)
tree018ec0ae9f3a51ea70655c3c045b2f0913579401
parentb6368490a3d910bcff1837b15f44bd78411d37bd (diff)
downloadGT5-Unofficial-08e93930faa225c4bcd91115160e91671aaa4884.tar.gz
GT5-Unofficial-08e93930faa225c4bcd91115160e91671aaa4884.tar.bz2
GT5-Unofficial-08e93930faa225c4bcd91115160e91671aaa4884.zip
$ Finished work on HazmatUtils.java.
< Reverted the changes to GeneralTooltipEventHandler.java.
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java2
-rw-r--r--src/Java/gtPlusPlus/core/block/general/redstone/BlockGenericRedstoneTest.java9
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java2
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java81
-rw-r--r--src/Java/gtPlusPlus/xmod/ic2/item/reactor/IC2_FuelRod_Base.java52
5 files changed, 115 insertions, 31 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index e10369abe3..429ead6266 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -46,6 +46,7 @@ import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.data.LocaleUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.HazmatUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
@@ -186,6 +187,7 @@ public class GTplusplus implements ActionListener {
INIT_PHASE.INIT.setPhaseActive(true);
mChunkLoading.init(event);
proxy.init(event);
+ HazmatUtils.init();
proxy.registerNetworkStuff();
instanceGtProxy.init();
Core_Manager.init();
diff --git a/src/Java/gtPlusPlus/core/block/general/redstone/BlockGenericRedstoneTest.java b/src/Java/gtPlusPlus/core/block/general/redstone/BlockGenericRedstoneTest.java
index ad59a83d0c..0f1f983cd0 100644
--- a/src/Java/gtPlusPlus/core/block/general/redstone/BlockGenericRedstoneTest.java
+++ b/src/Java/gtPlusPlus/core/block/general/redstone/BlockGenericRedstoneTest.java
@@ -45,7 +45,6 @@ public class BlockGenericRedstoneTest extends BlockGenericRedstone {
@Override
public boolean onScrewdriverLMB() {
- // TODO Auto-generated method stub
return super.onScrewdriverLMB();
}
@@ -68,7 +67,6 @@ public class BlockGenericRedstoneTest extends BlockGenericRedstone {
@Override
public boolean onMalletLMB() {
- // TODO Auto-generated method stub
return super.onMalletLMB();
}
@@ -86,7 +84,6 @@ public class BlockGenericRedstoneTest extends BlockGenericRedstone {
@Override
public boolean onWrenchLMB() {
- // TODO Auto-generated method stub
return super.onWrenchLMB();
}
@@ -105,23 +102,21 @@ public class BlockGenericRedstoneTest extends BlockGenericRedstone {
@Override
protected String getTileEntityNameForRegistration() {
- // TODO Auto-generated method stub
return "TileEntityRedstoneTest";
}
@Override
public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side) {
- // TODO Auto-generated method stub
return super.isProvidingWeakPower(world, x, y, z, side);
}
@Override
public int isProvidingStrongPower(IBlockAccess world, int x, int y, int z, int side) {
- // TODO Auto-generated method stub
return super.isProvidingStrongPower(world, x, y, z, side);
}
}
+ @SuppressWarnings("unchecked")
@Override
public void getSubBlocks(Item p_149666_1_, CreativeTabs p_149666_2_, List aList) {
aList.add(ItemUtils.getSimpleStack(this));
@@ -135,13 +130,11 @@ public class BlockGenericRedstoneTest extends BlockGenericRedstone {
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) {
- // TODO Auto-generated method stub
return ItemUtils.getSimpleStack(this).getItem();
}
@Override
public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) {
- // TODO Auto-generated method stub
return ItemUtils.getSimpleStack(this).getItem();
}
diff --git a/src/Java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java
index 5b49b495ce..fda7760607 100644
--- a/src/Java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java
@@ -23,7 +23,7 @@ public class GeneralTooltipEventHandler {
public void onItemTooltip(ItemTooltipEvent event){
- if (GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.STARTED || GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.SERVER_START) {
+ if (GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.STARTED && GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.SERVER_START) {
return;
}
if (event.itemStack == null) {
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java
index 638e5dec10..ed5b2bcdf6 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java
@@ -16,12 +16,14 @@ import gregtech.api.objects.GT_ItemStack;
import gregtech.api.util.GT_ModHandler;
import gtPlusPlus.GTplusplus;
import gtPlusPlus.GTplusplus.INIT_PHASE;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.util.Utils;
import ic2.core.Ic2Items;
import ic2.core.item.armor.ItemArmorHazmat;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
public class HazmatUtils {
@@ -29,7 +31,7 @@ public class HazmatUtils {
public static final GT_HashSet<GT_ItemStack> sHazmatList = new GT_HashSet<GT_ItemStack>();
- private static final HashMap<ItemStack, AutoMap<String>> mToolTips = new HashMap<ItemStack, AutoMap<String>>();
+ private static final HashMap<GT_ItemStack, AutoMap<String>> mToolTips = new HashMap<GT_ItemStack, AutoMap<String>>();
private static boolean mInit = false;
@@ -67,20 +69,27 @@ public class HazmatUtils {
@SubscribeEvent
public void onItemTooltip(ItemTooltipEvent event){
- if (GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.STARTED || GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.SERVER_START) {
+ Logger.INFO("Ticking Hazmat handler");
+ if (GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.STARTED && GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.SERVER_START) {
+ Logger.INFO("Bad Phase : "+GTplusplus.CURRENT_LOAD_PHASE);
return;
}
if (event.itemStack == null || isVanillaHazmatPiece(event.itemStack)) {
+ Logger.INFO("Invalid Itemstack or vanilla hazmat");
return;
}
else {
- ItemStack aStack = event.itemStack;
+ Logger.INFO("Finding Tooltip Data");
+ ItemStack aStackTemp = event.itemStack;
+ GT_ItemStack aStack = new GT_ItemStack(aStackTemp);
String[] aTooltips = getTooltips(aStack);
if (aTooltips == null || aTooltips.length == 0) {
+ Logger.INFO("No Info!");
return;
}
- else {
- if (providesProtection(aStack)) {
+ else {
+ Logger.INFO("Found Tooltips!");
+ if (providesProtection(aStackTemp)) {
event.toolTip.add("Provides full hazmat protection.");
}
else {
@@ -134,11 +143,20 @@ public class HazmatUtils {
}
-
+ /**
+ * Is this item vanilla IC2 hazmat?
+ * @param aArmour - The Armour to provide protection.
+ * @return
+ */
public static boolean isVanillaHazmatPiece(ItemStack aArmour) {
return aArmour != null ? aArmour.getItem() instanceof ItemArmorHazmat : false;
}
+ /**
+ * Is this item a registered piece of full hazmat? (Provides all 6 protections)
+ * @param aStack - The Armour to provide protection.
+ * @return
+ */
public static boolean isHazmatPiece(ItemStack aStack) {
return isVanillaHazmatPiece(aStack) || providesProtection(aStack);
}
@@ -149,7 +167,8 @@ public class HazmatUtils {
* @param aStack - The Armour to provide protection.
* @return - Did we register this ItemStack properly?
*/
- public static boolean addProtection(ItemStack aStack) {
+ public static boolean addProtection(ItemStack aVanStack) {
+ GT_ItemStack aStack = getGtStackFromVanilla(aVanStack);
AutoMap<Boolean> aAdded = new AutoMap<Boolean>();
aAdded.put(addProtection_Frost(aStack));
aAdded.put(addProtection_Fire(aStack));
@@ -165,37 +184,43 @@ public class HazmatUtils {
sHazmatList.add(aStack);
return true;
}
- public static boolean addProtection_Frost(ItemStack aStack) {
- registerTooltip(aStack, "Frost");
+ public static boolean addProtection_Frost(GT_ItemStack aStack) {
+ registerTooltip(aStack, EnumChatFormatting.AQUA+"Frost");
return addProtection_Generic(sFrostHazmatList, aStack);
}
- public static boolean addProtection_Fire(ItemStack aStack) {
- registerTooltip(aStack, "Heat");
+ public static boolean addProtection_Fire(GT_ItemStack aStack) {
+ registerTooltip(aStack, EnumChatFormatting.DARK_RED+"Heat");
return addProtection_Generic(sHeatHazmatList, aStack);
}
- public static boolean addProtection_Biohazard(ItemStack aStack) {
- registerTooltip(aStack, "Biohazards");
+ public static boolean addProtection_Biohazard(GT_ItemStack aStack) {
+ registerTooltip(aStack, EnumChatFormatting.GREEN+"Biohazards");
return addProtection_Generic(sBioHazmatList, aStack);
}
- public static boolean addProtection_Gas(ItemStack aStack) {
- registerTooltip(aStack, "Gas");
+ public static boolean addProtection_Gas(GT_ItemStack aStack) {
+ registerTooltip(aStack, EnumChatFormatting.WHITE+"Gas");
return addProtection_Generic(sGasHazmatList, aStack);
}
- public static boolean addProtection_Radiation(ItemStack aStack) {
- registerTooltip(aStack, "Radiation");
+ public static boolean addProtection_Radiation(GT_ItemStack aStack) {
+ registerTooltip(aStack, EnumChatFormatting.DARK_GREEN+"Radiation");
return addProtection_Generic(sRadioHazmatList, aStack);
}
- public static boolean addProtection_Electricty(ItemStack aStack) {
- registerTooltip(aStack, "Electricity");
+ public static boolean addProtection_Electricty(GT_ItemStack aStack) {
+ registerTooltip(aStack, EnumChatFormatting.YELLOW+"Electricity");
return addProtection_Generic(sElectroHazmatList, aStack);
}
- private static boolean addProtection_Generic(GT_HashSet aSet, ItemStack aStack) {
+ private static boolean addProtection_Generic(GT_HashSet<GT_ItemStack> aSet, GT_ItemStack aStack) {
int aMapSize = aSet.size();
aSet.add(aStack);
return aMapSize < aSet.size();
}
+ /**
+ * Does this item provide hazmat protection? (Protection against Frost, Heat, Bio, Gas, Rads, Elec)
+ * An item may return false even if it protects against all six damage types. This is because it's not actually registered as hazmat correct.
+ * @param aStack - The item to check for protection
+ * @return
+ */
public static boolean providesProtection(ItemStack aStack) {
return providesProtetion_Generic(sHazmatList, aStack);
}
@@ -225,18 +250,22 @@ public class HazmatUtils {
return aSet.getMap().containsKey(aStack);
}
- private static String[] getTooltips(ItemStack aStack) {
+
+ private static String[] getTooltips(GT_ItemStack aStack) {
AutoMap<String> aTempTooltipData = mToolTips.get(aStack);
if (aTempTooltipData == null) {
+ Logger.INFO("Item was not mapped for TTs");
return new String[] {};
}
else {
+ Logger.INFO("Item was mapped for TTs");
Collections.sort(aTempTooltipData);
+ Logger.INFO("Sorted TTs");
return aTempTooltipData.toArray();
}
}
- private static void registerTooltip(ItemStack aStack, String aTooltip) {
+ private static void registerTooltip(GT_ItemStack aStack, String aTooltip) {
AutoMap<String> aTempTooltipData = mToolTips.get(aStack);
if (aTempTooltipData == null) {
aTempTooltipData = new AutoMap<String>();
@@ -244,4 +273,12 @@ public class HazmatUtils {
aTempTooltipData.add(aTooltip);
}
+ public static ItemStack getStackFromGtStack(GT_ItemStack aGtStack) {
+ return ItemUtils.simpleMetaStack(aGtStack.mItem, aGtStack.mMetaData, aGtStack.mStackSize);
+ }
+
+ public static GT_ItemStack getGtStackFromVanilla(ItemStack aStack) {
+ return new GT_ItemStack(aStack);
+ }
+
}
diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/reactor/IC2_FuelRod_Base.java b/src/Java/gtPlusPlus/xmod/ic2/item/reactor/IC2_FuelRod_Base.java
new file mode 100644
index 0000000000..01151024c4
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/ic2/item/reactor/IC2_FuelRod_Base.java
@@ -0,0 +1,52 @@
+package gtPlusPlus.xmod.ic2.item.reactor;
+
+import ic2.api.reactor.IReactor;
+import ic2.api.reactor.IReactorComponent;
+import net.minecraft.item.ItemStack;
+
+public class IC2_FuelRod_Base implements IReactorComponent {
+
+ @Override
+ public void processChamber(IReactor var1, ItemStack var2, int var3, int var4, boolean var5) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean acceptUraniumPulse(IReactor var1, ItemStack var2, ItemStack var3, int var4, int var5, int var6,
+ int var7, boolean var8) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean canStoreHeat(IReactor var1, ItemStack var2, int var3, int var4) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public int getMaxHeat(IReactor var1, ItemStack var2, int var3, int var4) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public int getCurrentHeat(IReactor var1, ItemStack var2, int var3, int var4) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public int alterHeat(IReactor var1, ItemStack var2, int var3, int var4, int var5) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public float influenceExplosion(IReactor var1, ItemStack var2) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+}