aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/preloader
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-02-04 19:46:11 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-02-04 19:46:11 +1000
commitd10ed0cdab2df584b867177de85f897f83bad187 (patch)
tree18382f9e854593d0df95f618a76a846b52fc1bdb /src/Java/gtPlusPlus/preloader
parentc125e3c3685b005a780664b85370820840b6311e (diff)
downloadGT5-Unofficial-d10ed0cdab2df584b867177de85f897f83bad187.tar.gz
GT5-Unofficial-d10ed0cdab2df584b867177de85f897f83bad187.tar.bz2
GT5-Unofficial-d10ed0cdab2df584b867177de85f897f83bad187.zip
+ Added recipes for the Cutting Factory.
+ Added Sludge output to the Wash Plant. $ Finished the Cutting Factory. $ GT ASM. % Improved tooltips on Maceration Stack, Industrial Sifter & Wash Plant.
Diffstat (limited to 'src/Java/gtPlusPlus/preloader')
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java42
1 files changed, 30 insertions, 12 deletions
diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
index a8b6135327..c6edd94238 100644
--- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
+++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_ClassTransformer2.java
@@ -5,6 +5,8 @@ import static org.objectweb.asm.Opcodes.*;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Random;
import org.apache.logging.log4j.Level;
@@ -18,6 +20,7 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.common.blocks.GT_Block_Machines;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.XSTR;
+import gtPlusPlus.core.util.array.BlockPos;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.nbt.NBTUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
@@ -179,13 +182,26 @@ public class Preloader_ClassTransformer2 {
public static ArrayList<ItemStack> getDrops(BaseMetaTileEntity o) {
- Logger.INFO("getDrops(BaseMetaTileEntity(this))");
+ Logger.INFO("BaseMetaTileEntity.getDrops(BaseMetaTileEntity(this))");
try {
short tID = (short) ReflectionUtils.getField(customTransformer2, "mID").get(o);
ItemStack rStack = new ItemStack(GregTech_API.sBlockMachines, 1, tID);
- /*NBTTagCompound tNBT = new NBTTagCompound();
- tNBT = generateGetDropsNBT(o);
- if (!tNBT.hasNoTags()) rStack.setTagCompound(tNBT);*/
+
+ NBTTagCompound i = new NBTTagCompound();
+
+ i = stupidFuckingNBTMap.get(new BlockPos(o.xCoord, o.yCoord, o.zCoord));
+ Logger.INFO("Got NBT Tag Value from map.");
+
+ NBTTagCompound tNBT = i;
+ if (tNBT == null) {
+ Logger.INFO("Map tag was null.");
+ tNBT = generateGetDropsNBT(o);
+ }
+ if (!tNBT.hasNoTags()) {
+ rStack.setTagCompound(tNBT);
+ Logger.INFO("Iterating rStack NBT.");
+ NBTUtils.tryIterateNBTData(rStack);
+ }
return new ArrayList<ItemStack>(Arrays.asList(rStack));
}
catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException a){
@@ -196,10 +212,10 @@ public class Preloader_ClassTransformer2 {
return u;
}
-
+ public static Map<BlockPos, NBTTagCompound> stupidFuckingNBTMap = new HashMap<BlockPos, NBTTagCompound>();
public static void breakBlock(final World aWorld, final int aX, final int aY, final int aZ, final Block block,
final int meta) {
- Logger.INFO("breakBlock");
+ Logger.INFO("GT_Block_Machines.breakBlock()");
GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ);
final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (tTileEntity instanceof IGregTechTileEntity) {
@@ -221,17 +237,15 @@ public class Preloader_ClassTransformer2 {
}
else {
fffff.set(tGregTechTileEntity.getMetaTileEntity().getBaseMetaTileEntity(), tNBT);
- Logger.REFLECTION("Hopefully injected field data.");
+ Logger.REFLECTION("Hopefully injected field data.");
+ stupidFuckingNBTMap.put(new BlockPos(aX, aY, aZ), tNBT);
+ Logger.INFO("Set NBT Tag Value to map.");
}
}
catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
- ItemStack xko = ItemUtils.getSimpleStack(Items.apple);
- xko.setTagCompound(tNBT);
- NBTUtils.tryIterateNBTData(xko);
-
for (int i = 0; i < tGregTechTileEntity.getSizeInventory(); ++i) {
final ItemStack tItem = tGregTechTileEntity.getStackInSlot(i);
if (tItem != null && tItem.stackSize > 0 && tGregTechTileEntity.isValidSlot(i)) {
@@ -336,11 +350,15 @@ public class Preloader_ClassTransformer2 {
break;
}
}
-
+
//Set stack NBT
if (!tNBT.hasNoTags()) {
+ Logger.INFO("Returning Valid NBT data");
return tNBT;
}
+ else {
+ Logger.INFO("Returning Invalid NBT data");
+ }
}
catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException a){
Logger.REFLECTION("getDropsHack2");