diff options
Diffstat (limited to 'src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java')
-rw-r--r-- | src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java | 323 |
1 files changed, 159 insertions, 164 deletions
diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java index 5e3d552b20..2433458a02 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java +++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java @@ -12,15 +12,11 @@ import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages; import static gregtech.api.util.GT_StructureUtility.ofCoil; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; -import java.util.ArrayList; -import java.util.Arrays; - import com.elisis.gtnhlanth.loader.RecipeAdder; import com.elisis.gtnhlanth.util.DescTextLocalization; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; - import gregtech.api.GregTech_API; import gregtech.api.enums.HeatingCoilLevel; import gregtech.api.gui.GT_GUIContainer_MultiMachine; @@ -32,177 +28,177 @@ import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; +import java.util.ArrayList; +import java.util.Arrays; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; - public class Digester extends GT_MetaTileEntity_EnhancedMultiBlockBase<Digester> implements IConstructable { - + protected int casingAmount = 0; protected int height = 0; - + private HeatingCoilLevel heatLevel; - - private IStructureDefinition<Digester> multiDefinition = StructureDefinition.<Digester>builder() - .addShape(mName, transpose(new String[][] { - {"-------", "-ttttt-", "-t---t-", "-t---t-", "-t---t-", "-ttttt-", "-------"}, - {"--ttt--", "-t---t-", "t-----t", "t-----t", "t-----t", "-t---t-", "--ttt--"}, - {"-tccct-", "tc---ct", "c-----c", "c-----c", "c-----c", "tc---ct", "-tccct-"}, - {"-tt~tt-", "thhhhht", "thsssht", "thsssht", "thsssht", "thhhhht", "-ttttt-"}, - - - - - - })) - .addElement('t', ofChain( - ofHatchAdder(Digester::addInputToMachineList, 47, 1), - ofHatchAdder(Digester::addOutputToMachineList, 47, 1), - ofHatchAdder(Digester::addEnergyInputToMachineList, 47, 1), - ofHatchAdder(Digester::addMaintenanceToMachineList, 47, 1), - ofHatchAdder(Digester::addMufflerToMachineList, 47, 1), - ofBlock(GregTech_API.sBlockCasings4, 0) - )) - .addElement('h', ofBlock(GregTech_API.sBlockCasings1, 11)) - .addElement('s', ofBlock(GregTech_API.sBlockCasings4, 1)) - .addElement('c', ofCoil(Digester::setCoilLevel, Digester::getCoilLevel)) - .build(); - - - //private int mHeat; - //private int mNeededHeat; - + + private IStructureDefinition<Digester> multiDefinition = StructureDefinition.<Digester>builder() + .addShape(mName, transpose(new String[][] { + {"-------", "-ttttt-", "-t---t-", "-t---t-", "-t---t-", "-ttttt-", "-------"}, + {"--ttt--", "-t---t-", "t-----t", "t-----t", "t-----t", "-t---t-", "--ttt--"}, + {"-tccct-", "tc---ct", "c-----c", "c-----c", "c-----c", "tc---ct", "-tccct-"}, + {"-tt~tt-", "thhhhht", "thsssht", "thsssht", "thsssht", "thhhhht", "-ttttt-"}, + })) + .addElement( + 't', + ofChain( + ofHatchAdder(Digester::addInputToMachineList, 47, 1), + ofHatchAdder(Digester::addOutputToMachineList, 47, 1), + ofHatchAdder(Digester::addEnergyInputToMachineList, 47, 1), + ofHatchAdder(Digester::addMaintenanceToMachineList, 47, 1), + ofHatchAdder(Digester::addMufflerToMachineList, 47, 1), + ofBlock(GregTech_API.sBlockCasings4, 0))) + .addElement('h', ofBlock(GregTech_API.sBlockCasings1, 11)) + .addElement('s', ofBlock(GregTech_API.sBlockCasings4, 1)) + .addElement('c', ofCoil(Digester::setCoilLevel, Digester::getCoilLevel)) + .build(); + + // private int mHeat; + // private int mNeededHeat; public Digester(String name) { - super(name); + super(name); + } + + public Digester(int id, String name, String nameRegional) { + super(id, name, nameRegional); } - public Digester(int id, String name, String nameRegional) { - super(id, name, nameRegional); - } - - @Override + @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { return checkPiece(mName, 3, 3, 0); } - - @Override + + @Override public boolean isCorrectMachinePart(ItemStack aStack) { return true; } - - public HeatingCoilLevel getCoilLevel() { - return this.heatLevel; - } - - public void setCoilLevel(HeatingCoilLevel level) { - this.heatLevel = level; - } - - @Override - public boolean checkRecipe(ItemStack itemStack) { - GT_Log.out.print("in checkRecipe\n"); - - ArrayList<FluidStack> tFluidInputs = this.getStoredFluids(); - FluidStack[] tFluidInputArray = tFluidInputs.toArray(new FluidStack[0]); - ItemStack[] tItems = this.getStoredInputs().toArray(new ItemStack[0]); - long tVoltage = this.getMaxInputVoltage(); - - GT_Log.out.print(Arrays.toString(mInventory)); - - //Collection<GT_Recipe> tRecipes = RecipeAdder.instance.DigesterRecipes.mRecipeList; - GT_Recipe tRecipe = RecipeAdder.instance.DigesterRecipes.findRecipe( - getBaseMetaTileEntity(), - false, - tVoltage, - tFluidInputArray, - tItems - ); - - if (tRecipe == null) - return false; - //GT_Log.out.print("Recipe not null\n"); - if (tRecipe.isRecipeInputEqual(true, tFluidInputArray, tItems)) { - //GT_Log.out.print("in isRecipeInputEqual\n"); - this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); - this.mEfficiencyIncrease = 10000; - this.calculateOverclockedNessMulti(tRecipe.mEUt, tRecipe.mDuration, 1, tVoltage); - - if (mMaxProgresstime == Integer.MAX_VALUE - 1 && this.mEUt == Integer.MAX_VALUE - 1) - return false; - - if (this.mEUt > 0) - this.mEUt = (-this.mEUt); - //GT_Log.out.print("valid values"); - - if (tRecipe.mSpecialValue > this.getCoilLevel().getHeat()) - return false; - //GT_Log.out.print("Coils good\n"); - //GT_Log.out.print(tRecipe.getFluidOutput(0).getLocalizedName()); - this.mOutputFluids = new FluidStack[] { - tRecipe.getFluidOutput(0) - }; - - this.mOutputItems = new ItemStack[] { - tRecipe.getOutput(0) - }; - return true; - } - return false; - } - - @Override - public int getMaxEfficiency(ItemStack itemStack) { - return 10000; - } - - @Override + + public HeatingCoilLevel getCoilLevel() { + return this.heatLevel; + } + + public void setCoilLevel(HeatingCoilLevel level) { + this.heatLevel = level; + } + + @Override + public boolean checkRecipe(ItemStack itemStack) { + GT_Log.out.print("in checkRecipe\n"); + + ArrayList<FluidStack> tFluidInputs = this.getStoredFluids(); + FluidStack[] tFluidInputArray = tFluidInputs.toArray(new FluidStack[0]); + ItemStack[] tItems = this.getStoredInputs().toArray(new ItemStack[0]); + long tVoltage = this.getMaxInputVoltage(); + + GT_Log.out.print(Arrays.toString(mInventory)); + + // Collection<GT_Recipe> tRecipes = RecipeAdder.instance.DigesterRecipes.mRecipeList; + GT_Recipe tRecipe = RecipeAdder.instance.DigesterRecipes.findRecipe( + getBaseMetaTileEntity(), false, tVoltage, tFluidInputArray, tItems); + + if (tRecipe == null) return false; + // GT_Log.out.print("Recipe not null\n"); + if (tRecipe.isRecipeInputEqual(true, tFluidInputArray, tItems)) { + // GT_Log.out.print("in isRecipeInputEqual\n"); + this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + this.calculateOverclockedNessMulti(tRecipe.mEUt, tRecipe.mDuration, 1, tVoltage); + + if (mMaxProgresstime == Integer.MAX_VALUE - 1 && this.mEUt == Integer.MAX_VALUE - 1) return false; + + if (this.mEUt > 0) this.mEUt = (-this.mEUt); + // GT_Log.out.print("valid values"); + + if (tRecipe.mSpecialValue > this.getCoilLevel().getHeat()) return false; + // GT_Log.out.print("Coils good\n"); + // GT_Log.out.print(tRecipe.getFluidOutput(0).getLocalizedName()); + this.mOutputFluids = new FluidStack[] {tRecipe.getFluidOutput(0)}; + + this.mOutputItems = new ItemStack[] {tRecipe.getOutput(0)}; + return true; + } + return false; + } + + @Override + public int getMaxEfficiency(ItemStack itemStack) { + return 10000; + } + + @Override public int getPollutionPerTick(ItemStack aStack) { return 200; } - - @Override + + @Override public Object getClientGUI(int id, InventoryPlayer playerInventory, IGregTechTileEntity metaTileEntity) { return new GT_GUIContainer_MultiMachine(playerInventory, metaTileEntity, getLocalName(), "Digester.png"); } - - @Override - public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) { - return new Digester(this.mName); - } - - @Override - public void construct(ItemStack itemStack, boolean b) { - buildPiece(mName,itemStack, b, 3, 3, 0); - - } - - @Override - public String[] getStructureDescription(ItemStack arg0) { - return DescTextLocalization.addText("Digester.hint", 6); - } - - @Override - public ITexture[] getTexture(IGregTechTileEntity te, byte side, byte facing, byte colorIndex, boolean active, - boolean redstone) { - - // Oil Cracker textures cuz I'm lazy - - if (side == facing) { - if (active) return new ITexture[]{casingTexturePages[0][47], - TextureFactory.builder().addIcon(OVERLAY_FRONT_OIL_CRACKER_ACTIVE).extFacing().build(), - TextureFactory.builder().addIcon(OVERLAY_FRONT_OIL_CRACKER_ACTIVE_GLOW).extFacing().glow().build()}; - return new ITexture[]{casingTexturePages[0][47], - TextureFactory.builder().addIcon(OVERLAY_FRONT_OIL_CRACKER).extFacing().build(), - TextureFactory.builder().addIcon(OVERLAY_FRONT_OIL_CRACKER_GLOW).extFacing().glow().build()}; + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) { + return new Digester(this.mName); + } + + @Override + public void construct(ItemStack itemStack, boolean b) { + buildPiece(mName, itemStack, b, 3, 3, 0); + } + + @Override + public String[] getStructureDescription(ItemStack arg0) { + return DescTextLocalization.addText("Digester.hint", 6); + } + + @Override + public ITexture[] getTexture( + IGregTechTileEntity te, byte side, byte facing, byte colorIndex, boolean active, boolean redstone) { + + // Oil Cracker textures cuz I'm lazy + + if (side == facing) { + if (active) + return new ITexture[] { + casingTexturePages[0][47], + TextureFactory.builder() + .addIcon(OVERLAY_FRONT_OIL_CRACKER_ACTIVE) + .extFacing() + .build(), + TextureFactory.builder() + .addIcon(OVERLAY_FRONT_OIL_CRACKER_ACTIVE_GLOW) + .extFacing() + .glow() + .build() + }; + return new ITexture[] { + casingTexturePages[0][47], + TextureFactory.builder() + .addIcon(OVERLAY_FRONT_OIL_CRACKER) + .extFacing() + .build(), + TextureFactory.builder() + .addIcon(OVERLAY_FRONT_OIL_CRACKER_GLOW) + .extFacing() + .glow() + .build() + }; } - return new ITexture[]{casingTexturePages[0][47]}; + return new ITexture[] {casingTexturePages[0][47]}; } - @Override - protected GT_Multiblock_Tooltip_Builder createTooltip() { - final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); + @Override + protected GT_Multiblock_Tooltip_Builder createTooltip() { + final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); tt.addMachineType("Digester") .addInfo("Controller block for the Digester") .addInfo("Input ores and fluid, output water.") @@ -217,23 +213,22 @@ public class Digester extends GT_MetaTileEntity_EnhancedMultiBlockBase<Digester> .addMufflerHatch("Hint block with dot 1") .toolTipFinisher("GTNH: Lanthanides"); return tt; - } - - @Override - public IStructureDefinition<Digester> getStructureDefinition() { - return multiDefinition; - } + } - @Override - public boolean explodesOnComponentBreak(ItemStack arg0) { - // TODO Auto-generated method stub - return false; - } + @Override + public IStructureDefinition<Digester> getStructureDefinition() { + return multiDefinition; + } - @Override - public int getDamageToComponent(ItemStack arg0) { - // TODO Auto-generated method stub - return 0; - } + @Override + public boolean explodesOnComponentBreak(ItemStack arg0) { + // TODO Auto-generated method stub + return false; + } + @Override + public int getDamageToComponent(ItemStack arg0) { + // TODO Auto-generated method stub + return 0; + } } |