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 | |
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')
8 files changed, 106 insertions, 19 deletions
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 653094cdda..a460d7ca59 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -7,6 +7,7 @@ import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.item.ItemUtils; import gtPlusPlus.core.util.recipe.RecipeUtils; @@ -141,6 +142,7 @@ public class RECIPES_Machines { public static ItemStack EV_MACHINE_Wiremill; public static ItemStack HV_MACHINE_Macerator; public static ItemStack EV_MACHINE_Macerator; + public static ItemStack EV_MACHINE_Cutter; public static ItemStack EV_MACHINE_MassFabricator; @@ -213,6 +215,7 @@ public class RECIPES_Machines { EV_MACHINE_Macerator= ItemList.Machine_EV_Macerator.get(1); EV_MACHINE_MassFabricator= ItemList.Machine_EV_Massfab.get(1); EV_MACHINE_Centrifuge= ItemList.Machine_EV_Centrifuge.get(1); + EV_MACHINE_Cutter = ItemList.Machine_EV_Cutter.get(1); } @@ -1083,6 +1086,21 @@ public class RECIPES_Machines { ItemUtils.getSimpleStack(ModBlocks.blockProjectTable)); } + if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine){ + ItemStack plate = ALLOY.MARAGING300.getPlate(1); + RecipeUtils.recipeBuilder( + plate, CI.craftingToolHammer_Hard, plate, + "plateStellite", "frameGtTalonite", "plateStellite", + plate, CI.craftingToolWrench, plate, + GregtechItemList.Casing_CuttingFactoryFrame.get(Casing_Amount)); + + RecipeUtils.recipeBuilder( + plate,CI.getTieredCircuit(3),plate, + "wireFinePlatinum", EV_MACHINE_Cutter, "wireFinePlatinum", + plate,CI.getTieredCircuit(4),plate, + GregtechItemList.Industrial_CuttingFactoryController.get(1)); + } + //Wireless Chargers RecipeUtils.addShapedGregtechRecipe( CI.emitter_LV, CI.circuitTier1, CI.emitter_LV, 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"); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java index 17fa039c4e..d3bf4dfe51 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java @@ -50,7 +50,12 @@ public class CasingTextureHandler2 { return TexturesGtBlock.Casing_Machine_Simple_Top.getIcon(); //Reactor Casing II case 13: - return TexturesGtBlock.Casing_Machine_Ultra.getIcon(); + if (aSide <2) { + return TexturesGtBlock.TEXTURE_TECH_A.getIcon(); + } + else { + return TexturesGtBlock.TEXTURE_TECH_B.getIcon(); + } case 14: return TexturesGtBlock.Casing_Material_RedSteel.getIcon(); case 15: diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java index 3795f9815f..dfe7d15bb7 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java @@ -173,6 +173,8 @@ public class TexturesGtBlock { public static final CustomIcon Overlay_Machine_Vent_Fast = Internal_Overlay_Machine_Vent_Fast; private static final CustomIcon Internal_Overlay_Machine_Vent_Adv = new CustomIcon("TileEntities/adv_machine_vent_rotating"); public static final CustomIcon Overlay_Machine_Vent_Adv = Internal_Overlay_Machine_Vent_Adv; + //Grate Texture + public static final CustomIcon OVERLAY_GRATE_A = new CustomIcon("metro/OVERLAY_GRATE_A"); //Speaker Texture private static final CustomIcon Internal_Overlay_Machine_Sound = new CustomIcon("TileEntities/audio_out"); public static final CustomIcon Overlay_Machine_Sound = Internal_Overlay_Machine_Sound; @@ -228,5 +230,22 @@ public class TexturesGtBlock { public static final CustomIcon Overlay_Oil = Internal_Overlay_Oil; private static final CustomIcon Internal_Overlay_UU_Matter = new CustomIcon("TileEntities/adv_machine_uum"); public static final CustomIcon Overlay_UU_Matter = Internal_Overlay_UU_Matter; + + + //Metroid related + public static final CustomIcon TEXTURE_METAL_PANEL_A = new CustomIcon("metro/TEXTURE_METAL_PANEL_A"); + public static final CustomIcon TEXTURE_METAL_PANEL_B = new CustomIcon("metro/TEXTURE_METAL_PANEL_B"); + public static final CustomIcon TEXTURE_ORGANIC_PANEL_A = new CustomIcon("metro/TEXTURE_ORGANIC_PANEL_A"); + public static final CustomIcon TEXTURE_STONE_BIRD_A = new CustomIcon("metro/TEXTURE_STONE_BIRD_A"); + public static final CustomIcon TEXTURE_STONE_BIRD_A_LEFT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_LEFT"); + public static final CustomIcon TEXTURE_STONE_BIRD_A_RIGHT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_RIGHT"); + public static final CustomIcon TEXTURE_STONE_BLUE_A = new CustomIcon("metro/TEXTURE_STONE_BLUE_A"); + public static final CustomIcon TEXTURE_STONE_GREEN_A = new CustomIcon("metro/TEXTURE_STONE_GREEN_A"); + public static final CustomIcon TEXTURE_STONE_TABLET_A = new CustomIcon("metro/TEXTURE_STONE_TABLET_A"); + public static final CustomIcon TEXTURE_STONE_TABLET_B = new CustomIcon("metro/TEXTURE_STONE_TABLET_B"); + public static final CustomIcon TEXTURE_TECH_A = new CustomIcon("metro/TEXTURE_TECH_A"); + public static final CustomIcon TEXTURE_TECH_B = new CustomIcon("metro/TEXTURE_TECH_B"); + public static final CustomIcon TEXTURE_TECH_C = new CustomIcon("metro/TEXTURE_TECH_C"); + public static final CustomIcon TEXTURE_TECH_PANEL_A = new CustomIcon("metro/TEXTURE_TECH_PANEL_A"); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java index 37aa33d246..329c4af120 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialCuttingMachine.java @@ -12,6 +12,7 @@ import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.Utils; import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import net.minecraft.block.Block; @@ -37,7 +38,9 @@ extends GregtechMeta_MultiBlockBase { public String[] getDescription() { return new String[]{ "Controller Block for the Industrial Cutting Factory", - "60% faster than using single block machines of the same voltage", + "200% faster than using single block machines of the same voltage", + "Only uses 75% of the eu/t normally required", + "Processes four items per voltage tier", "Size: 3x3x5 [WxHxL] (Hollow)", "Controller (front centered)", "2x Input Bus (side centered)", "2x Output Bus (side centered)", @@ -74,7 +77,7 @@ extends GregtechMeta_MultiBlockBase { @Override public boolean checkRecipe(final ItemStack aStack) { - return checkRecipeGeneric(2, 100, 60); + return checkRecipeGeneric((4*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 75, 200); } @Override diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java index 0b5441f913..6653cca215 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialMacerator.java @@ -54,8 +54,7 @@ extends GregtechMeta_MultiBlockBase { return new String[]{ "Controller Block for the Industrial Maceration Stack", "60% faster than using single block machines of the same voltage", - "Processes material several factors faster than single block macerators", - "Has extra chances on bonus outputs", + "Increased output chances on % outputs", "Processes 8*tier materials at a time", "ULV = Tier 0, LV = Tier 1, etc.", "-------------------------------------------------------", diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java index 548b457f79..e79e1c298a 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialSifter.java @@ -45,7 +45,7 @@ extends GregtechMeta_MultiBlockBase { "Controller Block for the Industrial Sifter", "400% faster than single-block machines of the same voltage", "Processes two items per voltage tier", - "Increased output chances", + "Increased output chances on % outputs", "Size[WxHxL]: 5x3x5", "Controller (Center Bottom)", "1x Input Bus (Any top or bottom edge casing)", diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java index 3bdfd53983..8b5ed9b3f8 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialWashPlant.java @@ -6,6 +6,7 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.Logger; @@ -13,6 +14,8 @@ import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.fluid.FluidUtils; +import gtPlusPlus.core.util.math.MathUtils; +import gtPlusPlus.core.world.darkworld.block.DarkWorldContentLoader; import gtPlusPlus.xmod.gregtech.api.gui.GUI_MultiMachine; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import ic2.core.init.BlocksItems; @@ -47,6 +50,7 @@ extends GregtechMeta_MultiBlockBase { "Controller Block for the Industrial Ore Washing Plant", "80% faster than using single block machines of the same voltage", "Processes one item per voltage tier", + "Chance to output Sludge per process", "Size: 7x3x5 [WxHxL] (open)", "X X", "X X", @@ -87,7 +91,9 @@ extends GregtechMeta_MultiBlockBase { @Override public boolean checkRecipe(final ItemStack aStack) { if (checkForWater()) { - return checkRecipeGeneric((1*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 100, 80); + if (checkRecipeGeneric((1*Utils.calculateVoltageTier(this.getMaxInputVoltage())), 100, 80)) { + return addSludge(); + } } return false; } @@ -303,5 +309,24 @@ extends GregtechMeta_MultiBlockBase { } return (tAmount >= 45); } + + public boolean addSludge() { + if (MathUtils.randInt(0, 100) <= 4) { + if (this.mOutputHatches.size() > 0) { + for (GT_MetaTileEntity_Hatch_Output h : this.mOutputHatches) { + if (h.getFluid() == null || h.getFluid().isFluidEqual(FluidUtils.getFluidStack(DarkWorldContentLoader.SLUDGE, 1000))) { + FluidStack current = h.mFluid; + if (current == null) { + h.mFluid = FluidUtils.getFluidStack(DarkWorldContentLoader.SLUDGE, 1000); + } + else { + h.mFluid.amount += 1000; + } + } + } + } + } + return true; + } }
\ No newline at end of file |