PrettyPipes/src/main/java/de/ellpeck/prettypipes/pressurizer/PressurizerGui.java

46 lines
2.2 KiB
Java
Raw Normal View History

2020-10-13 18:11:40 +02:00
package de.ellpeck.prettypipes.pressurizer;
2021-12-02 23:02:58 +01:00
import com.mojang.blaze3d.systems.RenderSystem;
2021-12-02 16:55:04 +01:00
import com.mojang.blaze3d.vertex.PoseStack;
2020-10-13 18:11:40 +02:00
import de.ellpeck.prettypipes.PrettyPipes;
2021-12-02 16:55:04 +01:00
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
2021-12-02 23:02:58 +01:00
import net.minecraft.client.renderer.GameRenderer;
2021-12-02 16:55:04 +01:00
import net.minecraft.network.chat.Component;
2021-12-02 12:31:04 +01:00
import net.minecraft.resources.ResourceLocation;
2021-12-02 16:55:04 +01:00
import net.minecraft.world.entity.player.Inventory;
public class PressurizerGui extends AbstractContainerScreen<PressurizerContainer> {
2020-10-13 18:11:40 +02:00
private static final ResourceLocation TEXTURE = new ResourceLocation(PrettyPipes.ID, "textures/gui/pressurizer.png");
2021-12-02 16:55:04 +01:00
public PressurizerGui(PressurizerContainer screenContainer, Inventory inv, Component titleIn) {
2020-10-13 18:11:40 +02:00
super(screenContainer, inv, titleIn);
2021-12-02 16:55:04 +01:00
this.imageWidth = 176;
this.imageHeight = 137;
2020-10-13 18:11:40 +02:00
}
@Override
2021-12-02 16:55:04 +01:00
public void render(PoseStack matrix, int mouseX, int mouseY, float partialTicks) {
2020-10-13 18:11:40 +02:00
this.renderBackground(matrix);
super.render(matrix, mouseX, mouseY, partialTicks);
2021-12-02 16:55:04 +01:00
this.renderTooltip(matrix, mouseX, mouseY);
if (mouseX >= this.leftPos + 26 && mouseY >= this.topPos + 22 && mouseX < this.leftPos + 26 + 124 && mouseY < this.topPos + 22 + 12)
2022-06-27 13:57:06 +02:00
this.renderTooltip(matrix, Component.translatable("info." + PrettyPipes.ID + ".energy", this.menu.tile.getEnergy(), this.menu.tile.getMaxEnergy()), mouseX, mouseY);
2020-10-13 18:11:40 +02:00
}
@Override
2021-12-02 16:55:04 +01:00
protected void renderLabels(PoseStack matrix, int mouseX, int mouseY) {
this.font.draw(matrix, this.playerInventoryTitle.getString(), 8, this.imageHeight - 96 + 2, 4210752);
this.font.draw(matrix, this.title.getString(), 8, 6, 4210752);
2020-10-13 18:11:40 +02:00
}
@Override
2021-12-02 16:55:04 +01:00
protected void renderBg(PoseStack matrixStack, float partialTicks, int x, int y) {
2021-12-02 23:02:58 +01:00
RenderSystem.setShader(GameRenderer::getPositionTexShader);
2022-06-27 13:57:06 +02:00
RenderSystem.setShaderTexture(0, PressurizerGui.TEXTURE);
2021-12-02 16:55:04 +01:00
this.blit(matrixStack, this.leftPos, this.topPos, 0, 0, 176, 137);
2021-12-02 17:46:56 +01:00
var energy = (int) (this.menu.tile.getEnergyPercentage() * 124);
2021-12-02 16:55:04 +01:00
this.blit(matrixStack, this.leftPos + 26, this.topPos + 22, 0, 137, energy, 12);
2020-10-13 18:11:40 +02:00
}
}