diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-04 19:46:11 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-04 19:46:11 +1000 |
commit | d10ed0cdab2df584b867177de85f897f83bad187 (patch) | |
tree | 18382f9e854593d0df95f618a76a846b52fc1bdb /src/Java/gtPlusPlus/preloader | |
parent | c125e3c3685b005a780664b85370820840b6311e (diff) | |
download | GT5-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.java | 42 |
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"); |