diff options
author | Батьків Нестор-Євген Васильович <mama040508@gmail.com> | 2023-03-22 14:43:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-22 13:43:20 +0100 |
commit | 664ccba3c84de7681cc07d5fafe45951d397a211 (patch) | |
tree | 3f0c1812553ae0dd81da4879e3bbe9ec01b83ab6 /src/main/java/gregtech/common | |
parent | 5857de773658237a5c0548d54c33c3998d81dd16 (diff) | |
download | GT5-Unofficial-664ccba3c84de7681cc07d5fafe45951d397a211.tar.gz GT5-Unofficial-664ccba3c84de7681cc07d5fafe45951d397a211.tar.bz2 GT5-Unofficial-664ccba3c84de7681cc07d5fafe45951d397a211.zip |
Display Mode of Ore Processor to WAILA and Scanner (#1803)
* Add Some display to WAILA and Scanner
* Move arrow and aqua to final
* Add localization
Fuck u mc7771 :)
* Bruh
Now u happy?!
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java | 126 |
1 files changed, 94 insertions, 32 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java index 6fd9ad5851..88b45fbd4c 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java @@ -9,11 +9,17 @@ import static gregtech.api.util.GT_StructureUtility.ofFrame; import java.util.*; import java.util.stream.Collectors; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; + import net.minecraft.entity.player.EntityPlayer; +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.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; @@ -47,12 +53,6 @@ public class GT_MetaTileEntity_IntegratedOreFactory private static final int CASING_INDEX1 = 183; private static final int CASING_INDEX2 = 49; private static final int MAX_PARA = 1024; - private static final String CRUSH = "Macerate"; - private static final String WASH = "Ore Washer"; - private static final String THERMAL = "Thermal Centrifuge"; - private static final String CENTRIFUGE = "Centrifuge"; - private static final String SIFTER = "Sifter"; - private static final String CHEM_WASH = "Chemical Bathing"; private static final String STRUCTURE_PIECE_MAIN = "main"; private static final IStructureDefinition<GT_MetaTileEntity_IntegratedOreFactory> STRUCTURE_DEFINITION = StructureDefinition .<GT_MetaTileEntity_IntegratedOreFactory>builder() @@ -226,8 +226,8 @@ public class GT_MetaTileEntity_IntegratedOreFactory return true; } - private int getTime() { - switch (sMode) { + private static int getTime(int mode) { + switch (mode) { case 0: return 30 * 20; case 1: @@ -343,7 +343,7 @@ public class GT_MetaTileEntity_IntegratedOreFactory this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; this.mOutputItems = sMidProduct; - calculateOverclockedNessMulti(30 * tRealUsed, getTime(), 1, getMaxInputVoltage()); + calculateOverclockedNessMulti(30 * tRealUsed, getTime(sMode), 1, getMaxInputVoltage()); if (this.mEUt > 0) { this.mEUt = -this.mEUt; } @@ -372,29 +372,8 @@ public class GT_MetaTileEntity_IntegratedOreFactory return; } sMode = (sMode + 1) % 5; - String des; - switch (sMode) { - case 0: - des = EnumChatFormatting.AQUA + CRUSH + "->" + WASH + "->" + THERMAL + "->" + CRUSH; - break; - case 1: - des = EnumChatFormatting.AQUA + CRUSH + "->" + WASH + "->" + CRUSH + "->" + CENTRIFUGE; - break; - case 2: - des = EnumChatFormatting.AQUA + CRUSH + "->" + CRUSH + "->" + CENTRIFUGE; - break; - case 3: - des = EnumChatFormatting.AQUA + CRUSH + "->" + WASH + "->" + SIFTER; - break; - case 4: - des = EnumChatFormatting.AQUA + CRUSH + "->" + CHEM_WASH + "->" + CRUSH + "->" + CENTRIFUGE; - break; - default: - des = ""; - } - GT_Utility.sendChatToPlayer( - aPlayer, - StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor", des, getTime() / 20)); + List<String> des = getDisplayMode(sMode); + GT_Utility.sendChatToPlayer(aPlayer, String.join("", des)); } @Override @@ -666,6 +645,8 @@ public class GT_MetaTileEntity_IntegratedOreFactory + getCurrentParallelism() + EnumChatFormatting.RESET; informationData.add(parallelism); + informationData.add(StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.void", sVoidStone)); + informationData.addAll(getDisplayMode(sMode)); return informationData.toArray(new String[0]); } @@ -683,4 +664,85 @@ public class GT_MetaTileEntity_IntegratedOreFactory } return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(CASING_INDEX2) }; } + + private static List<String> getDisplayMode(int mode) { + final EnumChatFormatting AQUA = EnumChatFormatting.AQUA; + final String CRUSH = StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.Macerate"); + final String WASH = StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.Ore_Washer") + .replace(" ", " " + AQUA); + final String THERMAL = StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.Thermal_Centrifuge") + .replace(" ", " " + AQUA); + final String CENTRIFUGE = StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.Centrifuge"); + final String SIFTER = StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.Sifter"); + final String CHEM_WASH = StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.Chemical_Bathing") + .replace(" ", " " + AQUA); + final String ARROW = " " + AQUA + "-> "; + + List<String> des = new ArrayList<>(); + des.add(StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor1")); + + switch (mode) { + case 0: + des.add(AQUA + CRUSH + ARROW); + des.add(AQUA + WASH + ARROW); + des.add(AQUA + THERMAL + ARROW); + des.add(AQUA + CRUSH + ' '); + break; + case 1: + des.add(AQUA + CRUSH + ARROW); + des.add(AQUA + WASH + ARROW); + des.add(AQUA + CENTRIFUGE + ARROW); + des.add(AQUA + CRUSH + ' '); + break; + case 2: + des.add(AQUA + CRUSH + ARROW); + des.add(AQUA + CRUSH + ARROW); + des.add(AQUA + CENTRIFUGE + ' '); + break; + case 3: + des.add(AQUA + CRUSH + ARROW); + des.add(AQUA + WASH + ARROW); + des.add(AQUA + SIFTER + ' '); + + break; + case 4: + des.add(AQUA + CRUSH + ARROW); + des.add(AQUA + CHEM_WASH + ARROW); + des.add(AQUA + CRUSH + ARROW); + des.add(AQUA + CENTRIFUGE + ' '); + break; + default: + des.add(StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.WRONG_MODE")); + } + + des.add(StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor2", getTime(mode) / 20)); + + return des; + + } + + @Override + public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, + IWailaConfigHandler config) { + super.getWailaBody(itemStack, currenttip, accessor, config); + NBTTagCompound tag = accessor.getNBTData(); + + currenttip.add( + StatCollector.translateToLocal("GT5U.multiblock.parallelism") + ": " + + EnumChatFormatting.BLUE + + tag.getInteger("currentParallelism") + + EnumChatFormatting.RESET); + currenttip.addAll(getDisplayMode(tag.getInteger("ssMode"))); + currenttip.add( + StatCollector.translateToLocalFormatted("GT5U.machines.oreprocessor.void", tag.getBoolean("ssStone"))); + + } + + public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, + int z) { + super.getWailaNBTData(player, tile, tag, world, x, y, z); + tag.setInteger("ssMode", sMode); + tag.setBoolean("ssStone", sVoidStone); + tag.setInteger("currentParallelism", currentParallelism); + } } |