aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java
diff options
context:
space:
mode:
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.java323
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;
+ }
}