diff options
| author | Jason Mitchell <mitchej@gmail.com> | 2023-01-28 18:39:10 -0800 |
|---|---|---|
| committer | Jason Mitchell <mitchej@gmail.com> | 2023-01-28 18:39:10 -0800 |
| commit | b846f1dc3a502d157ecf871e2a4a1ff49915f871 (patch) | |
| tree | 4a86feaaddd8d00d32f7cc093736d02be92bf358 /src/main/java/goodgenerator/blocks/tileEntity/base | |
| parent | 3194d4cbab82e336ecb82b5a2dc80153ed9b1b81 (diff) | |
| download | GT5-Unofficial-b846f1dc3a502d157ecf871e2a4a1ff49915f871.tar.gz GT5-Unofficial-b846f1dc3a502d157ecf871e2a4a1ff49915f871.tar.bz2 GT5-Unofficial-b846f1dc3a502d157ecf871e2a4a1ff49915f871.zip | |
[ci skip] spotlessApply with the new settings
Diffstat (limited to 'src/main/java/goodgenerator/blocks/tileEntity/base')
5 files changed, 662 insertions, 814 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java index 41a471e2fd..bb85923c5a 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java @@ -8,11 +8,23 @@ import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose import static gregtech.api.enums.GT_HatchElement.*; import static gregtech.api.util.GT_StructureUtility.*; +import java.util.ArrayList; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraftforge.fluids.FluidStack; + import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly; import com.gtnewhorizon.structurelib.structure.StructureDefinition; + import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase; @@ -20,59 +32,44 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynam import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; import gregtech.api.util.GT_Utility; import gregtech.common.items.GT_MetaGenerated_Tool_01; -import java.util.ArrayList; -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraftforge.fluids.FluidStack; -public abstract class GT_MetaTileEntity_LargeTurbineBase - extends GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_LargeTurbineBase> - implements ISurvivalConstructable { +public abstract class GT_MetaTileEntity_LargeTurbineBase extends + GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_LargeTurbineBase> implements ISurvivalConstructable { + private static final String STRUCTURE_PIECE_MAIN = "main"; - private static final ClassValue<IStructureDefinition<GT_MetaTileEntity_LargeTurbineBase>> STRUCTURE_DEFINITION = - new ClassValue<IStructureDefinition<GT_MetaTileEntity_LargeTurbineBase>>() { - @Override - protected IStructureDefinition<GT_MetaTileEntity_LargeTurbineBase> computeValue(Class<?> type) { - return StructureDefinition.<GT_MetaTileEntity_LargeTurbineBase>builder() - .addShape(STRUCTURE_PIECE_MAIN, transpose(new String[][] { - { - " ", "xxxxx", "xxxxx", "xxxxx", "xxxxx", - }, - { - " --- ", "xcccx", "xchcx", "xchcx", "xcccx", - }, - { - " --- ", "xc~cx", "xh-hx", "xh-hx", "xcdcx", - }, - { - " --- ", "xcccx", "xchcx", "xchcx", "xcccx", - }, - { - " ", "xxxxx", "xxxxx", "xxxxx", "xxxxx", - }, - })) - .addElement('c', lazy(t -> ofBlock(t.getCasingBlock(), t.getCasingMeta()))) - .addElement('d', lazy(t -> Dynamo.newAny(t.getCasingTextureIndex(), 1))) - .addElement('h', lazy(t -> buildHatchAdder(GT_MetaTileEntity_LargeTurbineBase.class) - .atLeast(Maintenance, InputHatch, OutputHatch, OutputBus, InputBus, Muffler) - .casingIndex(t.getCasingTextureIndex()) - .dot(2) - .buildAndChain(t.getCasingBlock(), t.getCasingMeta()))) - .addElement('x', (IStructureElementCheckOnly<GT_MetaTileEntity_LargeTurbineBase>) - (aContext, aWorld, aX, aY, aZ) -> { - TileEntity tTile = aWorld.getTileEntity(aX, aY, aZ); - return !(tTile instanceof IGregTechTileEntity) - || !(((IGregTechTileEntity) tTile).getMetaTileEntity() - instanceof GT_MetaTileEntity_LargeTurbineBase); - }) - .build(); - } - }; + private static final ClassValue<IStructureDefinition<GT_MetaTileEntity_LargeTurbineBase>> STRUCTURE_DEFINITION = new ClassValue<IStructureDefinition<GT_MetaTileEntity_LargeTurbineBase>>() { + + @Override + protected IStructureDefinition<GT_MetaTileEntity_LargeTurbineBase> computeValue(Class<?> type) { + return StructureDefinition.<GT_MetaTileEntity_LargeTurbineBase>builder() + .addShape( + STRUCTURE_PIECE_MAIN, + transpose( + new String[][] { { " ", "xxxxx", "xxxxx", "xxxxx", "xxxxx", }, + { " --- ", "xcccx", "xchcx", "xchcx", "xcccx", }, + { " --- ", "xc~cx", "xh-hx", "xh-hx", "xcdcx", }, + { " --- ", "xcccx", "xchcx", "xchcx", "xcccx", }, + { " ", "xxxxx", "xxxxx", "xxxxx", "xxxxx", }, })) + .addElement('c', lazy(t -> ofBlock(t.getCasingBlock(), t.getCasingMeta()))) + .addElement('d', lazy(t -> Dynamo.newAny(t.getCasingTextureIndex(), 1))) + .addElement( + 'h', + lazy( + t -> buildHatchAdder(GT_MetaTileEntity_LargeTurbineBase.class) + .atLeast(Maintenance, InputHatch, OutputHatch, OutputBus, InputBus, Muffler) + .casingIndex(t.getCasingTextureIndex()).dot(2) + .buildAndChain(t.getCasingBlock(), t.getCasingMeta()))) + .addElement( + 'x', + (IStructureElementCheckOnly<GT_MetaTileEntity_LargeTurbineBase>) (aContext, aWorld, aX, aY, + aZ) -> { + TileEntity tTile = aWorld.getTileEntity(aX, aY, aZ); + return !(tTile instanceof IGregTechTileEntity) || !(((IGregTechTileEntity) tTile) + .getMetaTileEntity() instanceof GT_MetaTileEntity_LargeTurbineBase); + }) + .build(); + } + }; protected int baseEff = 0; protected int optFlow = 0; @@ -103,8 +100,7 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { maxPower = 0; - if (checkPiece(STRUCTURE_PIECE_MAIN, 2, 2, 1) - && mMaintenanceHatches.size() == 1 + if (checkPiece(STRUCTURE_PIECE_MAIN, 2, 2, 1) && mMaintenanceHatches.size() == 1 && mMufflerHatches.isEmpty() == (getPollutionPerTick(null) == 0)) { maxPower = getMaximumOutput(); return true; @@ -138,31 +134,27 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase @Override public boolean checkRecipe(ItemStack aStack) { - if ((counter & 7) == 0 - && (aStack == null - || !(aStack.getItem() instanceof GT_MetaGenerated_Tool) - || aStack.getItemDamage() < 170 - || aStack.getItemDamage() > 179)) { + if ((counter & 7) == 0 && (aStack == null || !(aStack.getItem() instanceof GT_MetaGenerated_Tool) + || aStack.getItemDamage() < 170 + || aStack.getItemDamage() > 179)) { stopMachine(); return false; } ArrayList<FluidStack> tFluids = getStoredFluids(); if (tFluids.size() > 0) { - if (baseEff == 0 - || optFlow == 0 + if (baseEff == 0 || optFlow == 0 || counter >= 512 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()) { counter = 0; baseEff = GT_Utility.safeInt( (long) ((5F + ((GT_MetaGenerated_Tool) aStack.getItem()).getToolCombatDamage(aStack)) * 1000F)); - optFlow = GT_Utility.safeInt((long) Math.max( - Float.MIN_NORMAL, - ((GT_MetaGenerated_Tool) aStack.getItem()) - .getToolStats(aStack) - .getSpeedMultiplier() - * GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mToolSpeed - * 50)); + optFlow = GT_Utility.safeInt( + (long) Math.max( + Float.MIN_NORMAL, + ((GT_MetaGenerated_Tool) aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() + * GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mToolSpeed + * 50)); if (optFlow <= 0 || baseEff <= 0) { stopMachine(); // in case the turbine got removed return false; @@ -172,8 +164,8 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase } } - int newPower = - fluidIntoPower(tFluids, optFlow, baseEff); // How much the turbine should be producing with this flow + int newPower = fluidIntoPower(tFluids, optFlow, baseEff); // How much the turbine should be producing with this + // flow int difference = newPower - this.mEUt; // difference between current output and new output // Magic numbers: can always change by at least 10 eu/t, but otherwise by at most 1 percent of the difference in @@ -194,7 +186,7 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase } else { this.mMaxProgresstime = 1; this.mEfficiencyIncrease = 10; - // Overvoltage is handled inside the MultiBlockBase when pushing out to dynamos. no need to do it here. + // Overvoltage is handled inside the MultiBlockBase when pushing out to dynamos. no need to do it here. return true; } } @@ -244,26 +236,21 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase } String tRunning = mMaxProgresstime > 0 - ? EnumChatFormatting.GREEN - + StatCollector.translateToLocal("GT5U.turbine.running.true") + ? EnumChatFormatting.GREEN + StatCollector.translateToLocal("GT5U.turbine.running.true") + EnumChatFormatting.RESET - : EnumChatFormatting.RED - + StatCollector.translateToLocal("GT5U.turbine.running.false") + : EnumChatFormatting.RED + StatCollector.translateToLocal("GT5U.turbine.running.false") + EnumChatFormatting.RESET; String tMaintainance = getIdealStatus() == getRepairStatus() - ? EnumChatFormatting.GREEN - + StatCollector.translateToLocal("GT5U.turbine.maintenance.false") + ? EnumChatFormatting.GREEN + StatCollector.translateToLocal("GT5U.turbine.maintenance.false") + EnumChatFormatting.RESET - : EnumChatFormatting.RED - + StatCollector.translateToLocal("GT5U.turbine.maintenance.true") + : EnumChatFormatting.RED + StatCollector.translateToLocal("GT5U.turbine.maintenance.true") + EnumChatFormatting.RESET; int tDura = 0; if (mInventory[1] != null && mInventory[1].getItem() instanceof GT_MetaGenerated_Tool_01) { - tDura = GT_Utility.safeInt((long) (100.0f - / GT_MetaGenerated_Tool.getToolMaxDamage(mInventory[1]) - * (GT_MetaGenerated_Tool.getToolDamage(mInventory[1])) - + 1)); + tDura = GT_Utility.safeInt( + (long) (100.0f / GT_MetaGenerated_Tool.getToolMaxDamage(mInventory[1]) + * (GT_MetaGenerated_Tool.getToolDamage(mInventory[1])) + 1)); } long storedEnergy = 0; @@ -275,34 +262,59 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase } } String[] ret = new String[] { - // 8 Lines available for information panels - tRunning + ": " + EnumChatFormatting.RED + GT_Utility.formatNumbers(mEUt) + EnumChatFormatting.RESET - + " EU/t", /* 1 */ - tMaintainance, /* 2 */ - StatCollector.translateToLocal("GT5U.turbine.efficiency") + ": " + EnumChatFormatting.YELLOW - + (mEfficiency / 100F) + EnumChatFormatting.RESET + "%", /* 2 */ - StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " - + /* 3 */ EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - StatCollector.translateToLocal("GT5U.turbine.flow") + ": " + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(GT_Utility.safeInt((long) realOptFlow)) + EnumChatFormatting.RESET - + " L/t" + /* 4 */ EnumChatFormatting.YELLOW - + " (" - + (looseFit - ? StatCollector.translateToLocal("GT5U.turbine.loose") - : StatCollector.translateToLocal("GT5U.turbine.tight")) - + ")", /* 5 */ - StatCollector.translateToLocal("GT5U.turbine.fuel") + ": " + EnumChatFormatting.GOLD - + GT_Utility.formatNumbers(storedFluid) + EnumChatFormatting.RESET + "L", /* 6 */ - StatCollector.translateToLocal("GT5U.turbine.dmg") + ": " + EnumChatFormatting.RED + tDura - + EnumChatFormatting.RESET + "%", /* 7 */ - StatCollector.translateToLocal("GT5U.multiblock.pollution") + ": " + EnumChatFormatting.GREEN - + mPollutionReduction + EnumChatFormatting.RESET + " %" /* 8 */ + // 8 Lines available for information panels + tRunning + ": " + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(mEUt) + + EnumChatFormatting.RESET + + " EU/t", /* 1 */ + tMaintainance, /* 2 */ + StatCollector.translateToLocal("GT5U.turbine.efficiency") + ": " + + EnumChatFormatting.YELLOW + + (mEfficiency / 100F) + + EnumChatFormatting.RESET + + "%", /* 2 */ + StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " + + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(storedEnergy) + + EnumChatFormatting.RESET + + " EU / " + + /* 3 */ EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(maxEnergy) + + EnumChatFormatting.RESET + + " EU", + StatCollector.translateToLocal("GT5U.turbine.flow") + ": " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(GT_Utility.safeInt((long) realOptFlow)) + + EnumChatFormatting.RESET + + " L/t" + + /* 4 */ EnumChatFormatting.YELLOW + + " (" + + (looseFit ? StatCollector.translateToLocal("GT5U.turbine.loose") + : StatCollector.translateToLocal("GT5U.turbine.tight")) + + ")", /* 5 */ + StatCollector.translateToLocal("GT5U.turbine.fuel") + ": " + + EnumChatFormatting.GOLD + + GT_Utility.formatNumbers(storedFluid) + + EnumChatFormatting.RESET + + "L", /* 6 */ + StatCollector.translateToLocal("GT5U.turbine.dmg") + ": " + + EnumChatFormatting.RED + + tDura + + EnumChatFormatting.RESET + + "%", /* 7 */ + StatCollector.translateToLocal("GT5U.multiblock.pollution") + ": " + + EnumChatFormatting.GREEN + + mPollutionReduction + + EnumChatFormatting.RESET + + " %" /* 8 */ }; if (!this.getClass().getName().contains("Steam")) - ret[4] = StatCollector.translateToLocal("GT5U.turbine.flow") + ": " + EnumChatFormatting.YELLOW - + GT_Utility.safeInt((long) realOptFlow) + EnumChatFormatting.RESET + " L/t"; + ret[4] = StatCollector.translateToLocal("GT5U.turbine.flow") + ": " + + EnumChatFormatting.YELLOW + + GT_Utility.safeInt((long) realOptFlow) + + EnumChatFormatting.RESET + + " L/t"; return ret; } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LongPowerUsageBase.java b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LongPowerUsageBase.java index 5494cdd89a..c36cfd7abc 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LongPowerUsageBase.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LongPowerUsageBase.java @@ -1,14 +1,17 @@ package goodgenerator.blocks.tileEntity.base; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; + import com.github.bartimaeusnek.bartworks.util.BW_Util; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; + import gregtech.api.metatileentity.implementations.*; import gregtech.api.util.GT_Utility; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; /** * Base class for multiblocks that supports TT energy hatches. + * * @param <T> */ public abstract class GT_MetaTileEntity_LongPowerUsageBase<T extends GT_MetaTileEntity_LongPowerUsageBase<T>> @@ -114,30 +117,58 @@ public abstract class GT_MetaTileEntity_LongPowerUsageBase<T extends GT_MetaTile if (tName.equals("MAX+")) tName = EnumChatFormatting.OBFUSCATED + "MAX+"; return new String[] { - StatCollector.translateToLocal("GT5U.multiblock.Progress") + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(this.mProgresstime / 20) + EnumChatFormatting.RESET + " s / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.mMaxProgresstime / 20) + EnumChatFormatting.RESET + " s", - StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", - StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " + EnumChatFormatting.RED - + GT_Utility.formatNumbers(-this.lEUt) + EnumChatFormatting.RESET + " EU/t", - StatCollector.translateToLocal("GT5U.multiblock.mei") + ": " + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(this.getMaxInputVoltage()) + EnumChatFormatting.RESET + " EU/t(*" - + GT_Utility.formatNumbers(this.getMaxInputAmps()) + "A) = " - + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(nominalV) + EnumChatFormatting.RESET, - StatCollector.translateToLocal("GT5U.machines.tier") + ": " + EnumChatFormatting.YELLOW + tName - + EnumChatFormatting.RESET, - StatCollector.translateToLocal("GT5U.multiblock.problems") + ": " + EnumChatFormatting.RED - + (this.getIdealStatus() - this.getRepairStatus()) + EnumChatFormatting.RESET + " " - + StatCollector.translateToLocal("GT5U.multiblock.efficiency") - + ": " + EnumChatFormatting.YELLOW - + (float) this.mEfficiency / 100.0F + EnumChatFormatting.RESET + " %", - StatCollector.translateToLocal("GT5U.multiblock.pollution") + ": " + EnumChatFormatting.GREEN - + mPollutionReduction + EnumChatFormatting.RESET + " %" - }; + StatCollector.translateToLocal("GT5U.multiblock.Progress") + ": " + + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(this.mProgresstime / 20) + + EnumChatFormatting.RESET + + " s / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(this.mMaxProgresstime / 20) + + EnumChatFormatting.RESET + + " s", + StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " + + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(storedEnergy) + + EnumChatFormatting.RESET + + " EU / " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(maxEnergy) + + EnumChatFormatting.RESET + + " EU", + StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " + + EnumChatFormatting.RED + + GT_Utility.formatNumbers(-this.lEUt) + + EnumChatFormatting.RESET + + " EU/t", + StatCollector.translateToLocal("GT5U.multiblock.mei") + ": " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(this.getMaxInputVoltage()) + + EnumChatFormatting.RESET + + " EU/t(*" + + GT_Utility.formatNumbers(this.getMaxInputAmps()) + + "A) = " + + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(nominalV) + + EnumChatFormatting.RESET, + StatCollector.translateToLocal("GT5U.machines.tier") + ": " + + EnumChatFormatting.YELLOW + + tName + + EnumChatFormatting.RESET, + StatCollector.translateToLocal("GT5U.multiblock.problems") + ": " + + EnumChatFormatting.RED + + (this.getIdealStatus() - this.getRepairStatus()) + + EnumChatFormatting.RESET + + " " + + StatCollector.translateToLocal("GT5U.multiblock.efficiency") + + ": " + + EnumChatFormatting.YELLOW + + (float) this.mEfficiency / 100.0F + + EnumChatFormatting.RESET + + " %", + StatCollector.translateToLocal("GT5U.multiblock.pollution") + ": " + + EnumChatFormatting.GREEN + + mPollutionReduction + + EnumChatFormatting.RESET + + " %" }; } } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_TooltipMultiBlockBase_EM.java b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_TooltipMultiBlockBase_EM.java index 30640c088d..70d92540e4 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_TooltipMultiBlockBase_EM.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_TooltipMultiBlockBase_EM.java @@ -1,15 +1,20 @@ package goodgenerator.blocks.tileEntity.base; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; -import gregtech.api.interfaces.ISecondaryDescribable; -import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; + import net.minecraft.item.ItemStack; + import org.lwjgl.input.Keyboard; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; + +import gregtech.api.interfaces.ISecondaryDescribable; +import gregtech.api.util.GT_Multiblock_Tooltip_Builder; + public abstract class GT_MetaTileEntity_TooltipMultiBlockBase_EM extends GT_MetaTileEntity_MultiblockBase_EM implements ISecondaryDescribable { + private static final Map<Integer, GT_Multiblock_Tooltip_Builder> tooltips = new ConcurrentHashMap<>(); protected GT_MetaTileEntity_TooltipMultiBlockBase_EM(int aID, String aName, String aNameRegional) { diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java index ac80569904..cbefc01a45 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java @@ -6,6 +6,18 @@ import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static gregtech.api.enums.Textures.BlockIcons.*; import static gregtech.api.util.GT_StructureUtility.ofFrame; +import java.util.ArrayList; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.FluidStack; + import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; @@ -16,6 +28,7 @@ import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; import com.gtnewhorizons.modularui.common.widget.SlotWidget; import com.gtnewhorizons.modularui.common.widget.TextWidget; + import gregtech.api.enums.GT_HatchElement; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; @@ -31,16 +44,6 @@ import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_HatchElementBuilder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; -import java.util.ArrayList; -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMultiBlockBase_EM implements IConstructable, ISurvivalConstructable { @@ -50,50 +53,46 @@ public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMulti public GT_Recipe mLastRecipe; public int para; public int mEUStore; - private static final ClassValue<IStructureDefinition<LargeFusionComputer>> STRUCTURE_DEFINITION = - new ClassValue<IStructureDefinition<LargeFusionComputer>>() { - @Override - protected IStructureDefinition<LargeFusionComputer> computeValue(Class<?> type) { - return StructureDefinition.<LargeFusionComputer>builder() - .addShape(MAIN_NAME, transpose(new String[][] {L0, L1, L2, L3, L2, L1, L0})) - .addElement('H', lazy(x -> ofBlock(x.getCoilBlock(), x.getCoilMeta()))) - .addElement('C', lazy(x -> ofBlock(x.getCasingBlock(), x.getCasingMeta()))) - .addElement('B', lazy(x -> ofBlock(x.getGlassBlock(), x.getGlassMeta()))) - .addElement('I', lazy(x -> GT_HatchElementBuilder.<LargeFusionComputer>builder() - .atLeast(GT_HatchElement.InputHatch) - .adder(LargeFusionComputer::addInjector) - .casingIndex(x.textureIndex()) - .dot(1) - .buildAndChain(x.getGlassBlock(), x.getGlassMeta()))) - .addElement('O', lazy(x -> GT_HatchElementBuilder.<LargeFusionComputer>builder() - .atLeast(GT_HatchElement.OutputHatch) - .adder(LargeFusionComputer::addExtractor) - .casingIndex(x.textureIndex()) - .dot(2) - .buildAndChain(x.getGlassBlock(), x.getGlassMeta()))) - .addElement('E', lazy(x -> GT_HatchElementBuilder.<LargeFusionComputer>builder() - .atLeast(HatchElement.EnergyMulti.or(GT_HatchElement.Energy)) - .adder(LargeFusionComputer::addEnergyInjector) - .casingIndex(x.textureIndex()) - .dot(3) - .buildAndChain(x.getCasingBlock(), x.getCasingMeta()))) - .addElement('F', lazy(x -> ofFrame(x.getFrameBox()))) - .build(); - } - }; + private static final ClassValue<IStructureDefinition<LargeFusionComputer>> STRUCTURE_DEFINITION = new ClassValue<IStructureDefinition<LargeFusionComputer>>() { + + @Override + protected IStructureDefinition<LargeFusionComputer> computeValue(Class<?> type) { + return StructureDefinition.<LargeFusionComputer>builder() + .addShape(MAIN_NAME, transpose(new String[][] { L0, L1, L2, L3, L2, L1, L0 })) + .addElement('H', lazy(x -> ofBlock(x.getCoilBlock(), x.getCoilMeta()))) + .addElement('C', lazy(x -> ofBlock(x.getCasingBlock(), x.getCasingMeta()))) + .addElement('B', lazy(x -> ofBlock(x.getGlassBlock(), x.getGlassMeta()))) + .addElement( + 'I', + lazy( + x -> GT_HatchElementBuilder.<LargeFusionComputer>builder() + .atLeast(GT_HatchElement.InputHatch).adder(LargeFusionComputer::addInjector) + .casingIndex(x.textureIndex()).dot(1) + .buildAndChain(x.getGlassBlock(), x.getGlassMeta()))) + .addElement( + 'O', + lazy( + x -> GT_HatchElementBuilder.<LargeFusionComputer>builder() + .atLeast(GT_HatchElement.OutputHatch) + .adder(LargeFusionComputer::addExtractor).casingIndex(x.textureIndex()) + .dot(2).buildAndChain(x.getGlassBlock(), x.getGlassMeta()))) + .addElement( + 'E', + lazy( + x -> GT_HatchElementBuilder.<LargeFusionComputer>builder() + .atLeast(HatchElement.EnergyMulti.or(GT_HatchElement.Energy)) + .adder(LargeFusionComputer::addEnergyInjector).casingIndex(x.textureIndex()) + .dot(3).buildAndChain(x.getCasingBlock(), x.getCasingMeta()))) + .addElement('F', lazy(x -> ofFrame(x.getFrameBox()))).build(); + } + }; static { Textures.BlockIcons.setCasingTextureForId( 52, TextureFactory.of( - TextureFactory.builder() - .addIcon(MACHINE_CASING_FUSION_GLASS_YELLOW) - .extFacing() - .build(), - TextureFactory.builder() - .addIcon(MACHINE_CASING_FUSION_GLASS_YELLOW_GLOW) - .extFacing() - .glow() + TextureFactory.builder().addIcon(MACHINE_CASING_FUSION_GLASS_YELLOW).extFacing().build(), + TextureFactory.builder().addIcon(MACHINE_CASING_FUSION_GLASS_YELLOW_GLOW).extFacing().glow() .build())); } @@ -142,8 +141,7 @@ public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMulti @Override public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { this.eEnergyMulti.clear(); - if (structureCheck_EM(MAIN_NAME, 23, 3, 40) - && mInputHatches.size() > 1 + if (structureCheck_EM(MAIN_NAME, 23, 3, 40) && mInputHatches.size() > 1 && !mOutputHatches.isEmpty() && (mEnergyHatches.size() + eEnergyMulti.size()) != 0) { fixAllIssue(); @@ -197,7 +195,8 @@ public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMulti int offX = ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing()).offsetX; int offZ = ForgeDirection.getOrientation(aBaseMetaTileEntity.getFrontFacing()).offsetZ; GT_ChunkManager.requestChunkLoad( - (TileEntity) aBaseMetaTileEntity, new ChunkCoordIntPair(getChunkX() + offX, getChunkZ() + offZ)); + (TileEntity) aBaseMetaTileEntity, + new ChunkCoordIntPair(getChunkX() + offX, getChunkZ() + offZ)); GT_ChunkManager.requestChunkLoad( (TileEntity) aBaseMetaTileEntity, new ChunkCoordIntPair(getChunkX() + 1 + offX, getChunkZ() + 1 + offZ)); @@ -236,8 +235,7 @@ public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMulti mUpdate = 50; mUpdated = false; } - if (--mUpdate == 0 - || --mStartUpCheck == 0 + if (--mUpdate == 0 || --mStartUpCheck == 0 || cyclicUpdate_EM() || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { if (mUpdate <= -1000) { @@ -251,38 +249,38 @@ public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMulti for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) if (isValidMetaTileEntity(tHatch)) { if (aBaseMetaTileEntity.getStoredEU() - + (2048L * tierOverclock() * getMaxPara() * extraPara(100)) - < maxEUStore() - && tHatch.getBaseMetaTileEntity() - .decreaseStoredEnergyUnits( - 2048L * tierOverclock() * getMaxPara() * extraPara(100), - false)) { + + (2048L * tierOverclock() * getMaxPara() * extraPara(100)) < maxEUStore() + && tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits( + 2048L * tierOverclock() * getMaxPara() * extraPara(100), + false)) { aBaseMetaTileEntity.increaseStoredEnergyUnits( - 2048L * tierOverclock() * getMaxPara() * extraPara(100), true); + 2048L * tierOverclock() * getMaxPara() * extraPara(100), + true); } else if (aBaseMetaTileEntity.getStoredEU() + (2048L * tierOverclock()) < maxEUStore() && tHatch.getBaseMetaTileEntity() .decreaseStoredEnergyUnits(2048L * tierOverclock(), false)) { - aBaseMetaTileEntity.increaseStoredEnergyUnits(2048L * tierOverclock(), true); - } + |
