1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
package bartworks.API.recipe;
import java.util.Arrays;
import java.util.List;
import javax.annotation.ParametersAreNonnullByDefault;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import com.gtnewhorizons.modularui.api.math.Alignment;
import bartworks.common.tileentities.multis.MTEBioVat;
import gregtech.api.recipe.BasicUIPropertiesBuilder;
import gregtech.api.recipe.NEIRecipePropertiesBuilder;
import gregtech.api.recipe.RecipeMapFrontend;
import gregtech.api.util.MethodsReturnNonnullByDefault;
import gregtech.nei.GTNEIDefaultHandler;
import gregtech.nei.RecipeDisplayInfo;
import gregtech.nei.formatter.INEISpecialInfoFormatter;
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
public class BacterialVatFrontend extends RecipeMapFrontend {
public BacterialVatFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
NEIRecipePropertiesBuilder neiPropertiesBuilder) {
super(
uiPropertiesBuilder,
neiPropertiesBuilder.neiSpecialInfoFormatter(new BacterialVatSpecialValueFormatter()));
}
@Override
protected List<String> handleNEIItemInputTooltip(List<String> currentTip,
GTNEIDefaultHandler.FixedPositionedStack pStack) {
if (pStack.isFluid()) {
currentTip.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("nei.biovat.input.tooltip"));
return currentTip;
}
return super.handleNEIItemInputTooltip(currentTip, pStack);
}
@Override
protected List<String> handleNEIItemOutputTooltip(List<String> currentTip,
GTNEIDefaultHandler.FixedPositionedStack pStack) {
if (pStack.isFluid()) {
currentTip.add(EnumChatFormatting.GRAY + StatCollector.translateToLocal("nei.biovat.output.tooltip"));
return currentTip;
}
return super.handleNEIItemOutputTooltip(currentTip, pStack);
}
@Override
protected void drawNEIOverlayForInput(GTNEIDefaultHandler.FixedPositionedStack stack) {
drawFluidOverlay(stack);
}
@Override
protected void drawNEIOverlayForOutput(GTNEIDefaultHandler.FixedPositionedStack stack) {
drawFluidOverlay(stack);
}
private void drawFluidOverlay(GTNEIDefaultHandler.FixedPositionedStack stack) {
if (stack.isFluid()) {
drawNEIOverlayText(
"+",
stack,
colorOverride.getTextColorOrDefault("nei_overlay_yellow", 0xFDD835),
0.5f,
true,
Alignment.TopRight);
return;
}
super.drawNEIOverlayForOutput(stack);
}
private static class BacterialVatSpecialValueFormatter implements INEISpecialInfoFormatter {
@Override
public List<String> format(RecipeDisplayInfo recipeInfo) {
int[] tSpecialA = MTEBioVat.specialValueUnpack(recipeInfo.recipe.mSpecialValue);
String glassTier = StatCollector.translateToLocalFormatted("nei.biovat.0.name", tSpecialA[0]);
String sievert;
if (tSpecialA[2] == 1) {
sievert = StatCollector.translateToLocalFormatted("nei.biovat.1.name", tSpecialA[3]);
} else {
sievert = StatCollector.translateToLocalFormatted("nei.biovat.2.name", tSpecialA[3]);
}
return Arrays.asList(glassTier, sievert);
}
}
}
|