More sprites!
|
@ -389,17 +389,4 @@ public class GuiBase<T extends ScreenHandler> extends HandledScreen<T> {
|
||||||
public static Sprite getSprite(SpriteIdentifier spriteIdentifier) {
|
public static Sprite getSprite(SpriteIdentifier spriteIdentifier) {
|
||||||
return GuiSpriteAtlasHolder.INSTANCE.getSprite(spriteIdentifier.getTextureId());
|
return GuiSpriteAtlasHolder.INSTANCE.getSprite(spriteIdentifier.getTextureId());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawSprite(DrawContext drawContext, SpriteIdentifier spriteIdentifier, int x, int y) {
|
|
||||||
final Sprite sprite = getSprite(spriteIdentifier);
|
|
||||||
|
|
||||||
drawContext.drawSprite(
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
0,
|
|
||||||
sprite.getContents().getWidth(),
|
|
||||||
sprite.getContents().getHeight(),
|
|
||||||
sprite
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,18 +40,19 @@ import net.minecraft.util.Formatting;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import reborncore.api.IListInfoProvider;
|
import reborncore.api.IListInfoProvider;
|
||||||
import reborncore.client.gui.config.GuiTab;
|
import reborncore.client.gui.config.GuiTab;
|
||||||
import reborncore.client.gui.config.elements.GuiSprites;
|
|
||||||
import reborncore.common.fluid.FluidUtils;
|
import reborncore.common.fluid.FluidUtils;
|
||||||
import reborncore.common.fluid.FluidValue;
|
import reborncore.common.fluid.FluidValue;
|
||||||
import reborncore.common.fluid.container.FluidInstance;
|
import reborncore.common.fluid.container.FluidInstance;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
import reborncore.common.powerSystem.PowerSystem;
|
||||||
import reborncore.common.powerSystem.PowerSystem.EnergySystem;
|
|
||||||
import reborncore.common.util.StringUtils;
|
import reborncore.common.util.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static reborncore.client.gui.GuiSprites.drawSprite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Gigabit101 on 08/08/2016.
|
* Created by Gigabit101 on 08/08/2016.
|
||||||
*/
|
*/
|
||||||
|
@ -67,19 +68,6 @@ public class GuiBuilder {
|
||||||
height / 2);
|
height / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawSprite(DrawContext drawContext, SpriteIdentifier spriteIdentifier, int x, int y) {
|
|
||||||
final Sprite sprite = GuiBase.getSprite(spriteIdentifier);
|
|
||||||
|
|
||||||
drawContext.drawSprite(
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
0,
|
|
||||||
sprite.getContents().getWidth(),
|
|
||||||
sprite.getContents().getHeight(),
|
|
||||||
sprite
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void drawPlayerSlots(DrawContext drawContext, Screen gui, int posX, int posY, boolean center) {
|
public void drawPlayerSlots(DrawContext drawContext, Screen gui, int posX, int posY, boolean center) {
|
||||||
if (center) {
|
if (center) {
|
||||||
posX -= 81;
|
posX -= 81;
|
||||||
|
@ -420,7 +408,7 @@ public class GuiBuilder {
|
||||||
if (gui.hideGuiElements()) return;
|
if (gui.hideGuiElements()) return;
|
||||||
Text text = Text.literal(PowerSystem.getLocalizedPowerNoSuffix(maxOutput))
|
Text text = Text.literal(PowerSystem.getLocalizedPowerNoSuffix(maxOutput))
|
||||||
.append(SPACE_TEXT)
|
.append(SPACE_TEXT)
|
||||||
.append(PowerSystem.getDisplayPower().abbreviation)
|
.append(PowerSystem.ABBREVIATION)
|
||||||
.append("\t");
|
.append("\t");
|
||||||
|
|
||||||
int width = gui.getTextRenderer().getWidth(text);
|
int width = gui.getTextRenderer().getWidth(text);
|
||||||
|
@ -452,30 +440,20 @@ public class GuiBuilder {
|
||||||
y += gui.getGuiTop();
|
y += gui.getGuiTop();
|
||||||
}
|
}
|
||||||
|
|
||||||
drawContext.drawTexture(resourceLocation, x, y, direction.x, direction.y, direction.width, direction.height);
|
drawSprite(drawContext, direction.baseSprite, x, y);
|
||||||
int j = (int) ((double) progress / (double) maxProgress * 16);
|
int j = (int) ((double) progress / (double) maxProgress * 16);
|
||||||
if (j < 0) {
|
if (j < 0) {
|
||||||
j = 0;
|
j = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
case RIGHT:
|
case RIGHT, LEFT -> drawSprite(drawContext, direction.overlaySprite, x, y, j, 10, gui);
|
||||||
drawContext.drawTexture(resourceLocation, x, y, direction.xActive, direction.yActive, j, 10);
|
case UP, DOWN -> drawSprite(drawContext, direction.overlaySprite, x, y, 10, j, gui);
|
||||||
break;
|
|
||||||
case LEFT:
|
|
||||||
drawContext.drawTexture(resourceLocation, x + 16 - j, y, direction.xActive + 16 - j, direction.yActive, j, 10);
|
|
||||||
break;
|
|
||||||
case UP:
|
|
||||||
drawContext.drawTexture(resourceLocation, x, y + 16 - j, direction.xActive, direction.yActive + 16 - j, 10, j);
|
|
||||||
break;
|
|
||||||
case DOWN:
|
|
||||||
drawContext.drawTexture(resourceLocation, x, y, direction.xActive, direction.yActive, 10, j);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gui.isPointInRect(x, y, direction.width, direction.height, mouseX, mouseY)) {
|
final Sprite sprite = GuiBase.getSprite(direction.baseSprite);
|
||||||
|
|
||||||
|
if (gui.isPointInRect(x, y, sprite.getContents().getWidth(), sprite.getContents().getHeight(), mouseX, mouseY)) {
|
||||||
int percentage = percentage(maxProgress, progress);
|
int percentage = percentage(maxProgress, progress);
|
||||||
List<Text> list = new ArrayList<>();
|
List<Text> list = new ArrayList<>();
|
||||||
list.add(
|
list.add(
|
||||||
|
@ -512,13 +490,15 @@ public class GuiBuilder {
|
||||||
y += gui.getGuiTop();
|
y += gui.getGuiTop();
|
||||||
}
|
}
|
||||||
|
|
||||||
EnergySystem displayPower = PowerSystem.getDisplayPower();
|
drawSprite(drawContext, GuiSprites.POWER_BAR_BASE, x, y);
|
||||||
drawContext.drawTexture(resourceLocation, x, y, displayPower.xBar - 15, displayPower.yBar - 1, 14, 50);
|
|
||||||
int draw = (int) ((double) energyStored / (double) maxEnergyStored * (48));
|
int barHeight = 48;
|
||||||
|
int draw = (int) ((double) energyStored / (double) maxEnergyStored * (barHeight));
|
||||||
if (energyStored > maxEnergyStored) {
|
if (energyStored > maxEnergyStored) {
|
||||||
draw = 48;
|
draw = barHeight;
|
||||||
}
|
}
|
||||||
drawContext.drawTexture(resourceLocation, x + 1, y + 49 - draw, displayPower.xBar, 48 + displayPower.yBar - draw, 12, draw);
|
drawSprite(drawContext, GuiSprites.POWER_BAR_OVERLAY, x + 1, y + 49 - draw, 12, draw, gui);
|
||||||
|
|
||||||
int percentage = percentage(maxEnergyStored, energyStored);
|
int percentage = percentage(maxEnergyStored, energyStored);
|
||||||
if (gui.isPointInRect(x + 1, y + 1, 11, 48, mouseX, mouseY)) {
|
if (gui.isPointInRect(x + 1, y + 1, 11, 48, mouseX, mouseY)) {
|
||||||
List<Text> list = Lists.newArrayList();
|
List<Text> list = Lists.newArrayList();
|
||||||
|
@ -729,24 +709,17 @@ public class GuiBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ProgressDirection {
|
public enum ProgressDirection {
|
||||||
RIGHT(58, 150, 74, 150, 16, 10),
|
RIGHT,
|
||||||
LEFT(74, 160, 58, 160, 16, 10),
|
LEFT,
|
||||||
DOWN(78, 170, 88, 170, 10, 16),
|
DOWN,
|
||||||
UP(58, 170, 68, 170, 10, 16);
|
UP;
|
||||||
public int x;
|
|
||||||
public int y;
|
|
||||||
public int xActive;
|
|
||||||
public int yActive;
|
|
||||||
public int width;
|
|
||||||
public int height;
|
|
||||||
|
|
||||||
ProgressDirection(int x, int y, int xActive, int yActive, int width, int height) {
|
public final SpriteIdentifier baseSprite;
|
||||||
this.x = x;
|
public final SpriteIdentifier overlaySprite;
|
||||||
this.y = y;
|
|
||||||
this.xActive = xActive;
|
ProgressDirection() {
|
||||||
this.yActive = yActive;
|
baseSprite = GuiSprites.create("progress_%s_base".formatted(name().toLowerCase(Locale.ROOT)));
|
||||||
this.width = width;
|
overlaySprite = GuiSprites.create("progress_%s_overlay".formatted(name().toLowerCase(Locale.ROOT)));
|
||||||
this.height = height;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,10 +22,15 @@
|
||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package reborncore.client.gui.config.elements;
|
package reborncore.client.gui;
|
||||||
|
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.client.texture.Sprite;
|
||||||
|
import net.minecraft.client.texture.SpriteAtlasHolder;
|
||||||
import net.minecraft.client.util.SpriteIdentifier;
|
import net.minecraft.client.util.SpriteIdentifier;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
import reborncore.client.gui.config.elements.GuiSpriteAtlasHolder;
|
||||||
|
|
||||||
public final class GuiSprites {
|
public final class GuiSprites {
|
||||||
public static final SpriteIdentifier CHARGE_SLOT_ICON = create("charge_slot_icon");
|
public static final SpriteIdentifier CHARGE_SLOT_ICON = create("charge_slot_icon");
|
||||||
|
@ -62,6 +67,8 @@ public final class GuiSprites {
|
||||||
public static final SpriteIdentifier SLOT_BAR_RIGHT = create("slot_bar_right");
|
public static final SpriteIdentifier SLOT_BAR_RIGHT = create("slot_bar_right");
|
||||||
public static final SpriteIdentifier SLOT_BAR_CENTER = create("slot_bar_center");
|
public static final SpriteIdentifier SLOT_BAR_CENTER = create("slot_bar_center");
|
||||||
public static final SpriteIdentifier SLOT_BAR_LEFT = create("slot_bar_left");
|
public static final SpriteIdentifier SLOT_BAR_LEFT = create("slot_bar_left");
|
||||||
|
public static final SpriteIdentifier POWER_BAR_BASE = create("power_bar_base");
|
||||||
|
public static final SpriteIdentifier POWER_BAR_OVERLAY = create("power_bar_overlay");
|
||||||
|
|
||||||
public static final SpriteIdentifier EXIT_BUTTON_NORMAL = create("exit_button_normal");
|
public static final SpriteIdentifier EXIT_BUTTON_NORMAL = create("exit_button_normal");
|
||||||
public static final SpriteIdentifier EXIT_BUTTON_HOVERED = create("exit_button_hovered");
|
public static final SpriteIdentifier EXIT_BUTTON_HOVERED = create("exit_button_hovered");
|
||||||
|
@ -75,13 +82,45 @@ public final class GuiSprites {
|
||||||
public static final SpriteIdentifier LIGHT_CHECK_BOX_TICKED = create("light_check_box_ticked");
|
public static final SpriteIdentifier LIGHT_CHECK_BOX_TICKED = create("light_check_box_ticked");
|
||||||
public static final CheckBox LIGHT_CHECK_BOX = new CheckBox(LIGHT_CHECK_BOX_NORMAL, LIGHT_CHECK_BOX_TICKED);
|
public static final CheckBox LIGHT_CHECK_BOX = new CheckBox(LIGHT_CHECK_BOX_NORMAL, LIGHT_CHECK_BOX_TICKED);
|
||||||
|
|
||||||
private static SpriteIdentifier create(String name) {
|
public static SpriteIdentifier create(String name) {
|
||||||
return new SpriteIdentifier(GuiSpriteAtlasHolder.ATLAS_ID, new Identifier("reborncore", name));
|
return new SpriteIdentifier(GuiSpriteAtlasHolder.ATLAS_ID, new Identifier("reborncore", name));
|
||||||
}
|
}
|
||||||
|
|
||||||
record Button(SpriteIdentifier normal, SpriteIdentifier hovered) {
|
public static void drawSprite(DrawContext drawContext, SpriteIdentifier spriteIdentifier, int x, int y) {
|
||||||
|
final Sprite sprite = GuiBase.getSprite(spriteIdentifier);
|
||||||
|
|
||||||
|
drawContext.drawSprite(
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
0,
|
||||||
|
sprite.getContents().getWidth(),
|
||||||
|
sprite.getContents().getHeight(),
|
||||||
|
sprite
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
record CheckBox(SpriteIdentifier normal, SpriteIdentifier ticked) {
|
public static void drawSprite(DrawContext drawContext, SpriteIdentifier spriteIdentifier, int x, int y, int width, int height) {
|
||||||
|
drawSprite(drawContext, spriteIdentifier, x, y, width, height, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void drawSprite(DrawContext drawContext, SpriteIdentifier spriteIdentifier, int x, int y, int width, int height, GuiBase<?> gui) {
|
||||||
|
drawSprite(drawContext, spriteIdentifier, x, y, width, height, gui.getGuiLeft(), gui.getGuiTop());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void drawSprite(DrawContext drawContext, SpriteIdentifier spriteIdentifier, int x, int y, int width, int height, int sx, int sy) {
|
||||||
|
drawContext.enableScissor(x + sx, y + sy, x + width+ sx, y + height+ sy);
|
||||||
|
drawSprite(
|
||||||
|
drawContext,
|
||||||
|
spriteIdentifier,
|
||||||
|
x,
|
||||||
|
y
|
||||||
|
);
|
||||||
|
drawContext.disableScissor();
|
||||||
|
}
|
||||||
|
|
||||||
|
public record Button(SpriteIdentifier normal, SpriteIdentifier hovered) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public record CheckBox(SpriteIdentifier normal, SpriteIdentifier ticked) {
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -26,6 +26,7 @@ package reborncore.client.gui.config.elements;
|
||||||
|
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
|
|
||||||
public class ButtonElement extends ElementBase {
|
public class ButtonElement extends ElementBase {
|
||||||
private final GuiSprites.Button buttonSprite;
|
private final GuiSprites.Button buttonSprite;
|
||||||
|
|
|
@ -28,6 +28,7 @@ import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.util.SpriteIdentifier;
|
import net.minecraft.client.util.SpriteIdentifier;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ package reborncore.client.gui.config.elements;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
|
|
||||||
public class ConfigFluidElement extends ParentElement {
|
public class ConfigFluidElement extends ParentElement {
|
||||||
private final SlotType type;
|
private final SlotType type;
|
||||||
|
|
|
@ -29,6 +29,7 @@ import net.minecraft.inventory.Inventory;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
import reborncore.common.blockentity.SlotConfiguration;
|
import reborncore.common.blockentity.SlotConfiguration;
|
||||||
import reborncore.common.screen.slot.BaseSlot;
|
import reborncore.common.screen.slot.BaseSlot;
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ import net.minecraft.client.util.SpriteIdentifier;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
import reborncore.client.gui.GuiBuilder;
|
import reborncore.client.gui.GuiBuilder;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
|
|
||||||
public class ElementBase {
|
public class ElementBase {
|
||||||
private final int x;
|
private final int x;
|
||||||
|
@ -93,7 +94,7 @@ public class ElementBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawSprite(DrawContext drawContext, GuiBase<?> gui, SpriteIdentifier spriteIdentifier, int x, int y) {
|
public void drawSprite(DrawContext drawContext, GuiBase<?> gui, SpriteIdentifier spriteIdentifier, int x, int y) {
|
||||||
gui.drawSprite(drawContext, spriteIdentifier, x + gui.getGuiLeft(), y + gui.getGuiTop());
|
GuiSprites.drawSprite(drawContext, spriteIdentifier, x + gui.getGuiLeft(), y + gui.getGuiTop());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawDefaultBackground(DrawContext drawContext, Screen gui, int x, int y, int width, int height) {
|
public void drawDefaultBackground(DrawContext drawContext, Screen gui, int x, int y, int width, int height) {
|
||||||
|
|
|
@ -29,6 +29,7 @@ import net.minecraft.util.math.Direction;
|
||||||
import reborncore.RebornCore;
|
import reborncore.RebornCore;
|
||||||
import reborncore.client.ClientNetworkManager;
|
import reborncore.client.ClientNetworkManager;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
import reborncore.common.blockentity.FluidConfiguration;
|
import reborncore.common.blockentity.FluidConfiguration;
|
||||||
import reborncore.common.network.IdentifiedPacket;
|
import reborncore.common.network.IdentifiedPacket;
|
||||||
import reborncore.common.network.ServerBoundPackets;
|
import reborncore.common.network.ServerBoundPackets;
|
||||||
|
|
|
@ -29,6 +29,7 @@ import net.minecraft.util.math.Direction;
|
||||||
import reborncore.RebornCore;
|
import reborncore.RebornCore;
|
||||||
import reborncore.client.ClientNetworkManager;
|
import reborncore.client.ClientNetworkManager;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
import reborncore.common.blockentity.SlotConfiguration;
|
import reborncore.common.blockentity.SlotConfiguration;
|
||||||
import reborncore.common.network.IdentifiedPacket;
|
import reborncore.common.network.IdentifiedPacket;
|
||||||
import reborncore.common.network.ServerBoundPackets;
|
import reborncore.common.network.ServerBoundPackets;
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
package reborncore.client.gui.config.elements;
|
package reborncore.client.gui.config.elements;
|
||||||
|
|
||||||
import net.minecraft.client.util.SpriteIdentifier;
|
import net.minecraft.client.util.SpriteIdentifier;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
|
|
||||||
public enum SlotType {
|
public enum SlotType {
|
||||||
NORMAL(1, 1, GuiSprites.SLOT, GuiSprites.BUTTON_SLOT_NORMAL, GuiSprites.BUTTON_HOVER_OVERLAY_SLOT_NORMAL);
|
NORMAL(1, 1, GuiSprites.SLOT, GuiSprites.BUTTON_SLOT_NORMAL, GuiSprites.BUTTON_HOVER_OVERLAY_SLOT_NORMAL);
|
||||||
|
|
|
@ -29,7 +29,9 @@ import net.minecraft.client.gui.widget.ButtonWidget;
|
||||||
import net.minecraft.client.util.SpriteIdentifier;
|
import net.minecraft.client.util.SpriteIdentifier;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
import reborncore.client.gui.config.elements.GuiSprites;
|
import reborncore.client.gui.GuiSprites;
|
||||||
|
|
||||||
|
import static reborncore.client.gui.GuiSprites.drawSprite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author drcrazy
|
* @author drcrazy
|
||||||
|
@ -47,7 +49,7 @@ public class GuiButtonUpDown extends GuiButtonExtended {
|
||||||
@Override
|
@Override
|
||||||
public void renderButton(DrawContext drawContext, int mouseX, int mouseY, float partialTicks) {
|
public void renderButton(DrawContext drawContext, int mouseX, int mouseY, float partialTicks) {
|
||||||
if (gui.hideGuiElements()) return;
|
if (gui.hideGuiElements()) return;
|
||||||
gui.drawSprite(drawContext, type.spriteIdentifier, getX(), getY());
|
drawSprite(drawContext, type.spriteIdentifier, getX(), getY());
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum UpDownButtonType {
|
public enum UpDownButtonType {
|
||||||
|
|
|
@ -71,7 +71,6 @@ public class RebornCore implements ModInitializer {
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
new Configuration(RebornCoreConfig.class, MOD_ID);
|
new Configuration(RebornCoreConfig.class, MOD_ID);
|
||||||
PowerSystem.init();
|
|
||||||
CalenderUtils.loadCalender(); // Done early as some features need this
|
CalenderUtils.loadCalender(); // Done early as some features need this
|
||||||
|
|
||||||
ToolManager.INSTANCE.customToolHandlerList.add(new GenericWrenchHelper(new Identifier("ic2:wrench"), true));
|
ToolManager.INSTANCE.customToolHandlerList.add(new GenericWrenchHelper(new Identifier("ic2:wrench"), true));
|
||||||
|
|
|
@ -25,20 +25,17 @@
|
||||||
package reborncore.common.powerSystem;
|
package reborncore.common.powerSystem;
|
||||||
|
|
||||||
import reborncore.RebornCore;
|
import reborncore.RebornCore;
|
||||||
import reborncore.common.RebornCoreConfig;
|
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
|
|
||||||
public class PowerSystem {
|
public class PowerSystem {
|
||||||
private static EnergySystem selectedSystem = EnergySystem.values()[0];
|
public static final String ABBREVIATION = "E";
|
||||||
|
|
||||||
private static final char[] magnitude = new char[] { 'k', 'M', 'G', 'T' };
|
private static final char[] magnitude = new char[] { 'k', 'M', 'G', 'T' };
|
||||||
|
|
||||||
public static String getLocalizedPower(double power) {
|
public static String getLocalizedPower(double power) {
|
||||||
|
|
||||||
return getRoundedString(power, selectedSystem.abbreviation, true);
|
return getRoundedString(power, ABBREVIATION, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getLocalizedPowerNoSuffix(double power) {
|
public static String getLocalizedPowerNoSuffix(double power) {
|
||||||
|
@ -46,7 +43,7 @@ public class PowerSystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getLocalizedPowerNoFormat(double power){
|
public static String getLocalizedPowerNoFormat(double power){
|
||||||
return getRoundedString(power, selectedSystem.abbreviation, false);
|
return getRoundedString(power, ABBREVIATION, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getLocalizedPowerNoSuffixNoFormat(double power){
|
public static String getLocalizedPowerNoSuffixNoFormat(double power){
|
||||||
|
@ -54,7 +51,7 @@ public class PowerSystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getLocalizedPowerFull(double power){
|
public static String getLocalizedPowerFull(double power){
|
||||||
return getFullPower(power, selectedSystem.abbreviation);
|
return getFullPower(power, ABBREVIATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getLocalizedPowerFullNoSuffix(double power){
|
public static String getLocalizedPowerFullNoSuffix(double power){
|
||||||
|
@ -131,45 +128,4 @@ public class PowerSystem {
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static EnergySystem getDisplayPower() {
|
|
||||||
if(!selectedSystem.enabled.get()){
|
|
||||||
bumpPowerConfig();
|
|
||||||
}
|
|
||||||
return selectedSystem;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void bumpPowerConfig() {
|
|
||||||
int value = selectedSystem.ordinal() + 1;
|
|
||||||
if (value == EnergySystem.values().length) {
|
|
||||||
value = 0;
|
|
||||||
}
|
|
||||||
selectedSystem = EnergySystem.values()[value];
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void init(){
|
|
||||||
selectedSystem = Arrays.stream(EnergySystem.values()).filter(energySystem -> energySystem.abbreviation.equalsIgnoreCase(RebornCoreConfig.selectedSystem)).findFirst().orElse(EnergySystem.values()[0]);
|
|
||||||
if(!selectedSystem.enabled.get()){
|
|
||||||
bumpPowerConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum EnergySystem {
|
|
||||||
EU(0xFF800600, "E", 141, 151, 0xFF670000);
|
|
||||||
|
|
||||||
public int colour;
|
|
||||||
public int altColour;
|
|
||||||
public String abbreviation;
|
|
||||||
public int xBar;
|
|
||||||
public int yBar;
|
|
||||||
public Supplier<Boolean> enabled = () -> true;
|
|
||||||
|
|
||||||
EnergySystem(int colour, String abbreviation, int xBar, int yBar, int altColour) {
|
|
||||||
this.colour = colour;
|
|
||||||
this.abbreviation = abbreviation;
|
|
||||||
this.xBar = xBar;
|
|
||||||
this.yBar = yBar;
|
|
||||||
this.altColour = altColour;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
After Width: | Height: | Size: 670 B |
After Width: | Height: | Size: 831 B |
After Width: | Height: | Size: 119 B |
After Width: | Height: | Size: 316 B |
After Width: | Height: | Size: 94 B |
After Width: | Height: | Size: 305 B |
After Width: | Height: | Size: 92 B |
After Width: | Height: | Size: 302 B |
After Width: | Height: | Size: 121 B |
After Width: | Height: | Size: 316 B |
|
@ -24,7 +24,6 @@
|
||||||
|
|
||||||
package techreborn.client.compat.rei;
|
package techreborn.client.compat.rei;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
|
||||||
import dev.architectury.event.CompoundEventResult;
|
import dev.architectury.event.CompoundEventResult;
|
||||||
import dev.architectury.fluid.FluidStack;
|
import dev.architectury.fluid.FluidStack;
|
||||||
import me.shedaniel.math.Rectangle;
|
import me.shedaniel.math.Rectangle;
|
||||||
|
@ -54,20 +53,19 @@ import net.minecraft.client.texture.Sprite;
|
||||||
import net.minecraft.fluid.Fluid;
|
import net.minecraft.fluid.Fluid;
|
||||||
import net.minecraft.item.ItemConvertible;
|
import net.minecraft.item.ItemConvertible;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.screen.PlayerScreenHandler;
|
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import reborncore.api.blockentity.IUpgradeable;
|
import reborncore.api.blockentity.IUpgradeable;
|
||||||
import reborncore.client.gui.GuiBase;
|
import reborncore.client.gui.GuiBase;
|
||||||
import reborncore.client.gui.config.GuiTab;
|
|
||||||
import reborncore.client.gui.GuiBuilder;
|
import reborncore.client.gui.GuiBuilder;
|
||||||
|
import reborncore.client.gui.GuiSprites;
|
||||||
|
import reborncore.client.gui.config.GuiTab;
|
||||||
import reborncore.common.crafting.RebornRecipe;
|
import reborncore.common.crafting.RebornRecipe;
|
||||||
import reborncore.common.crafting.RebornRecipeType;
|
import reborncore.common.crafting.RebornRecipeType;
|
||||||
import reborncore.common.crafting.RecipeManager;
|
import reborncore.common.crafting.RecipeManager;
|
||||||
import reborncore.common.fluid.container.ItemFluidInfo;
|
import reborncore.common.fluid.container.ItemFluidInfo;
|
||||||
import reborncore.common.powerSystem.PowerSystem;
|
|
||||||
import techreborn.TechReborn;
|
import techreborn.TechReborn;
|
||||||
import techreborn.api.generator.EFluidGenerator;
|
import techreborn.api.generator.EFluidGenerator;
|
||||||
import techreborn.api.generator.GeneratorRecipeHelper;
|
import techreborn.api.generator.GeneratorRecipeHelper;
|
||||||
|
@ -91,6 +89,8 @@ import java.util.Map;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import static reborncore.client.gui.GuiSprites.drawSprite;
|
||||||
|
|
||||||
public class ReiPlugin implements REIClientPlugin {
|
public class ReiPlugin implements REIClientPlugin {
|
||||||
public static final Map<RebornRecipeType<?>, ItemConvertible> iconMap = new HashMap<>();
|
public static final Map<RebornRecipeType<?>, ItemConvertible> iconMap = new HashMap<>();
|
||||||
|
|
||||||
|
@ -270,17 +270,15 @@ public class ReiPlugin implements REIClientPlugin {
|
||||||
|
|
||||||
public static Widget createProgressBar(int x, int y, double animationDuration, GuiBuilder.ProgressDirection direction) {
|
public static Widget createProgressBar(int x, int y, double animationDuration, GuiBuilder.ProgressDirection direction) {
|
||||||
return Widgets.createDrawableWidget((drawContext, mouseX, mouseY, delta) -> {
|
return Widgets.createDrawableWidget((drawContext, mouseX, mouseY, delta) -> {
|
||||||
drawContext.drawTexture(GuiBuilder.resourceLocation, x, y, direction.x, direction.y, direction.width, direction.height);
|
drawSprite(drawContext, direction.baseSprite, x, y);
|
||||||
int j = (int) ((System.currentTimeMillis() / animationDuration) % 1.0 * 16.0);
|
int j = (int) ((System.currentTimeMillis() / animationDuration) % 1.0 * 16.0);
|
||||||
if (j < 0) {
|
if (j < 0) {
|
||||||
j = 0;
|
j = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (direction) {
|
switch (direction) {
|
||||||
case RIGHT -> drawContext.drawTexture(GuiBuilder.resourceLocation, x, y, direction.xActive, direction.yActive, j, 10);
|
case RIGHT, LEFT -> drawSprite(drawContext, direction.overlaySprite, x, y, j, 10);
|
||||||
case LEFT -> drawContext.drawTexture(GuiBuilder.resourceLocation, x + 16 - j, y, direction.xActive + 16 - j, direction.yActive, j, 10);
|
case UP, DOWN -> drawSprite(drawContext, direction.overlaySprite, x, y, 10, j);
|
||||||
case UP -> drawContext.drawTexture(GuiBuilder.resourceLocation, x, y + 16 - j, direction.xActive, direction.yActive + 16 - j, 10, j);
|
|
||||||
case DOWN -> drawContext.drawTexture(GuiBuilder.resourceLocation, x, y, direction.xActive, direction.yActive, 10, j);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -297,105 +295,87 @@ public class ReiPlugin implements REIClientPlugin {
|
||||||
return Widgets.createSlot(bounds).entry(copy);
|
return Widgets.createSlot(bounds).entry(copy);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class EnergyEntryRenderer implements Renderer {
|
private record EnergyEntryRenderer(EntryAnimation animation, Function<TooltipContext, Tooltip> tooltipBuilder) implements Renderer {
|
||||||
private final EntryAnimation animation;
|
|
||||||
private final Function<TooltipContext, Tooltip> tooltipBuilder;
|
|
||||||
|
|
||||||
protected EnergyEntryRenderer(EntryAnimation animation, Function<TooltipContext, Tooltip> tooltipBuilder) {
|
|
||||||
this.animation = animation;
|
|
||||||
this.tooltipBuilder = tooltipBuilder;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(DrawContext drawContext, Rectangle bounds, int mouseX, int mouseY, float delta) {
|
public void render(DrawContext drawContext, Rectangle bounds, int mouseX, int mouseY, float delta) {
|
||||||
int width = bounds.width + 2;
|
int width = bounds.width + 2;
|
||||||
int height = bounds.height + 2;
|
int height = bounds.height + 2;
|
||||||
int innerHeight = height - 2;
|
int innerHeight = height - 2;
|
||||||
|
|
||||||
PowerSystem.EnergySystem displayPower = PowerSystem.getDisplayPower();
|
drawSprite(drawContext, GuiSprites.POWER_BAR_BASE, bounds.x - 1, bounds.y - 1);
|
||||||
drawContext.drawTexture(GuiBuilder.resourceLocation, bounds.x - 1, bounds.y - 1, displayPower.xBar - 15, displayPower.yBar - 1, width, height);
|
int innerDisplayHeight;
|
||||||
int innerDisplayHeight;
|
if (animation.animationType != EntryAnimationType.NONE) {
|
||||||
if (animation.animationType != EntryAnimationType.NONE) {
|
innerDisplayHeight = MathHelper.ceil((System.currentTimeMillis() / (animation.duration / (float) innerHeight) % innerHeight));
|
||||||
innerDisplayHeight = MathHelper.ceil((System.currentTimeMillis() / (animation.duration / (float) innerHeight) % innerHeight));
|
if (animation.animationType == EntryAnimationType.DOWNWARDS)
|
||||||
if (animation.animationType == EntryAnimationType.DOWNWARDS)
|
innerDisplayHeight = innerHeight - innerDisplayHeight;
|
||||||
innerDisplayHeight = innerHeight - innerDisplayHeight;
|
} else innerDisplayHeight = innerHeight;
|
||||||
} else innerDisplayHeight = innerHeight;
|
drawSprite(drawContext, GuiSprites.POWER_BAR_OVERLAY, bounds.x, bounds.y + innerHeight - innerDisplayHeight, width - 2, innerDisplayHeight);
|
||||||
drawContext.drawTexture(GuiBuilder.resourceLocation, bounds.x, bounds.y + innerHeight - innerDisplayHeight, displayPower.xBar, innerHeight + displayPower.yBar - innerDisplayHeight, width - 2, innerDisplayHeight);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Nullable
|
|
||||||
public Tooltip getTooltip(TooltipContext context) {
|
|
||||||
return this.tooltipBuilder.apply(context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class FluidStackRenderer implements EntryRenderer<FluidStack> {
|
|
||||||
private final EntryAnimation animation;
|
|
||||||
private final EntryRenderer<FluidStack> parent;
|
|
||||||
|
|
||||||
public FluidStackRenderer(EntryAnimation animation, EntryRenderer<FluidStack> parent) {
|
|
||||||
this.animation = animation;
|
|
||||||
this.parent = parent;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(EntryStack<FluidStack> entry, DrawContext drawContext, Rectangle bounds, int mouseX, int mouseY, float delta) {
|
|
||||||
int width = bounds.width;
|
|
||||||
int height = bounds.height;
|
|
||||||
|
|
||||||
drawContext.drawTexture(GuiBuilder.resourceLocation, bounds.x - 4, bounds.y - 4, 194, 26, width + 8, height + 8);
|
|
||||||
drawContext.drawTexture(GuiBuilder.resourceLocation, bounds.x - 1, bounds.y - 1, 194, 82, width + 2, height + 2);
|
|
||||||
int innerDisplayHeight;
|
|
||||||
if (animation.animationType != EntryAnimationType.NONE) {
|
|
||||||
innerDisplayHeight = MathHelper.ceil((System.currentTimeMillis() / (animation.duration / (float) height) % height));
|
|
||||||
if (animation.animationType == EntryAnimationType.DOWNWARDS)
|
|
||||||
innerDisplayHeight = height - innerDisplayHeight;
|
|
||||||
} else innerDisplayHeight = height;
|
|
||||||
drawFluid(drawContext, entry.getValue().getFluid(), innerDisplayHeight, bounds.x, bounds.y, width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void drawFluid(DrawContext drawContext, Fluid fluid, int drawHeight, int x, int y, int width, int height) {
|
|
||||||
RenderSystem.setShaderTexture(0, PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
|
|
||||||
y += height;
|
|
||||||
|
|
||||||
FluidRenderHandler handler = FluidRenderHandlerRegistry.INSTANCE.get(fluid);
|
|
||||||
|
|
||||||
// If registry can't find it, don't render.
|
|
||||||
if (handler == null) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final Sprite sprite = handler.getFluidSprites(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState())[0];
|
@Override
|
||||||
int color = FluidRenderHandlerRegistry.INSTANCE.get(fluid).getFluidColor(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState());
|
@Nullable
|
||||||
|
public Tooltip getTooltip(TooltipContext context) {
|
||||||
|
return this.tooltipBuilder.apply(context);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
final int iconHeight = sprite.getContents().getHeight();
|
private record FluidStackRenderer(EntryAnimation animation, EntryRenderer<FluidStack> parent) implements EntryRenderer<FluidStack> {
|
||||||
int offsetHeight = drawHeight;
|
@Override
|
||||||
|
public void render(EntryStack<FluidStack> entry, DrawContext drawContext, Rectangle bounds, int mouseX, int mouseY, float delta) {
|
||||||
|
int width = bounds.width;
|
||||||
|
int height = bounds.height;
|
||||||
|
|
||||||
RenderSystem.setShaderColor((color >> 16 & 255) / 255.0F, (float) (color >> 8 & 255) / 255.0F, (float) (color & 255) / 255.0F, 1F);
|
drawSprite(drawContext, GuiSprites.TANK_BACKGROUND, bounds.x - 4, bounds.y - 4);
|
||||||
|
int innerDisplayHeight;
|
||||||
|
if (animation.animationType != EntryAnimationType.NONE) {
|
||||||
|
innerDisplayHeight = MathHelper.ceil((System.currentTimeMillis() / (animation.duration / (float) height) % height));
|
||||||
|
if (animation.animationType == EntryAnimationType.DOWNWARDS)
|
||||||
|
innerDisplayHeight = height - innerDisplayHeight;
|
||||||
|
} else innerDisplayHeight = height;
|
||||||
|
drawFluid(drawContext, entry.getValue().getFluid(), innerDisplayHeight, bounds.x, bounds.y, width, height);
|
||||||
|
drawSprite(drawContext, GuiSprites.TANK_FOREGROUND, bounds.x - 1, bounds.y - 1);
|
||||||
|
}
|
||||||
|
|
||||||
int iteration = 0;
|
public void drawFluid(DrawContext drawContext, Fluid fluid, int drawHeight, int x, int y, int width, int height) {
|
||||||
while (offsetHeight != 0) {
|
y += height;
|
||||||
final int curHeight = Math.min(offsetHeight, iconHeight);
|
|
||||||
|
|
||||||
drawContext.drawSprite(x, y - offsetHeight, 0, width, curHeight, sprite);
|
FluidRenderHandler handler = FluidRenderHandlerRegistry.INSTANCE.get(fluid);
|
||||||
offsetHeight -= curHeight;
|
|
||||||
iteration++;
|
// If registry can't find it, don't render.
|
||||||
if (iteration > 50) {
|
if (handler == null) {
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Sprite sprite = handler.getFluidSprites(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState())[0];
|
||||||
|
int color = FluidRenderHandlerRegistry.INSTANCE.get(fluid).getFluidColor(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState());
|
||||||
|
|
||||||
|
final int iconHeight = sprite.getContents().getHeight();
|
||||||
|
int offsetHeight = drawHeight;
|
||||||
|
|
||||||
|
drawContext.setShaderColor((color >> 16 & 255) / 255.0F, (float) (color >> 8 & 255) / 255.0F, (float) (color & 255) / 255.0F, 1F);
|
||||||
|
|
||||||
|
int iteration = 0;
|
||||||
|
while (offsetHeight != 0) {
|
||||||
|
final int curHeight = Math.min(offsetHeight, iconHeight);
|
||||||
|
|
||||||
|
drawContext.drawSprite(x, y - offsetHeight, 0, width, curHeight, sprite);
|
||||||
|
offsetHeight -= curHeight;
|
||||||
|
iteration++;
|
||||||
|
if (iteration > 50) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
drawContext.setShaderColor(1, 1, 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public Tooltip getTooltip(EntryStack<FluidStack> entry, TooltipContext context) {
|
||||||
|
return parent.getTooltip(entry, context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
@Nullable
|
|
||||||
public Tooltip getTooltip(EntryStack<FluidStack> entry, TooltipContext context) {
|
|
||||||
return parent.getTooltip(entry, context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public record EntryAnimation(EntryAnimationType animationType, long duration) {
|
public record EntryAnimation(EntryAnimationType animationType, long duration) {
|
||||||
|
|
||||||
public static EntryAnimation upwards(long duration) {
|
public static EntryAnimation upwards(long duration) {
|
||||||
return new EntryAnimation(EntryAnimationType.UPWARDS, duration);
|
return new EntryAnimation(EntryAnimationType.UPWARDS, duration);
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ public class GuiAESU extends GuiBase<BuiltScreenHandler> {
|
||||||
.append("/")
|
.append("/")
|
||||||
.append(PowerSystem.getLocalizedPowerNoSuffix(blockEntity.getMaxStoredPower()))
|
.append(PowerSystem.getLocalizedPowerNoSuffix(blockEntity.getMaxStoredPower()))
|
||||||
.append(" ")
|
.append(" ")
|
||||||
.append(PowerSystem.getDisplayPower().abbreviation);
|
.append(PowerSystem.ABBREVIATION);
|
||||||
|
|
||||||
drawCentredText(drawContext, text, 35, 0, 58, layer);
|
drawCentredText(drawContext, text, 35, 0, 58, layer);
|
||||||
matrices.pop();
|
matrices.pop();
|
||||||
|
|
|
@ -66,7 +66,7 @@ public class GuiIDSU extends GuiBase<BuiltScreenHandler> {
|
||||||
.append("/")
|
.append("/")
|
||||||
.append(PowerSystem.getLocalizedPowerNoSuffix(idsu.getMaxStoredPower()))
|
.append(PowerSystem.getLocalizedPowerNoSuffix(idsu.getMaxStoredPower()))
|
||||||
.append(" ")
|
.append(" ")
|
||||||
.append(PowerSystem.getDisplayPower().abbreviation);
|
.append(PowerSystem.ABBREVIATION);
|
||||||
|
|
||||||
drawCentredText(drawContext, text, 35, 0, 58, layer);
|
drawCentredText(drawContext, text, 35, 0, 58, layer);
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ public class GuiLESU extends GuiBase<BuiltScreenHandler> {
|
||||||
.append("/")
|
.append("/")
|
||||||
.append(PowerSystem.getLocalizedPowerNoSuffix(blockEntity.getMaxStoredPower()))
|
.append(PowerSystem.getLocalizedPowerNoSuffix(blockEntity.getMaxStoredPower()))
|
||||||
.append(" ")
|
.append(" ")
|
||||||
.append(PowerSystem.getDisplayPower().abbreviation),
|
.append(PowerSystem.ABBREVIATION),
|
||||||
35, 0, 58, layer);
|
35, 0, 58, layer);
|
||||||
matrices.pop();
|
matrices.pop();
|
||||||
|
|
||||||
|
|