genuinely dont know how to fix this.

This commit is contained in:
nelle 2023-06-30 14:32:23 -06:00
parent e8ce73d6b9
commit 7a27c753c4
2 changed files with 52 additions and 4 deletions

View file

@ -1,4 +1,51 @@
package xyz.limepot.stellarworks.screen;
public class ArcFurnaceScreen {
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import xyz.limepot.stellarworks.Stellarworks;
public class ArcFurnaceScreen extends HandledScreen<ArcFurnaceScreenHandler> {
private static final Identifier TEXTURE =
new Identifier(Stellarworks.MOD_ID, "textures/gui/arc_furnace_gui.png");
public ArcFurnaceScreen(ArcFurnaceScreenHandler handler, PlayerInventory inventory, Text title) {
super(handler, inventory, title);
}
@Override
protected void init() {
super.init();
titleX = (backgroundWidth - textRenderer.getWidth(title)) / 2;
}
@Override
protected void drawBackground(GuiGraphics graphics, float delta, int mouseX, int mouseY) {
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
RenderSystem.setShaderTexture(0, TEXTURE);
int x = (width - backgroundWidth) / 2;
int y = (height - backgroundHeight) / 2;
graphics.drawTexture(matrices, x, y, 0, 0, backgroundWidth, backgroundHeight);
renderProgressArrow(matrices, x, y);
}
private void renderProgressArrow(MatrixStack matrices, int x, int y) {
if(handler.isCrafting()) {
drawTexture(matrices, x + 105, y + 33, 176, 0, 8, handler.getScaledProgress());
}
}
@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
renderBackground(matrices);
super.render(matrices, mouseX, mouseY, delta);
drawMouseoverTooltip(matrices, mouseX, mouseY);
}
}

View file

@ -3,8 +3,8 @@ package xyz.limepot.stellarworks.screen;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.Inventory;
import net.minecraft.inventory.SimpleInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.screen.ArrayPropertyDelegate;
import net.minecraft.screen.PropertyDelegate;
import net.minecraft.screen.ScreenHandler;
@ -13,8 +13,9 @@ import net.minecraft.screen.slot.Slot;
public class ArcFurnaceScreenHandler extends ScreenHandler {
private final Inventory inventory;
private final PropertyDelegate propertyDelegate;
public ArcFurnaceScreenHandler(int syncId, PlayerInventory inventory) {
this(syncId, inventory, new SimpleInventory(3), new ArrayPropertyDelegate(2));
public ArcFurnaceScreenHandler(int syncId, PlayerInventory inventory, PacketByteBuf buf) {
this(syncId, inventory, (Inventory) inventory.player.getWorld().getBlockEntity(buf.readBlockPos()),
new ArrayPropertyDelegate(2));
}
public ArcFurnaceScreenHandler(int syncId, PlayerInventory playerInventory, Inventory inventory, PropertyDelegate delegate) {