#分享个Minecraft 模组打开GUI的代码
gui代码
sreen.java
package hskgzscz.client.gui;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.chat.Component;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.client.Minecraft;
import java.util.HashMap;
import hskgzscz.world.inventory.H45Menu;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.systems.RenderSystem;
public class H45Screen extends AbstractContainerScreen<H45Menu> {
private final static HashMap<String, Object> guistate = H45Menu.guistate;
private final Level world;
private final int x, y, z;
private final Player entity;
public H45Screen(H45Menu container, Inventory inventory, Component text) {
super(container, inventory, text);
this.world = container.world;
this.x = container.x;
this.y = container.y;
this.z = container.z;
this.entity = container.entity;
this.imageWidth = 304;
this.imageHeight = 178;
}
private static final ResourceLocation texture = new ResourceLocation("hskgzscz:textures/hsk_001.png");
@Override
public void render(PoseStack ms, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(ms);
super.render(ms, mouseX, mouseY, partialTicks);
this.renderTooltip(ms, mouseX, mouseY);
}
@Override
protected void renderBg(PoseStack ms, float partialTicks, int gx, int gy) {
RenderSystem.setShaderColor(1, 1, 1, 1);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
RenderSystem.setShaderTexture(0, texture);
this.blit(ms, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight);
RenderSystem.setShad