diff options
Diffstat (limited to 'src')
8 files changed, 17 insertions, 121 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/BaseTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseTileEntity.java index 7b18565165..f2b5278e49 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseTileEntity.java @@ -62,9 +62,9 @@ import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; import gregtech.api.interfaces.tileentity.IIC2Enet; import gregtech.api.net.GTPacketBlockEvent; import gregtech.api.net.GTPacketSetConfigurationCircuit; +import gregtech.api.util.GTTooltipDataCache; import gregtech.api.util.GTUtil; import gregtech.api.util.GTUtility; -import gregtech.api.util.GT_TooltipDataCache; import gregtech.common.gui.modularui.uifactory.SelectItemUIFactory; import ic2.api.energy.event.EnergyTileLoadEvent; import ic2.api.energy.event.EnergyTileUnloadEvent; @@ -631,7 +631,7 @@ public abstract class BaseTileEntity extends TileEntity implements IHasWorldObje return null; } - protected GT_TooltipDataCache mTooltipCache = new GT_TooltipDataCache(); + protected GTTooltipDataCache mTooltipCache = new GTTooltipDataCache(); // Tooltip localization keys public static final String BATTERY_SLOT_TOOLTIP = "GT5U.machines.battery_slot.tooltip", diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java index 1008a64507..a0fafe1bcd 100644 --- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java @@ -55,9 +55,9 @@ import gregtech.api.objects.GTItemStack; import gregtech.api.util.GTLanguageManager; import gregtech.api.util.GTLog; import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTTooltipDataCache; import gregtech.api.util.GTUtil; import gregtech.api.util.GTUtility; -import gregtech.api.util.GT_TooltipDataCache; import gregtech.common.GTClient; import gregtech.common.covers.CoverInfo; import mcp.mobius.waila.api.IWailaConfigHandler; @@ -91,7 +91,7 @@ public abstract class MetaTileEntity implements IMetaTileEntity, ICleanroomRecei public final ItemStackHandler inventoryHandler; protected GUIColorOverride colorOverride; - protected GT_TooltipDataCache mTooltipCache = new GT_TooltipDataCache(); + protected GTTooltipDataCache mTooltipCache = new GTTooltipDataCache(); @Override public ItemStackHandler getInventoryHandler() { diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java index 25dfb9b58b..ee83857953 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachine.java @@ -81,9 +81,9 @@ import gregtech.api.util.GTClientPreference; import gregtech.api.util.GTLog; import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTRecipe; +import gregtech.api.util.GTTooltipDataCache; import gregtech.api.util.GTUtility; import gregtech.api.util.GTWaila; -import gregtech.api.util.GT_TooltipDataCache; import gregtech.api.util.OverclockCalculator; import gregtech.common.gui.modularui.UIHelper; import mcp.mobius.waila.api.IWailaConfigHandler; @@ -1527,16 +1527,16 @@ public abstract class MTEBasicMachine extends MTEBasicTank implements RecipeMapW } protected List<String> getErrorDescriptions() { - final GT_TooltipDataCache.TooltipData tooltip = getErrorTooltip(); + final GTTooltipDataCache.TooltipData tooltip = getErrorTooltip(); return tooltip != null ? tooltip.text : Collections.emptyList(); } protected List<String> getErrorDescriptionsShift() { - final GT_TooltipDataCache.TooltipData tooltip = getErrorTooltip(); + final GTTooltipDataCache.TooltipData tooltip = getErrorTooltip(); return tooltip != null ? tooltip.shiftText : Collections.emptyList(); } - protected GT_TooltipDataCache.TooltipData getErrorTooltip() { + protected GTTooltipDataCache.TooltipData getErrorTooltip() { if (isSteampowered()) { if ((getBaseMetaTileEntity().getErrorDisplayID() & 64) != 0) { return mTooltipCache.getData(STALLED_VENT_TOOLTIP); diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBuffer.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBuffer.java index c8b4e6bfca..59618b423d 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBuffer.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBuffer.java @@ -41,8 +41,8 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.modularui.IAddUIWidgets; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.render.TextureFactory; +import gregtech.api.util.GTTooltipDataCache; import gregtech.api.util.GTUtility; -import gregtech.api.util.GT_TooltipDataCache; public abstract class MTEBuffer extends MTETieredMachineBlock implements IAddUIWidgets { @@ -477,7 +477,7 @@ public abstract class MTEBuffer extends MTETieredMachineBlock implements IAddUIW this::getEmitEnergyButtonTooltip)); } - private GT_TooltipDataCache.TooltipData getEmitEnergyButtonTooltip() { + private GTTooltipDataCache.TooltipData getEmitEnergyButtonTooltip() { return mTooltipCache.getData( EMIT_ENERGY_TOOLTIP, EnumChatFormatting.GREEN + GTUtility.formatNumbers(V[mTier]) @@ -498,7 +498,7 @@ public abstract class MTEBuffer extends MTETieredMachineBlock implements IAddUIW this::getEmitRedstoneIfFullButtonTooltip).setUpdateTooltipEveryTick(true)); } - private GT_TooltipDataCache.TooltipData getEmitRedstoneIfFullButtonTooltip() { + private GTTooltipDataCache.TooltipData getEmitRedstoneIfFullButtonTooltip() { return mTooltipCache.getUncachedTooltipData( EMIT_REDSTONE_IF_FULL_TOOLTIP, StatCollector.translateToLocal(hasEmptySlots() ? "gui.yes" : "gui.no"), @@ -539,7 +539,7 @@ public abstract class MTEBuffer extends MTETieredMachineBlock implements IAddUIW } protected Widget createToggleButton(Supplier<Boolean> getter, Consumer<Boolean> setter, UITexture picture, - Supplier<GT_TooltipDataCache.TooltipData> tooltipDataSupplier) { + Supplier<GTTooltipDataCache.TooltipData> tooltipDataSupplier) { return new CycleButtonWidget().setToggle(getter, setter) .setStaticTexture(picture) .setVariableBackground(GTUITextures.BUTTON_STANDARD_TOGGLE) diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEFilterBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEFilterBase.java index 32e224e50f..b9f4901f4a 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEFilterBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEFilterBase.java @@ -7,7 +7,7 @@ import com.gtnewhorizons.modularui.api.screen.UIBuildContext; import gregtech.api.gui.modularui.GTUITextures; import gregtech.api.interfaces.ITexture; -import gregtech.api.util.GT_TooltipDataCache; +import gregtech.api.util.GTTooltipDataCache; public abstract class MTEFilterBase extends MTEBuffer { @@ -88,7 +88,7 @@ public abstract class MTEFilterBase extends MTEBuffer { this::getEmitRedstoneGraduallyButtonTooltip).setUpdateTooltipEveryTick(true)); } - private GT_TooltipDataCache.TooltipData getEmitRedstoneGraduallyButtonTooltip() { + private GTTooltipDataCache.TooltipData getEmitRedstoneGraduallyButtonTooltip() { return mTooltipCache .getUncachedTooltipData(EMIT_REDSTONE_GRADUALLY_TOOLTIP, getEmptySlots(), getRedstoneOutput()); } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEHatchInputBus.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEHatchInputBus.java index f4f04c38a3..a44924297a 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEHatchInputBus.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEHatchInputBus.java @@ -34,8 +34,8 @@ import gregtech.api.recipe.RecipeMap; import gregtech.api.render.TextureFactory; import gregtech.api.util.GTClientPreference; import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTTooltipDataCache; import gregtech.api.util.GTUtility; -import gregtech.api.util.GT_TooltipDataCache; import gregtech.api.util.extensions.ArrayExt; public class MTEHatchInputBus extends MTEHatch implements IConfigurationCircuitSupport, IAddUIWidgets { @@ -303,7 +303,7 @@ public class MTEHatchInputBus extends MTEHatch implements IConfigurationCircuitS } private Widget createToggleButton(Supplier<Boolean> getter, Consumer<Boolean> setter, UITexture picture, - Supplier<GT_TooltipDataCache.TooltipData> tooltipDataSupplier) { + Supplier<GTTooltipDataCache.TooltipData> tooltipDataSupplier) { return new CycleButtonWidget().setToggle(getter, setter) .setStaticTexture(picture) .setVariableBackground(GTUITextures.BUTTON_STANDARD_TOGGLE) diff --git a/src/main/java/gregtech/api/util/CoverBehaviorBase.java b/src/main/java/gregtech/api/util/CoverBehaviorBase.java index 0c8ef81533..cd8a1f5ba9 100644 --- a/src/main/java/gregtech/api/util/CoverBehaviorBase.java +++ b/src/main/java/gregtech/api/util/CoverBehaviorBase.java @@ -408,7 +408,7 @@ public abstract class CoverBehaviorBase<T extends ISerializableObject> { // region UI stuff - protected GT_TooltipDataCache mTooltipCache = new GT_TooltipDataCache(); + protected GTTooltipDataCache mTooltipCache = new GTTooltipDataCache(); protected GUIColorOverride colorOverride; private static final String guiTexturePath = "gregtech:textures/gui/GuiCover.png"; diff --git a/src/main/java/gregtech/api/util/GT_TooltipDataCache.java b/src/main/java/gregtech/api/util/GT_TooltipDataCache.java deleted file mode 100644 index 6b42a8e7fa..0000000000 --- a/src/main/java/gregtech/api/util/GT_TooltipDataCache.java +++ /dev/null @@ -1,104 +0,0 @@ -package gregtech.api.util; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import net.minecraft.util.StatCollector; - -import gregtech.GTMod; - -public class GT_TooltipDataCache { - - public static class TooltipData { - - public List<String> text; - public List<String> shiftText; - - public TooltipData(List<String> text, List<String> shiftText) { - this.text = text; - this.shiftText = shiftText; - } - } - - private final Map<String, TooltipData> fetchedTooltipData = new HashMap<>(); - - /** - * Returns tooltip data respecting the user's configured verbosity levels, applying any formatting arguments. - * - * @param key the key to lookup - * @param args arguments for string formatting (prefer using positional arguments) - * @return The tooltip data the user asked for - */ - public TooltipData getData(String key, Object... args) { - TooltipData tooltipData = fetchedTooltipData.get(key); - if (tooltipData == null) { - tooltipData = getUncachedTooltipData(key, args); - fetchedTooltipData.put(key, tooltipData); - } - return tooltipData; - } - - /** - * Builds tooltip data respecting the user's configured verbosity levels, applying any formatting arguments. - * - * @param key the key to lookup - * @param args arguments for string formatting (prefer using positional arguments) - * @return The tooltip data the user asked for - */ - public TooltipData getUncachedTooltipData(String key, Object... args) { - List<String> lines = getAllLines(key, args); - int normalLines = lines.size(); - if (Math.max(GTMod.gregtechproxy.mTooltipVerbosity, GTMod.gregtechproxy.mTooltipShiftVerbosity) >= 3) { - lines.addAll(getAllLines(key + ".extended", args)); // Are extended lines enabled? If so add them to the - // lines - } - if (lines.size() == 0) { - lines.add(key); // Fallback in case no lines could be found at all - } - return new TooltipData( - lines.subList(0, getVerbosityIndex(GTMod.gregtechproxy.mTooltipVerbosity, normalLines, lines.size())), - lines.subList(0, getVerbosityIndex(GTMod.gregtechproxy.mTooltipShiftVerbosity, normalLines, lines.size()))); - } - - /** - * Gets all the lines for the given key and every other subsequent consecutive key with a .n suffix, n in {1,2,3...} - * - * @param key the key to lookup - * @param args arguments for string formatting (prefer using positional arguments) - * @return The lines for the key and all of it's subkeys - */ - private List<String> getAllLines(String key, Object... args) { - List<String> lines = new ArrayList<>(); - String keyToLookup = key; - int i = 1; // First loop has no .number postfix - while (StatCollector.canTranslate(keyToLookup)) { - lines.add(StatCollector.translateToLocalFormatted(keyToLookup, args)); - keyToLookup = key + "." + i++; - } - return lines; - } - - /** - * Determines how many lines from a tooltip to include from the full line list to respect a given verbosity level. - * - * @param tooltipVerbosity the verbosity level we're applying - * @param defaultIndex return if tooltipVerbosity is 2 - * @param maxIndex return if tooltipVerbosity is greater than 2 - * @return verbosity appropriate index - */ - private static int getVerbosityIndex(int tooltipVerbosity, int defaultIndex, int maxIndex) { - int index; - if (tooltipVerbosity < 1) { - index = 0; - } else if (tooltipVerbosity == 1) { - index = 1; - } else if (tooltipVerbosity == 2) { - index = defaultIndex; - } else { - index = maxIndex; - } - return index; - } -} |