Skip to content

Commit 0656f02

Browse files
committed
Add the mod name to all MUI2 item slots and our fluid slots
Fix no newline after the fluid mol tooltip
1 parent 274c4b9 commit 0656f02

File tree

11 files changed

+69
-41
lines changed

11 files changed

+69
-41
lines changed

src/main/java/gregtech/api/gui/widgets/TankWidget.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ public static void addIngotMolFluidTooltip(FluidStack fluidStack, List<String> t
511511
if (extra != 0) {
512512
fluidAmount += String.format(" + %d L", extra);
513513
}
514-
tooltip.add(TextFormatting.GRAY + LocalizationUtils.format("gregtech.gui.amount_raw") + fluidAmount);
514+
tooltip.add(TextFormatting.GRAY + LocalizationUtils.format("gregtech.gui.amount_raw", fluidAmount));
515515
}
516516
}
517517
}

src/main/java/gregtech/api/mui/sync/GTFluidSyncHandler.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,14 +253,15 @@ public void handleTooltip(@NotNull RichTooltip tooltip) {
253253
if (tankFluid == null) {
254254
tankFluid = getLockedFluid();
255255
}
256+
if (tankFluid == null) return;
256257

257-
if (tankFluid != null) {
258-
FluidTooltipUtil.handleFluidTooltip(tooltip, tankFluid);
258+
FluidTooltipUtil.handleFluidTooltip(tooltip, tankFluid);
259259

260-
if (showAmountInTooltip()) {
261-
FluidTooltipUtil.addIngotMolFluidTooltip(tooltip, tankFluid);
262-
}
260+
if (showAmountInTooltip()) {
261+
FluidTooltipUtil.addIngotMolFluidTooltip(tooltip, tankFluid);
263262
}
263+
264+
tooltip.add(FluidTooltipUtil.getFluidModName(tankFluid));
264265
}
265266

266267
@Override

src/main/java/gregtech/api/mui/widget/appeng/fluid/AEFluidConfigSlot.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import gregtech.api.mui.sync.appeng.AEFluidSyncHandler;
55
import gregtech.api.mui.widget.appeng.AEConfigSlot;
66
import gregtech.api.mui.widget.appeng.AEStackPreviewWidget;
7+
import gregtech.api.util.FluidTooltipUtil;
78
import gregtech.api.util.KeyUtil;
89
import gregtech.api.util.TextFormattingUtil;
910
import gregtech.client.utils.RenderUtil;
@@ -14,7 +15,6 @@
1415
import net.minecraftforge.fluids.FluidUtil;
1516

1617
import appeng.api.storage.data.IAEFluidStack;
17-
import com.cleanroommc.modularui.api.drawable.IKey;
1818
import com.cleanroommc.modularui.api.widget.Interactable;
1919
import com.cleanroommc.modularui.drawable.GuiDraw;
2020
import com.cleanroommc.modularui.drawable.text.TextRenderer;
@@ -47,8 +47,10 @@ public void onInit() {
4747
protected void buildTooltip(@NotNull RichTooltip tooltip) {
4848
WrappedFluidStack config = (WrappedFluidStack) getSyncHandler().getConfig(index);
4949
if (config != null) {
50-
KeyUtil.fluidInfo(config.getDefinition(), tooltip, false, true, true);
51-
tooltip.addLine(IKey.str("§9§oMod Name Here§r"));
50+
FluidStack stack = config.getDefinition();
51+
tooltip.addLine(KeyUtil.fluid(stack));
52+
FluidTooltipUtil.fluidInfo(stack, tooltip, false, true, true);
53+
tooltip.addLine(FluidTooltipUtil.getFluidModNameKey(stack));
5254
tooltip.addLine((context, x, y, width, height, widgetTheme) -> {
5355
final int color = Color.GREY.darker(2);
5456
codechicken.lib.gui.GuiDraw.drawRect(x, y + 3, (int) TextRenderer.SHARED.getLastWidth(), 2, color);

src/main/java/gregtech/api/mui/widget/appeng/fluid/AEFluidDisplaySlot.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22

33
import gregtech.api.mui.sync.appeng.AEFluidSyncHandler;
44
import gregtech.api.mui.widget.appeng.AEDisplaySlot;
5+
import gregtech.api.util.FluidTooltipUtil;
56
import gregtech.api.util.KeyUtil;
67
import gregtech.api.util.TextFormattingUtil;
78
import gregtech.client.utils.RenderUtil;
89
import gregtech.common.metatileentities.multi.multiblockpart.appeng.stack.WrappedFluidStack;
910

11+
import net.minecraftforge.fluids.FluidStack;
12+
1013
import appeng.api.storage.data.IAEFluidStack;
1114
import com.cleanroommc.modularui.drawable.GuiDraw;
1215
import com.cleanroommc.modularui.screen.RichTooltip;
@@ -27,7 +30,10 @@ public AEFluidDisplaySlot(int index) {
2730
protected void buildTooltip(@NotNull RichTooltip tooltip) {
2831
WrappedFluidStack stock = (WrappedFluidStack) getSyncHandler().getStock(index);
2932
if (stock != null) {
30-
KeyUtil.fluidInfo(stock.getDefinition(), tooltip);
33+
FluidStack stack = stock.getDefinition();
34+
tooltip.addLine(KeyUtil.fluid(stack));
35+
FluidTooltipUtil.fluidInfo(stack, tooltip);
36+
tooltip.addLine(FluidTooltipUtil.getFluidModNameKey(stack));
3137
}
3238
}
3339

src/main/java/gregtech/api/mui/widget/appeng/fluid/AEFluidStackPreviewWidget.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package gregtech.api.mui.widget.appeng.fluid;
22

33
import gregtech.api.mui.widget.appeng.AEStackPreviewWidget;
4-
import gregtech.api.util.KeyUtil;
4+
import gregtech.api.util.FluidTooltipUtil;
55
import gregtech.common.metatileentities.multi.multiblockpart.appeng.stack.WrappedFluidStack;
66

77
import appeng.api.storage.data.IAEFluidStack;
@@ -21,7 +21,7 @@ public AEFluidStackPreviewWidget(@NotNull Supplier<IAEFluidStack> stackToDraw) {
2121
@Override
2222
protected void buildTooltip(@NotNull RichTooltip tooltip) {
2323
if (stackToDraw.get() instanceof WrappedFluidStack wrappedFluidStack) {
24-
KeyUtil.fluidInfo(wrappedFluidStack.getDefinition(), tooltip, false, true, false);
24+
FluidTooltipUtil.fluidInfo(wrappedFluidStack.getDefinition(), tooltip, false, true, false);
2525
}
2626
}
2727

src/main/java/gregtech/api/util/FluidTooltipUtil.java

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import net.minecraftforge.fluids.Fluid;
1212
import net.minecraftforge.fluids.FluidRegistry;
1313
import net.minecraftforge.fluids.FluidStack;
14+
import net.minecraftforge.fml.common.Loader;
15+
import net.minecraftforge.fml.common.ModContainer;
1416

1517
import com.cleanroommc.modularui.api.drawable.IKey;
1618
import com.cleanroommc.modularui.screen.RichTooltip;
@@ -133,6 +135,27 @@ public static Supplier<List<String>> createFluidTooltip(@Nullable Material mater
133135
};
134136
}
135137

138+
public static void fluidInfo(@Nullable FluidStack stack, @NotNull RichTooltip tooltip, boolean showAmount,
139+
boolean showTooltip, boolean showMolAmount) {
140+
if (stack == null) return;
141+
142+
if (showAmount) {
143+
tooltip.addLine(IKey.str("%,d L", stack.amount));
144+
}
145+
146+
if (showTooltip) {
147+
handleFluidTooltip(tooltip, stack);
148+
}
149+
150+
if (showMolAmount) {
151+
addIngotMolFluidTooltip(tooltip, stack);
152+
}
153+
}
154+
155+
public static void fluidInfo(@Nullable FluidStack stack, @NotNull RichTooltip tooltip) {
156+
fluidInfo(stack, tooltip, true, true, true);
157+
}
158+
136159
public static void addIngotMolFluidTooltip(@NotNull RichTooltip tooltip, @NotNull FluidStack fluidStack) {
137160
// Add tooltip showing how many "ingot moles" (increments of 144) this fluid is if shift is held
138161
if (TooltipHelper.isShiftDown() && fluidStack.amount > GTValues.L) {
@@ -142,7 +165,27 @@ public static void addIngotMolFluidTooltip(@NotNull RichTooltip tooltip, @NotNul
142165
if (extra != 0) {
143166
fluidAmount += String.format(" + %d L", extra);
144167
}
145-
tooltip.add(TextFormatting.GRAY + LocalizationUtils.format("gregtech.gui.amount_raw") + fluidAmount);
168+
tooltip.addLine(KeyUtil.lang(TextFormatting.GRAY, "gregtech.gui.amount_raw", fluidAmount));
146169
}
147170
}
171+
172+
public static @NotNull IKey getFluidModNameKey(@NotNull FluidStack fluidStack) {
173+
return IKey.str(getFluidModName(fluidStack.getFluid()));
174+
}
175+
176+
public static @NotNull String getFluidModName(@NotNull FluidStack fluidStack) {
177+
return getFluidModName(fluidStack.getFluid());
178+
}
179+
180+
public static @NotNull String getFluidModName(@NotNull Fluid fluid) {
181+
ModContainer modContainer = Loader.instance().getIndexedModList().get(getFluidModID(fluid));
182+
if (modContainer == null) throw new IllegalStateException(
183+
"Tried to get the mod name of a fluid that isn't registered to the Forge FluidRegistry");
184+
return "§9§o" + modContainer.getName() + "§r";
185+
}
186+
187+
public static @NotNull String getFluidModID(@NotNull Fluid fluid) {
188+
String fluidModName = FluidRegistry.getDefaultFluidName(fluid);
189+
return fluidModName.substring(0, fluidModName.indexOf(":"));
190+
}
148191
}

src/main/java/gregtech/api/util/KeyUtil.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import com.cleanroommc.modularui.api.drawable.IDrawable;
1111
import com.cleanroommc.modularui.api.drawable.IKey;
12-
import com.cleanroommc.modularui.screen.RichTooltip;
1312
import org.apache.commons.lang3.ArrayUtils;
1413
import org.jetbrains.annotations.NotNull;
1514
import org.jetbrains.annotations.Nullable;
@@ -146,27 +145,4 @@ public static IKey fluid(@Nullable Fluid fluid, @Nullable FluidStack stack) {
146145
if (stack == null) return IKey.lang(fluid.getUnlocalizedName());
147146
else return IKey.lang(fluid.getUnlocalizedName(stack));
148147
}
149-
150-
public static void fluidInfo(@Nullable FluidStack stack, @NotNull RichTooltip tooltip, boolean showAmount,
151-
boolean showTooltip, boolean showMolAmount) {
152-
if (stack == null) return;
153-
154-
tooltip.addLine(fluid(stack));
155-
156-
if (showAmount) {
157-
tooltip.addLine(IKey.str("%,d L", stack.amount));
158-
}
159-
160-
if (showTooltip) {
161-
FluidTooltipUtil.handleFluidTooltip(tooltip, stack);
162-
}
163-
164-
if (showMolAmount) {
165-
FluidTooltipUtil.addIngotMolFluidTooltip(tooltip, stack);
166-
}
167-
}
168-
169-
public static void fluidInfo(@Nullable FluidStack stack, @NotNull RichTooltip tooltip) {
170-
fluidInfo(stack, tooltip, true, true, true);
171-
}
172148
}

src/main/resources/assets/gregtech/lang/en_us.lang

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5639,7 +5639,7 @@ gregtech.fluid.state_plasma=§aState: Plasma
56395639
gregtech.fluid.type_acid.tooltip=§6Acidic! Handle with care!
56405640
gregtech.gui.fuel_amount=Fuel Amount:
56415641
gregtech.gui.fluid_amount=Fluid Amount:
5642-
gregtech.gui.amount_raw=Amount:
5642+
gregtech.gui.amount_raw=Amount: %s
56435643
gregtech.gui.toggle_view.disabled=Toggle View (Fluids)
56445644
gregtech.gui.toggle_view.enabled=Toggle View (Items)
56455645
gregtech.gui.overclock.enabled=Overclocking Enabled./nClick to Disable

src/main/resources/assets/gregtech/lang/ja_jp.lang

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5578,7 +5578,7 @@ gregtech.fluid.state_plasma=§a状態: プラズマ
55785578
gregtech.fluid.type_acid.tooltip=§6酸性! 取扱注意!
55795579
gregtech.gui.fuel_amount=燃料量:
55805580
gregtech.gui.fluid_amount=液体量:
5581-
gregtech.gui.amount_raw=液体量 (詳細):
5581+
gregtech.gui.amount_raw=液体量 (詳細): %s
55825582
gregtech.gui.toggle_view.disabled=液体スロット切り替え
55835583
gregtech.gui.toggle_view.enabled=アイテムスロット切り替え
55845584
gregtech.gui.overclock.enabled=オーバークロックが有効。/nクリックで無効化

src/main/resources/assets/gregtech/lang/ru_ru.lang

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4821,7 +4821,7 @@ gregtech.fluid.state_plasma=§7Состояние: Плазма
48214821
gregtech.fluid.type_acid.tooltip=§6Кислота! Соблюдайте осторожность!
48224822
gregtech.gui.fuel_amount=Кол. топлива:
48234823
gregtech.gui.fluid_amount=Кол. жидкости:
4824-
gregtech.gui.amount_raw=Кол-во:
4824+
gregtech.gui.amount_raw=Кол-во: %s
48254825
gregtech.gui.toggle_view.disabled=Переключить вид (Жидкости)
48264826
gregtech.gui.toggle_view.enabled=Переключить вид (Предметы)
48274827
gregtech.gui.overclock.enabled=Ускорение включено./nНажмите, чтобы отключить

0 commit comments

Comments
 (0)