aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
authorБатьків Нестор-Євген Васильович <mama040508@gmail.com>2023-03-22 14:43:20 +0200
committerGitHub <noreply@github.com>2023-03-22 13:43:20 +0100
commit664ccba3c84de7681cc07d5fafe45951d397a211 (patch)
tree3f0c1812553ae0dd81da4879e3bbe9ec01b83ab6 /src/main/java/gregtech/common
parent5857de773658237a5c0548d54c33c3998d81dd16 (diff)
downloadGT5-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.java126
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);
+ }
}