diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-08 17:30:24 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-08 17:30:24 +1000 |
commit | 1d1c8819f1744edcc53d3f28437a0f5011732889 (patch) | |
tree | 2393b4a73668c8eac6e89f5cddf9bc9a5691b145 /src/Java/gtPlusPlus/xmod/gregtech | |
parent | 542ed2362207b5bf12944f649551aeb10bc66a8b (diff) | |
download | GT5-Unofficial-1d1c8819f1744edcc53d3f28437a0f5011732889.tar.gz GT5-Unofficial-1d1c8819f1744edcc53d3f28437a0f5011732889.tar.bz2 GT5-Unofficial-1d1c8819f1744edcc53d3f28437a0f5011732889.zip |
$ Made the Alloy Blast Smelter use Circuits in it's GUI.
$ Fixed Chunkloading error.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech')
2 files changed, 36 insertions, 3 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java index d8304aaa77..2307c95fcf 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntityChunkLoader.java @@ -289,14 +289,20 @@ public class GregtechMetaTileEntityChunkLoader extends GT_MetaTileEntity_TieredM } public void forceChunkLoading(Ticket ticket) { + try { setTicket(ticket); setupChunks(); - if (chunks != null) + if (chunks != null) { for (ChunkCoordIntPair chunk : chunks) { ForgeChunkManager.forceChunk(ticket, chunk); } + } + } + catch (Throwable t){ + t.printStackTrace(); + } } public void setupChunks() { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java index 37fd4b2f13..b95548df72 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java @@ -17,15 +17,21 @@ import gregtech.api.util.Recipe_GT; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; public class GregtechMetaTileEntity_AlloyBlastSmelter extends GregtechMeta_MultiBlockBase { + private int mHeatingCapacity = 0; + private int mMode = 0; + private boolean isUsingControllerCircuit = false; + private static final Item circuit = CI.getNumberedCircuit(0).getItem(); public GregtechMetaTileEntity_AlloyBlastSmelter(final int aID, final String aName, final String aNameRegional) { super(aID, aName, aNameRegional); @@ -75,7 +81,7 @@ extends GregtechMeta_MultiBlockBase { @Override public boolean hasSlotInGUI() { - return false; + return true; } @Override @@ -90,7 +96,14 @@ extends GregtechMeta_MultiBlockBase { @Override public boolean isCorrectMachinePart(final ItemStack aStack) { - return true; + //Get Controller Circuit + if (aStack != null && aStack.getItem() == circuit) { + this.mMode = aStack.getItemDamage(); + return true; + } + else { + return false; + } } @Override @@ -100,6 +113,10 @@ extends GregtechMeta_MultiBlockBase { @Override public boolean checkRecipe(final ItemStack aStack) { + + //Get Controller Circuit + this.isUsingControllerCircuit = isCorrectMachinePart(aStack); + final ArrayList<ItemStack> tInputList = this.getStoredInputs(); for (int i = 0; i < (tInputList.size() - 1); i++) { for (int j = i + 1; j < tInputList.size(); j++) { @@ -113,6 +130,16 @@ extends GregtechMeta_MultiBlockBase { } } } + + //Validity check + if ((isUsingControllerCircuit && tInputList.size() < 1) || (!isUsingControllerCircuit && tInputList.size() < 2)) { + return false; + } + else if (isUsingControllerCircuit && tInputList.size() >= 1) { + tInputList.add(CI.getNumberedCircuit(this.mMode)); + } + + final ItemStack[] tInputs = Arrays.copyOfRange(tInputList.toArray(new ItemStack[tInputList.size()]), 0, tInputList.size()); final ArrayList<FluidStack> tFluidList = this.getStoredFluids(); |