diff options
author | Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> | 2022-11-26 00:33:48 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-25 17:33:48 +0100 |
commit | b861cabda4487c0ec26a431e0b1256c0d6426a6c (patch) | |
tree | 3dd866318b9367925fb6e65791d266392cb0ce54 /src/main/java | |
parent | d1a9e8a22c75b4b25cdcf9d8a27cce3fdf8c24a5 (diff) | |
download | GT5-Unofficial-b861cabda4487c0ec26a431e0b1256c0d6426a6c.tar.gz GT5-Unofficial-b861cabda4487c0ec26a431e0b1256c0d6426a6c.tar.bz2 GT5-Unofficial-b861cabda4487c0ec26a431e0b1256c0d6426a6c.zip |
allow precise assembler overclock after max (#106)
* allow precise assembler overclock after max
* use the new energy base
* clean up
* oversight
Diffstat (limited to 'src/main/java')
4 files changed, 202 insertions, 165 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index aa2ba89340..aaec87d75c 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -5,7 +5,6 @@ import static com.github.bartimaeusnek.bartworks.util.RecipeFinderForParallel.ha import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static goodgenerator.util.DescTextLocalization.BLUE_PRINT_INFO; import static gregtech.api.enums.GT_HatchElement.*; -import static gregtech.api.enums.GT_HatchElement.Muffler; import static gregtech.api.util.GT_StructureUtility.ofFrame; import com.github.bartimaeusnek.bartworks.util.Pair; @@ -16,11 +15,8 @@ import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureUtility; -import cpw.mods.fml.common.network.NetworkRegistry; -import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM; +import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_LongPowerUsageBase; import goodgenerator.loader.Loaders; -import goodgenerator.main.GoodGenerator; -import goodgenerator.network.MessageResetTileTexture; import goodgenerator.util.DescTextLocalization; import goodgenerator.util.MyRecipeAdder; import gregtech.api.GregTech_API; @@ -31,6 +27,7 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.GregTechTileClientEvents; import gregtech.api.metatileentity.implementations.*; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_HatchElementBuilder; @@ -49,7 +46,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; -public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM +public class PreciseAssembler extends GT_MetaTileEntity_LongPowerUsageBase<PreciseAssembler> implements IConstructable, ISurvivalConstructable { private static final IIconContainer textureFontOn = new Textures.BlockIcons.CustomIcon("iconsets/OVERLAY_QTANK"); @@ -65,6 +62,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM protected int machineTier; protected int mode; protected int energyHatchTier; + private GT_Recipe lastRecipe; public PreciseAssembler(String name) { super(name); @@ -75,7 +73,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } @Override - public IStructureDefinition<PreciseAssembler> getStructure_EM() { + public IStructureDefinition<PreciseAssembler> getStructureDefinition() { if (multiDefinition == null) { multiDefinition = StructureDefinition.<PreciseAssembler>builder() .addShape(mName, transpose(new String[][] { @@ -95,7 +93,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM OutputBus, Maintenance, Muffler, - HatchElement.EnergyMulti.or(Energy)) + ExoticEnergy.or(Energy)) .adder(PreciseAssembler::addToPAssList) .casingIndex(1539) .dot(1) @@ -158,7 +156,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM return mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyMulti) { - return eEnergyMulti.add((GT_MetaTileEntity_Hatch_EnergyMulti) aMetaTileEntity); + return mExoticEnergyHatches.add((GT_MetaTileEntity_Hatch_EnergyMulti) aMetaTileEntity); } return false; } @@ -172,6 +170,11 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } @Override + public boolean isCorrectMachinePart(ItemStack aStack) { + return true; + } + + @Override public void saveNBTData(NBTTagCompound aNBT) { aNBT.setInteger("casingTier", casingTier); aNBT.setInteger("machineTier", machineTier); @@ -188,48 +191,31 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ); } - protected void calculateOverclockedNessMultiPara(long aEUt, int aDuration, int mAmperage, long maxInputPower) { - // Prevent overclocking beyond MAX - maxInputPower = Math.min(maxInputPower, Integer.MAX_VALUE - 1); - while (aEUt <= maxInputPower && aDuration >= 1) { - aEUt = aEUt << 2; - aDuration = aDuration >> 1; - } - aEUt = aEUt >> 2; - aDuration = aDuration << 1; - if (aDuration <= 0) aDuration = 1; - if (aEUt == maxInputPower) aEUt = (long) (maxInputPower * 0.9); - this.mEUt = GT_Utility.safeInt(aEUt); - this.mMaxProgresstime = aDuration; - } - @Override - public boolean checkRecipe_EM(ItemStack itemStack) { + public boolean checkRecipe(ItemStack itemStack) { if (casingTier < 0 || machineTier < 0) return false; FluidStack[] inputFluids = getStoredFluids().toArray(new FluidStack[0]); if (this.mode == 0) { for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) { if (!isValidMetaTileEntity(bus)) continue; - GT_Recipe tRecipe = getRecipeMap() + this.lastRecipe = getRecipeMap() .findRecipe( this.getBaseMetaTileEntity(), + this.lastRecipe, false, Math.min(getMachineVoltageLimit(), getMaxInputEnergyPA()), inputFluids, getStoredItemFromHatch(bus)); - if (tRecipe != null && tRecipe.mSpecialValue <= (casingTier + 1)) { + if (this.lastRecipe != null && this.lastRecipe.mSpecialValue <= (casingTier + 1)) { this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; - tRecipe.isRecipeInputEqual(true, inputFluids, getStoredItemFromHatch(bus)); - mOutputItems = tRecipe.mOutputs; - calculateOverclockedNessMultiPara( - tRecipe.mEUt, - tRecipe.mDuration, - 1, - Math.min(getMachineVoltageLimit(), getMaxInputEnergyPA())); + this.lastRecipe.isRecipeInputEqual(true, inputFluids, getStoredItemFromHatch(bus)); + mOutputItems = this.lastRecipe.mOutputs; + calculateOverclockedNessMulti( + this.lastRecipe.mEUt, this.lastRecipe.mDuration, 1, getMaxInputEnergyPA()); this.updateSlots(); - if (this.mEUt > 0) { - this.mEUt = (-this.mEUt); + if (this.lEUt > 0) { + this.lEUt = (-this.lEUt); } return true; } @@ -237,35 +223,31 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } else { for (GT_MetaTileEntity_Hatch_InputBus bus : mInputBusses) { if (!isValidMetaTileEntity(bus) || getStoredItemFromHatch(bus).length < 1) continue; - GT_Recipe tRecipe = getRecipeMap() + this.lastRecipe = getRecipeMap() .findRecipe( this.getBaseMetaTileEntity(), + this.lastRecipe, false, Math.min(getMachineVoltageLimit(), getMaxInputEnergyPA()), inputFluids, getStoredItemFromHatch(bus)); - if (tRecipe != null) { + if (this.lastRecipe != null) { this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; - long fullInput = getMaxInputEnergy_EM(); - int pall = handleParallelRecipe(tRecipe, inputFluids, getStoredItemFromHatch(bus), (int) - Math.min((long) Math.pow(2, 4 + (casingTier + 1)), fullInput / tRecipe.mEUt)); + long fullInput = getMaxInputEnergyPA(); + int pall = handleParallelRecipe(this.lastRecipe, inputFluids, getStoredItemFromHatch(bus), (int) + Math.min((long) Math.pow(2, 4 + (casingTier + 1)), fullInput / this.lastRecipe.mEUt)); if (pall <= 0) continue; - Pair<ArrayList<FluidStack>, ArrayList<ItemStack>> Outputs = getMultiOutput(tRecipe, pall); - long lEUt = (long) tRecipe.mEUt * (long) pall; - int time = tRecipe.mDuration / 2; - int modifier = 1; - while (lEUt >= Integer.MAX_VALUE - 1) { - lEUt = (long) tRecipe.mEUt * (long) pall / modifier; - time = tRecipe.mDuration / 2 * modifier; - modifier++; - } + Pair<ArrayList<FluidStack>, ArrayList<ItemStack>> Outputs = getMultiOutput(this.lastRecipe, pall); mOutputItems = Outputs.getValue().toArray(new ItemStack[0]); - calculateOverclockedNessMultiPara( - (int) lEUt, time, 1, Math.min(Integer.MAX_VALUE - 1, getMaxInputEnergy_EM())); + calculateOverclockedNessMulti( + (long) this.lastRecipe.mEUt * (long) pall, + this.lastRecipe.mDuration / 2, + 1, + getMaxInputEnergyPA()); this.updateSlots(); - if (this.mEUt > 0) { - this.mEUt = (-this.mEUt); + if (this.lEUt > 0) { + this.lEUt = (-this.lEUt); } return true; } @@ -274,9 +256,6 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM return false; } - /** - * Modified version of {@link #getMaxInputEnergy()} - */ private long getMaxInputEnergyPA() { long rEnergy = 0; if (mEnergyHatches.size() == 1) { @@ -285,14 +264,12 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (isValidMetaTileEntity(tHatch)) { - rEnergy += tHatch.getBaseMetaTileEntity().getInputVoltage() - * tHatch.getBaseMetaTileEntity().getInputAmperage(); + rEnergy += tHatch.maxEUInput() * tHatch.maxAmperesIn(); } } - for (GT_MetaTileEntity_Hatch_EnergyMulti tHatch : eEnergyMulti) { + for (GT_MetaTileEntity_Hatch tHatch : mExoticEnergyHatches) { if (isValidMetaTileEntity(tHatch)) { - rEnergy += tHatch.getBaseMetaTileEntity().getInputVoltage() - * tHatch.getBaseMetaTileEntity().getInputAmperage(); + rEnergy += tHatch.maxEUInput() * ((GT_MetaTileEntity_Hatch_EnergyMulti) tHatch).Amperes; } } return rEnergy; @@ -305,7 +282,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM public long getMachineVoltageLimit() { if (machineTier < 0) return 0; - if (machineTier > 9) return GT_Values.V[energyHatchTier]; + if (machineTier >= 9) return GT_Values.V[energyHatchTier]; else return GT_Values.V[Math.min(machineTier, energyHatchTier)]; } @@ -325,46 +302,13 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } @Override - public boolean drainEnergyInput_EM(long EUtTierVoltage, long EUtEffective, long Amperes) { - long EUuse = EUtEffective * Amperes; - if (EUuse < 0) { - EUuse = -EUuse; - } - for (GT_MetaTileEntity_Hatch tHatch : mEnergyHatches) { - long tDrain = Math.min(tHatch.getBaseMetaTileEntity().getStoredEU(), EUuse); - tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(tDrain, false); - EUuse -= tDrain; - } - for (GT_MetaTileEntity_Hatch tHatch : eEnergyMulti) { - long tDrain = Math.min(tHatch.getBaseMetaTileEntity().getStoredEU(), EUuse); - tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(tDrain, false); - EUuse -= tDrain; - } - return EUuse <= 0; - } - - @Override - public boolean drainEnergyInput(long EUtEffective, long Amperes) { - long EUuse = EUtEffective * Amperes; - if (EUuse < 0) { - EUuse = -EUuse; - } - for (GT_MetaTileEntity_Hatch tHatch : mEnergyHatches) { - long tDrain = Math.min(tHatch.getBaseMetaTileEntity().getStoredEU(), EUuse); - tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(tDrain, false); - EUuse -= tDrain; - } - for (GT_MetaTileEntity_Hatch tHatch : eEnergyMulti) { - long tDrain = Math.min(tHatch.getBaseMetaTileEntity().getStoredEU(), EUuse); - tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(tDrain, false); - EUuse -= tDrain; - } - return EUuse <= 0; + protected long getRealVoltage() { + return getMaxInputEnergyPA(); } @Override public void construct(ItemStack stackSize, boolean hintsOnly) { - structureBuild_EM(mName, 4, 4, 0, stackSize, hintsOnly); + buildPiece(mName, stackSize, hintsOnly, 4, 4, 0); } @Override @@ -377,24 +321,17 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } @Override - public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { this.machineTier = -1; this.casingAmount = 0; this.casingTier = -1; this.energyHatchTier = 0; - if (structureCheck_EM(mName, 4, 4, 0)) { + if (checkPiece(mName, 4, 4, 0)) { energyHatchTier = checkEnergyHatchTier(); if (casingTier >= 0) { reUpdate(1539 + casingTier); } - GoodGenerator.CHANNEL.sendToAllAround( - new MessageResetTileTexture(aBaseMetaTileEntity, casingTier), - new NetworkRegistry.TargetPoint( - aBaseMetaTileEntity.getWorld().provider.dimensionId, - aBaseMetaTileEntity.getXCoord(), - aBaseMetaTileEntity.getYCoord(), - aBaseMetaTileEntity.getZCoord(), - 16)); + getBaseMetaTileEntity().sendBlockEvent(GregTechTileClientEvents.CHANGE_CUSTOM_DATA, getUpdateData()); return casingAmount >= 42 && machineTier >= 0 && casingTier >= 0 @@ -441,6 +378,16 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } @Override + public int getDamageToComponent(ItemStack aStack) { + return 0; + } + + @Override + public boolean explodesOnComponentBreak(ItemStack aStack) { + return false; + } + + @Override public String[] getStructureDescription(ItemStack stackSize) { return DescTextLocalization.addText("PreciseAssembler.hint", 6); } @@ -457,7 +404,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM tier = Math.max(tHatch.mTier, tier); } } - for (GT_MetaTileEntity_Hatch_EnergyMulti tHatch : eEnergyMulti) { + for (GT_MetaTileEntity_Hatch tHatch : mExoticEnergyHatches) { if (isValidMetaTileEntity(tHatch)) { tier = Math.max(tHatch.mTier, tier); } @@ -503,12 +450,25 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM for (GT_MetaTileEntity_Hatch hatch : mMufflerHatches) { hatch.updateTexture(texture); } - for (GT_MetaTileEntity_Hatch hatch : eEnergyMulti) { + for (GT_MetaTileEntity_Hatch hatch : mExoticEnergyHatches) { hatch.updateTexture(texture); } } @Override + public byte getUpdateData() { + return (byte) casingTier; + } + + @Override + public void receiveClientEvent(byte aEventID, byte aValue) { + super.receiveClientEvent(aEventID, aValue); + if (aEventID == GregTechTileClientEvents.CHANGE_CUSTOM_DATA && (aValue & 0x80) == 0) { + casingTier = aValue; + } + } + + @Override public ITexture[] getTexture( IGregTechTileEntity aBaseMetaTileEntity, byte aSide, 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 new file mode 100644 index 0000000000..b6e8f79ca8 --- /dev/null +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LongPowerUsageBase.java @@ -0,0 +1,125 @@ +package goodgenerator.blocks.tileEntity.base; + +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>> + extends GT_MetaTileEntity_ExtendedPowerMultiBlockBase<T> { + + protected GT_MetaTileEntity_LongPowerUsageBase(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + protected GT_MetaTileEntity_LongPowerUsageBase(String aName) { + super(aName); + } + + @Override + public void clearHatches() { + mExoticEnergyHatches.clear(); + super.clearHatches(); + } + + @Override + public long getMaxInputVoltage() { + long rVoltage = 0; + for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { + rVoltage += tHatch.maxEUInput(); + } + } + for (GT_MetaTileEntity_Hatch tHatch : mExoticEnergyHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { + rVoltage += tHatch.maxEUInput(); + } + } + return rVoltage; + } + + @Override + public String[] getInfoData() { + return getInfoDataArray(this); + } + + protected abstract long getRealVoltage(); + + protected long getMaxInputAmps() { + long rAmps = 0; + for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { + rAmps += tHatch.maxAmperesIn(); + } + } + for (GT_MetaTileEntity_Hatch tHatch : mExoticEnergyHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { + rAmps += ((GT_MetaTileEntity_Hatch_EnergyMulti) tHatch).Amperes; + } + } + return rAmps; + } + + protected String[] getInfoDataArray(GT_MetaTileEntity_MultiBlockBase multiBlockBase) { + int mPollutionReduction = 0; + + for (GT_MetaTileEntity_Hatch_Muffler tHatch : this.mMufflerHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { + mPollutionReduction = Math.max(tHatch.calculatePollutionReduction(100), mPollutionReduction); + } + } + + long storedEnergy = 0; + long maxEnergy = 0; + + for (GT_MetaTileEntity_Hatch_Energy tHatch : this.mEnergyHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { + storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); + maxEnergy += tHatch.getBaseMetaTileEntity().getEUCapacity(); + } + } + for (GT_MetaTileEntity_Hatch tHatch : this.mExoticEnergyHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { + storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); + maxEnergy += tHatch.getBaseMetaTileEntity().getEUCapacity(); + } + } + + long nominalV = getRealVoltage(); + String tName = BW_Util.getTierNameFromVoltage(this.getMaxInputVoltage()); + 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 + " %" + }; + } +} diff --git a/src/main/java/goodgenerator/main/GoodGenerator.java b/src/main/java/goodgenerator/main/GoodGenerator.java index 00a367e505..f1aad54ebd 100644 --- a/src/main/java/goodgenerator/main/GoodGenerator.java +++ b/src/main/java/goodgenerator/main/GoodGenerator.java @@ -4,16 +4,19 @@ import com.github.bartimaeusnek.bartworks.API.WerkstoffAdderRegistry; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.*; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLLoadCompleteEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.relauncher.Side; import goodgenerator.common.CommonProxy; import goodgenerator.crossmod.thaumcraft.Research; import goodgenerator.items.MyMaterial; -import goodgenerator.loader.*; +import goodgenerator.loader.Loaders; +import goodgenerator.loader.NaquadahReworkRecipeLoader; import goodgenerator.network.MessageOpenNeutronSensorGUI; -import goodgenerator.network.MessageResetTileTexture; import goodgenerator.network.MessageSetNeutronSensorData; import goodgenerator.tabs.MyTabs; import net.minecraft.creativetab.CreativeTabs; @@ -46,8 +49,6 @@ public final class GoodGenerator { MessageSetNeutronSensorData.ServerHandler.class, MessageSetNeutronSensorData.class, 0, Side.SERVER); CHANNEL.registerMessage( MessageOpenNeutronSensorGUI.ClientHandler.class, MessageOpenNeutronSensorGUI.class, 1, Side.CLIENT); - CHANNEL.registerMessage( - MessageResetTileTexture.ClientHandler.class, MessageResetTileTexture.class, 2, Side.CLIENT); } @Mod.Instance(GoodGenerator.MOD_ID) diff --git a/src/main/java/goodgenerator/network/MessageResetTileTexture.java b/src/main/java/goodgenerator/network/MessageResetTileTexture.java deleted file mode 100644 index e078891c40..0000000000 --- a/src/main/java/goodgenerator/network/MessageResetTileTexture.java +++ /dev/null @@ -1,49 +0,0 @@ -package goodgenerator.network; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import goodgenerator.blocks.tileEntity.PreciseAssembler; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import io.netty.buffer.ByteBuf; - -public class MessageResetTileTexture extends MessageMTEBase { - - protected int index; - - public MessageResetTileTexture() {} - - public MessageResetTileTexture(IGregTechTileEntity tile, int index) { - super(tile); - this.index = index; - } - - @Override - public void fromBytes(ByteBuf buf) { - super.fromBytes(buf); - index = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - super.toBytes(buf); - buf.writeInt(index); - } - - public static class ClientHandler extends MessageMTEBase.Handler<MessageResetTileTexture, IMessage> { - - @Override - protected IMessage onError(MessageResetTileTexture message, MessageContext ctx) { - return null; - } - - @Override - protected IMessage onSuccess(MessageResetTileTexture message, MessageContext ctx, IMetaTileEntity mte) { - if (mte instanceof PreciseAssembler) { - ((PreciseAssembler) mte).setCasingTier(message.index); - mte.markDirty(); - } - return null; - } - } -} |