45 lines
1.8 KiB
Java
45 lines
1.8 KiB
Java
package net.minecraft.client.gui.screens.inventory;
|
|
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.minecraft.client.gui.GuiGraphics;
|
|
import net.minecraft.client.renderer.RenderType;
|
|
import net.minecraft.network.chat.Component;
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import net.minecraft.world.entity.player.Inventory;
|
|
import net.minecraft.world.inventory.ChestMenu;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class ContainerScreen extends AbstractContainerScreen<ChestMenu> {
|
|
/**
|
|
* The ResourceLocation containing the chest GUI texture.
|
|
*/
|
|
private static final ResourceLocation CONTAINER_BACKGROUND = ResourceLocation.withDefaultNamespace("textures/gui/container/generic_54.png");
|
|
/**
|
|
* Window height is calculated with these values" the more rows, the higher
|
|
*/
|
|
private final int containerRows;
|
|
|
|
public ContainerScreen(ChestMenu menu, Inventory playerInventory, Component title) {
|
|
super(menu, playerInventory, title);
|
|
int i = 222;
|
|
int j = 114;
|
|
this.containerRows = menu.getRowCount();
|
|
this.imageHeight = 114 + this.containerRows * 18;
|
|
this.inventoryLabelY = this.imageHeight - 94;
|
|
}
|
|
|
|
@Override
|
|
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) {
|
|
super.render(guiGraphics, mouseX, mouseY, partialTick);
|
|
this.renderTooltip(guiGraphics, mouseX, mouseY);
|
|
}
|
|
|
|
@Override
|
|
protected void renderBg(GuiGraphics guiGraphics, float partialTick, int mouseX, int mouseY) {
|
|
int i = (this.width - this.imageWidth) / 2;
|
|
int j = (this.height - this.imageHeight) / 2;
|
|
guiGraphics.blit(RenderType::guiTextured, CONTAINER_BACKGROUND, i, j, 0.0F, 0.0F, this.imageWidth, this.containerRows * 18 + 17, 256, 256);
|
|
guiGraphics.blit(RenderType::guiTextured, CONTAINER_BACKGROUND, i, j + this.containerRows * 18 + 17, 0.0F, 126.0F, this.imageWidth, 96, 256, 256);
|
|
}
|
|
}
|