diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2018-12-31 13:12:25 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2018-12-31 13:12:25 +0800 |
| commit | fee12aa0885da204ec874cd5ada371c42501c873 (patch) | |
| tree | 880596f5f463e08762a56b1cb1d7008aaed1899d /src/main/java/me/shedaniel/gui | |
| parent | 1b14c5142bb49db9af078b5c753bc22ce35a40cc (diff) | |
| download | RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.gz RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.bz2 RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.zip | |
packetadder wip
Diffstat (limited to 'src/main/java/me/shedaniel/gui')
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/GuiItemList.java | 98 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/REIRenderHelper.java | 63 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/RecipeContainer.java | 7 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/RecipeGui.java | 99 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/widget/Button.java | 33 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/widget/Control.java | 50 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/widget/REISlot.java | 57 | ||||
| -rw-r--r-- | src/main/java/me/shedaniel/gui/widget/Tab.java | 17 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/widget/TextBox.java | 8 | ||||
| -rwxr-xr-x | src/main/java/me/shedaniel/gui/widget/WidgetArrow.java | 22 |
10 files changed, 226 insertions, 228 deletions
diff --git a/src/main/java/me/shedaniel/gui/GuiItemList.java b/src/main/java/me/shedaniel/gui/GuiItemList.java index f23ab9f85..b4f913c7c 100755 --- a/src/main/java/me/shedaniel/gui/GuiItemList.java +++ b/src/main/java/me/shedaniel/gui/GuiItemList.java @@ -1,21 +1,23 @@ package me.shedaniel.gui; +import com.mojang.blaze3d.platform.GlStateManager; import me.shedaniel.ClientListener; +import me.shedaniel.Core; import me.shedaniel.gui.widget.Button; import me.shedaniel.gui.widget.Control; import me.shedaniel.gui.widget.REISlot; import me.shedaniel.gui.widget.TextBox; -import me.shedaniel.listenerdefinitions.IMixinGuiContainer; -import net.minecraft.client.MainWindow; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.entity.player.EntityPlayer; +import me.shedaniel.listenerdefinitions.IMixinContainerGui; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.ContainerGui; +import net.minecraft.client.network.ClientPlayerEntity; +import net.minecraft.client.util.Window; import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; +import net.minecraft.text.TextComponent; +import net.minecraft.text.TranslatableTextComponent; +import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -import net.minecraft.util.registry.IRegistry; -import net.minecraft.util.text.TextComponentTranslation; +import net.minecraft.util.registry.Registry; import java.awt.*; import java.util.ArrayList; @@ -27,7 +29,7 @@ import java.util.stream.Stream; public class GuiItemList extends Drawable { public static final int FOOTERSIZE = 44; - private GuiContainer overlayedGui; + private ContainerGui overlayedGui; private static int page = 0; private ArrayList<REISlot> displaySlots; protected ArrayList<Control> controls; @@ -42,7 +44,7 @@ public class GuiItemList extends Drawable { private int oldGuiLeft = 0; private boolean cheatMode = false; - public GuiItemList(GuiContainer overlayedGui) { + public GuiItemList(ContainerGui overlayedGui) { super(calculateRect(overlayedGui)); displaySlots = new ArrayList<>(); controls = new ArrayList<>(); @@ -52,9 +54,9 @@ public class GuiItemList extends Drawable { } public boolean canCheat() { - EntityPlayer player = Minecraft.getInstance().player; + ClientPlayerEntity player = MinecraftClient.getInstance().player; if (cheatMode) { - if (!player.hasPermissionLevel(1)) { + if (!player.allowsPermissionLevel(1)) { cheatClicked(0); return false; } @@ -63,26 +65,25 @@ public class GuiItemList extends Drawable { return false; } - private static Rectangle calculateRect(GuiContainer overlayedGui) { - MainWindow res = REIRenderHelper.getResolution(); - int startX = (((IMixinGuiContainer) overlayedGui).getGuiLeft() + ((IMixinGuiContainer) overlayedGui).getXSize()) + 10; + private static Rectangle calculateRect(ContainerGui overlayedGui) { + Window res = REIRenderHelper.getResolution(); + int startX = (((IMixinContainerGui) overlayedGui).getGuiLeft() + ((IMixinContainerGui) overlayedGui).getXSize()) + 10; int width = res.getScaledWidth() - startX; return new Rectangle(startX, 0, width, res.getScaledHeight()); } protected void resize() { - MainWindow res = REIRenderHelper.getResolution(); + Window res = REIRenderHelper.getResolution(); - if (overlayedGui != Minecraft.getInstance().currentScreen) { - if (Minecraft.getInstance().currentScreen instanceof GuiContainer) { - overlayedGui = (GuiContainer) Minecraft.getInstance().currentScreen; - + if (overlayedGui != MinecraftClient.getInstance().currentGui) { + if (MinecraftClient.getInstance().currentGui instanceof ContainerGui) { + overlayedGui = (ContainerGui) MinecraftClient.getInstance().currentGui; } else { needsResize = true; return; } } - oldGuiLeft = ((IMixinGuiContainer) overlayedGui).getGuiLeft(); + oldGuiLeft = ((IMixinContainerGui) overlayedGui).getGuiLeft(); rect = calculateRect(overlayedGui); page = 0; buttonLeft = new Button(rect.x, rect.y + 3, 16, 20, "<"); @@ -122,7 +123,7 @@ public class GuiItemList extends Drawable { private void calculateSlots() { int x = rect.x, y = rect.y + 20; - MainWindow res = REIRenderHelper.getResolution(); + Window res = REIRenderHelper.getResolution(); displaySlots.clear(); int xOffset = 0, yOffset = 0, row = 0, perRow = 0, currentX = 0, currentY = 0; while (true) { @@ -165,13 +166,13 @@ public class GuiItemList extends Drawable { return; if (needsResize == true) resize(); - if (oldGuiLeft != ((IMixinGuiContainer) overlayedGui).getGuiLeft()) + if (oldGuiLeft != ((IMixinContainerGui) overlayedGui).getGuiLeft()) resize(); GlStateManager.pushMatrix(); updateButtons(); controls.forEach(Control::draw); String header = String.format("%s/%s", page + 1, ((int) Math.floor(view.size() / displaySlots.size())) + 1); - Minecraft.getInstance().fontRenderer.drawStringWithShadow(header, rect.x + (rect.width / 2) - (Minecraft.getInstance().fontRenderer.getStringWidth(header) / 2), rect.y + 10, -1); + MinecraftClient.getInstance().fontRenderer.drawWithShadow(header, rect.x + (rect.width / 2) - (MinecraftClient.getInstance().fontRenderer.getStringWidth(header) / 2), rect.y + 10, -1); GlStateManager.popMatrix(); } @@ -217,10 +218,10 @@ public class GuiItemList extends Drawable { private String getCheatModeText() { if (cheatMode) { - TextComponentTranslation cheat = new TextComponentTranslation("text.rei.cheat", new Object[]{null}); + TextComponent cheat = new TranslatableTextComponent("text.rei.cheat", new Object[]{null}); return cheat.getFormattedText(); } - TextComponentTranslation noCheat = new TextComponentTranslation("text.rei.nocheat", new Object[]{null}); + TextComponent noCheat = new TranslatableTextComponent("text.rei.nocheat", new Object[]{null}); return noCheat.getFormattedText(); } @@ -228,24 +229,27 @@ public class GuiItemList extends Drawable { String searchText = searchBox.getText(); view.clear(); List<ItemStack> stacks = new ArrayList<>(); - Arrays.stream(searchText.split("\\|")).forEachOrdered(s -> { - List<SearchArgument> arguments = new ArrayList<>(); - while (s.startsWith(" ")) s = s.substring(1); - while (s.endsWith(" ")) s = s.substring(0, s.length()); - if (s.startsWith("@-") || s.startsWith("-@")) - arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s.substring(2), false)); - else if (s.startsWith("@")) - arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s.substring(1), true)); - else if (s.startsWith("#-") || s.startsWith("-#")) - arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s.substring(2), false)); - else if (s.startsWith("#")) - arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s.substring(1), true)); - else if (s.startsWith("-")) - arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s.substring(1), false)); - else - arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s, true)); - ClientListener.stackList.stream().filter(itemStack -> filterItem(itemStack, arguments)).forEachOrdered(stacks::add); - }); + if (ClientListener.stackList == null && !Registry.ITEM.isEmpty()) + Core.getListeners(ClientListener.class).forEach(ClientListener::onDoneLoading); + if (ClientListener.stackList != null) + Arrays.stream(searchText.split("\\|")).forEachOrdered(s -> { + List<SearchArgument> arguments = new ArrayList<>(); + while (s.startsWith(" ")) s = s.substring(1); + while (s.endsWith(" ")) s = s.substring(0, s.length()); + if (s.startsWith("@-") || s.startsWith("-@")) + arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s.substring(2), false)); + else if (s.startsWith("@")) + arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s.substring(1), true)); + else if (s.startsWith("#-") || s.startsWith("-#")) + arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s.substring(2), false)); + else if (s.startsWith("#")) + arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s.substring(1), true)); + else if (s.startsWith("-")) + arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s.substring(1), false)); + else + arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s, true)); + ClientListener.stackList.stream().filter(itemStack -> filterItem(itemStack, arguments)).forEachOrdered(stacks::add); + }); view.addAll(stacks.stream().distinct().collect(Collectors.toList())); page = 0; fillSlots(); @@ -253,7 +257,7 @@ public class GuiItemList extends Drawable { private boolean filterItem(ItemStack itemStack, List<SearchArgument> arguments) { String mod = getMod(itemStack); - List<String> toolTipsList = REIRenderHelper.getOverlayedGui().getItemToolTip(itemStack); + List<String> toolTipsList = REIRenderHelper.getOverlayedGui().getStackTooltip(itemStack); String toolTipsMixed = toolTipsList.stream().skip(1).collect(Collectors.joining()).toLowerCase(); String allMixed = Stream.of(itemStack.getDisplayName().getString(), toolTipsMixed).collect(Collectors.joining()).toLowerCase(); for(SearchArgument searchArgument : arguments.stream().filter(searchArgument -> !searchArgument.isInclude()).collect(Collectors.toList())) { @@ -295,7 +299,7 @@ public class GuiItemList extends Drawable { private String getMod(ItemStack stack) { if (stack != null && !stack.isEmpty()) { - ResourceLocation location = IRegistry.ITEM.getKey(stack.getItem()); + Identifier location = Registry.ITEM.getId(stack.getItem()); return location.getNamespace(); } return ""; diff --git a/src/main/java/me/shedaniel/gui/REIRenderHelper.java b/src/main/java/me/shedaniel/gui/REIRenderHelper.java index 74f8c1b02..f706a4c56 100755 --- a/src/main/java/me/shedaniel/gui/REIRenderHelper.java +++ b/src/main/java/me/shedaniel/gui/REIRenderHelper.java @@ -1,19 +1,19 @@ package me.shedaniel.gui; +import com.mojang.blaze3d.platform.GlStateManager; import me.shedaniel.gui.widget.Control; import me.shedaniel.gui.widget.IFocusable; import me.shedaniel.gui.widget.REISlot; import me.shedaniel.impl.REIRecipeManager; import me.shedaniel.library.KeyBindManager; -import me.shedaniel.listenerdefinitions.IMixinGuiContainer; -import net.minecraft.client.MainWindow; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.ItemRenderer; +import me.shedaniel.listenerdefinitions.IMixinContainerGui; +import net.fabricmc.loader.FabricLoader; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.FontRenderer; +import net.minecraft.client.gui.ContainerGui; +import net.minecraft.client.render.item.ItemRenderer; +import net.minecraft.client.util.Window; import net.minecraft.item.ItemStack; -import org.dimdev.riftloader.RiftLoader; import java.awt.*; import java.util.ArrayList; @@ -27,7 +27,7 @@ import java.util.Optional; public class REIRenderHelper { static Point mouseLoc; static public GuiItemList reiGui; - static GuiContainer overlayedGui; + static ContainerGui overlayedGui; static List<TooltipData> tooltipsToRender = new ArrayList<>(); public static void setMouseLoc(int x, int y) { @@ -40,23 +40,26 @@ public class REIRenderHelper { return mouseLoc; } - public static MainWindow getResolution() { - return Minecraft.getInstance().mainWindow; + public static Window getResolution() { + return MinecraftClient.getInstance().window; } public static String tryGettingModName(String modid) { if (modid.equalsIgnoreCase("minecraft")) return "Minecraft"; - return RiftLoader.instance.getMods().stream() - .filter(modInfo -> modInfo.id.equals(modid) || (modInfo.name != null && modInfo.name.equals(modid))) + return FabricLoader.INSTANCE.getModContainers().stream() + .map(modContainer -> { + return modContainer.getInfo(); + }) + .filter(modInfo -> modInfo.getId().equals(modid) || (modInfo.getName() != null && modInfo.getName().equals(modid))) .findFirst().map(modInfo -> { - if (modInfo.name != null) - return modInfo.name; + if (modInfo.getName() != null) + return modInfo.getName(); return modid; }).orElse(modid); } - public static void drawREI(GuiContainer overlayedGui) { + public static void drawREI(ContainerGui overlayedGui) { REIRenderHelper.overlayedGui = overlayedGui; if (reiGui == null) { reiGui = new GuiItemList(overlayedGui); @@ -70,20 +73,20 @@ public class REIRenderHelper { reiGui.resize(); } if (overlayedGui instanceof RecipeGui) { - overlayedGui.onResize(Minecraft.getInstance(), scaledWidth, scaledHeight); + overlayedGui.onScaleChanged(MinecraftClient.getInstance(), scaledWidth, scaledHeight); } } public static ItemRenderer getItemRender() { - return Minecraft.getInstance().getItemRenderer(); + return MinecraftClient.getInstance().getItemRenderer(); } public static FontRenderer getFontRenderer() { - return Minecraft.getInstance().fontRenderer; + return MinecraftClient.getInstance().fontRenderer; } - public static GuiContainer getOverlayedGui() { - if (overlayedGui instanceof GuiContainer) + public static ContainerGui getOverlayedGui() { + if (overlayedGui instanceof ContainerGui) return overlayedGui; return null; } @@ -97,7 +100,7 @@ public class REIRenderHelper { GlStateManager.pushMatrix(); GlStateManager.enableLighting(); for(TooltipData tooltipData : tooltipsToRender) { - getOverlayedGui().drawHoveringText(tooltipData.text, tooltipData.x, tooltipData.y); + getOverlayedGui().drawTooltip(tooltipData.text, tooltipData.x, tooltipData.y); } GlStateManager.disableLighting(); tooltipsToRender.clear(); @@ -203,12 +206,12 @@ public class REIRenderHelper { } public static void tick() { - if (reiGui != null && Minecraft.getInstance().currentScreen == overlayedGui) + if (reiGui != null && MinecraftClient.getInstance().currentGui == overlayedGui) reiGui.tick(); } public static void recipeKeybind() { - if (!(Minecraft.getInstance().currentScreen instanceof GuiContainer)) + if (!(MinecraftClient.getInstance().currentGui instanceof ContainerGui)) return; Control control = reiGui.getLastHovered(); if (control != null && control.isHighlighted() && control instanceof REISlot) { @@ -216,15 +219,15 @@ public class REIRenderHelper { REIRecipeManager.instance().displayRecipesFor(slot.getStack()); return; } - if (((IMixinGuiContainer) overlayedGui).getHoveredSlot() != null) { - ItemStack stack = ((IMixinGuiContainer) overlayedGui).getHoveredSlot().getStack(); + if (((IMixinContainerGui) overlayedGui).getHoveredSlot() != null) { + ItemStack stack = ((IMixinContainerGui) overlayedGui).getHoveredSlot().getStack(); REIRecipeManager.instance().displayRecipesFor(stack); } } public static void useKeybind() { - if (!(Minecraft.getInstance().currentScreen instanceof GuiContainer)) + if (!(MinecraftClient.getInstance().currentGui instanceof ContainerGui)) return; Control control = reiGui.getLastHovered(); if (control != null && control.isHighlighted() && control instanceof REISlot) { @@ -232,15 +235,15 @@ public class REIRenderHelper { REIRecipeManager.instance().displayUsesFor(slot.getStack()); return; } - if (((IMixinGuiContainer) overlayedGui).getHoveredSlot() != null) { - ItemStack stack = ((IMixinGuiContainer) overlayedGui).getHoveredSlot().getStack(); + if (((IMixinContainerGui) overlayedGui).getHoveredSlot() != null) { + ItemStack stack = ((IMixinContainerGui) overlayedGui).getHoveredSlot().getStack(); REIRecipeManager.instance().displayUsesFor(stack); } } public static void hideKeybind() { - if (Minecraft.getInstance().currentScreen == overlayedGui && reiGui != null) { + if (MinecraftClient.getInstance().currentGui == overlayedGui && reiGui != null) { reiGui.visible = !reiGui.visible; } } diff --git a/src/main/java/me/shedaniel/gui/RecipeContainer.java b/src/main/java/me/shedaniel/gui/RecipeContainer.java index f8605a45c..4477a10db 100755 --- a/src/main/java/me/shedaniel/gui/RecipeContainer.java +++ b/src/main/java/me/shedaniel/gui/RecipeContainer.java @@ -1,13 +1,14 @@ package me.shedaniel.gui; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; +import net.minecraft.container.Container; +import net.minecraft.entity.player.PlayerEntity; public class RecipeContainer extends Container { @Override - public boolean canInteractWith(EntityPlayer entityPlayer) { + public boolean canUse(PlayerEntity playerEntity) { return true; } + } diff --git a/src/main/java/me/shedaniel/gui/RecipeGui.java b/src/main/java/me/shedaniel/gui/RecipeGui.java index 43cb8333d..d4f3db8f0 100755 --- a/src/main/java/me/shedaniel/gui/RecipeGui.java +++ b/src/main/java/me/shedaniel/gui/RecipeGui.java @@ -1,5 +1,6 @@ package me.shedaniel.gui; +import com.mojang.blaze3d.platform.GlStateManager; import me.shedaniel.api.IDisplayCategory; import me.shedaniel.api.IRecipe; import me.shedaniel.gui.widget.Button; @@ -7,14 +8,13 @@ import me.shedaniel.gui.widget.Control; import me.shedaniel.gui.widget.REISlot; import me.shedaniel.gui.widget.Tab; import me.shedaniel.impl.REIRecipeManager; -import net.minecraft.client.MainWindow; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.inventory.Container; -import net.minecraft.util.ResourceLocation; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.ContainerGui; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.render.GuiLighting; +import net.minecraft.client.util.Window; +import net.minecraft.container.Container; +import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; import java.util.ArrayList; @@ -22,13 +22,13 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; -public class RecipeGui extends GuiContainer { +public class RecipeGui extends ContainerGui { - private static final ResourceLocation CREATIVE_INVENTORY_TABS = new ResourceLocation("textures/gui/container/creative_inventory/tabs.png"); - private static final ResourceLocation CHEST_GUI_TEXTURE = new ResourceLocation("almostenoughitems", "textures/gui/recipecontainer.png"); - private final MainWindow mainWindow; + private static final Identifier CREATIVE_INVENTORY_TABS = new Identifier("textures/gui/container/creative_inventory/tabs.png"); + private static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png"); + private final Window mainWindow; private final Container container; - private final GuiScreen prevScreen; + private final Gui prevScreen; private final Map<IDisplayCategory, List<IRecipe>> recipes; private int guiWidth = 176; private int guiHeight = 222; @@ -43,15 +43,15 @@ public class RecipeGui extends GuiContainer { private List<Tab> tabs; private boolean tabsEnabled = false; - public RecipeGui(Container p_i1072_1_, GuiScreen prevScreen, Map<IDisplayCategory, List<IRecipe>> recipes) { + public RecipeGui(Container p_i1072_1_, Gui prevScreen, Map<IDisplayCategory, List<IRecipe>> recipes) { super(new RecipeContainer()); this.container = p_i1072_1_; this.prevScreen = prevScreen; this.recipes = recipes; - this.mc = Minecraft.getInstance(); - this.itemRender = mc.getItemRenderer(); - this.fontRenderer = mc.fontRenderer; - this.mainWindow = Minecraft.getInstance().mainWindow; + this.client = MinecraftClient.getInstance(); + this.itemRenderer = client.getItemRenderer(); + this.fontRenderer = client.fontRenderer; + this.mainWindow = client.window; setupCategories(); } @@ -71,13 +71,12 @@ public class RecipeGui extends GuiContainer { updateRecipe(); } - @Override - public void render(int mouseX, int mouseY, float partialTicks) { - super.render(mouseX, mouseY, partialTicks); + public void draw(int mouseX, int mouseY, float partialTicks) { + super.draw(mouseX, mouseY, partialTicks); int y = (int) ((mainWindow.getScaledHeight() / 2 - this.guiHeight / 2)); - drawCenteredString(this.fontRenderer, selectedCategory.getDisplayName(), guiLeft + guiWidth / 2, y + 11, -1); - drawCenteredString(this.fontRenderer, String.format("%d/%d", 1 + getCurrentPage(), getTotalPages()), guiLeft + guiWidth / 2, y + 34, -1); + drawStringCentered(this.fontRenderer, selectedCategory.getDisplayName(), left + guiWidth / 2, y + 11, -1); + drawStringCentered(this.fontRenderer, String.format("%d/%d", 1 + getCurrentPage(), getTotalPages()), left + guiWidth / 2, y + 34, -1); controls.forEach(Control::draw); } @@ -86,16 +85,15 @@ public class RecipeGui extends GuiContainer { } @Override - public void tick() { - super.tick(); + public void update() { + super.update(); slots.forEach(REISlot::tick); controls.forEach(Control::tick); } - @Override - public void onResize(Minecraft p_onResize_1_, int p_onResize_2_, int p_onResize_3_) { - super.onResize(p_onResize_1_, p_onResize_2_, p_onResize_3_); + public void onScaleChanged(MinecraftClient p_onResize_1_, int p_onResize_2_, int p_onResize_3_) { + super.onScaleChanged(p_onResize_1_, p_onResize_2_, p_onResize_3_); updateRecipe(); } @@ -111,18 +109,18 @@ public class RecipeGui extends GuiContainer { slots.addAll(categories.get(categoryPointer).setupDisplay(1)); } - guiLeft = (int) ((mainWindow.getScaledWidth() / 2 - this.guiWidth / 2)); - guiTop = (int) ((mainWindow.getScaledHeight() / 2 - this.guiHeight / 2)); + left = (int) ((mainWindow.getScaledWidth() / 2 - this.guiWidth / 2)); + top = (int) ((mainWindow.getScaledHeight() / 2 - this.guiHeight / 2)); - slots.forEach(reiSlot -> reiSlot.move(guiLeft, guiTop)); + slots.forEach(reiSlot -> reiSlot.move(left, top)); - Button btnCategoryLeft = new Button(guiLeft + 10, guiTop + 5, 15, 20, "<"); - Button btnCategoryRight = new Button(guiLeft + guiWidth - 25, guiTop + 5, 15, 20, ">"); + Button btnCategoryLeft = new Button(left + 10, top + 5, 15, 20, "<"); + Button btnCategoryRight = new Button(left + guiWidth - 25, top + 5, 15, 20, ">"); btnCategoryRight.onClick = this::btnCategoryRight; btnCategoryLeft.onClick = this::btnCategoryLeft; - Button btnRecipeLeft = new Button(guiLeft + 10, guiTop + 28, 15, 20, "<"); - Button btnRecipeRight = new Button(guiLeft + guiWidth - 25, guiTop + 28, 15, 20, ">"); + Button btnRecipeLeft = new Button(left + 10, top + 28, 15, 20, "<"); + Button btnRecipeRight = new Button(left + guiWidth - 25, top + 28, 15, 20, ">"); btnRecipeLeft.setEnabled(recipes.get(categories.get(categoryPointer)).size() > 1 && recipePointer > 0); btnRecipeRight.setEnabled(recipes.get(categories.get(categoryPointer)).size() > 1 && getCurrentPage() + 1 < getTotalPages()); btnRecipeRight.onClick = this::btnRecipeRight; @@ -148,16 +146,16 @@ public class RecipeGui extends GuiContainer { categories.get(categoryPointer).addWidget(newControls, 0); if (recipes.get(categories.get(categoryPointer)).size() >= categoryPointer + 2) categories.get(categoryPointer).addWidget(newControls, 1); - newControls.forEach(f -> f.move(guiLeft, guiTop)); + newControls.forEach(f -> f.move(left, top)); controls.addAll(newControls); updateTabs(); } private void updateTabs() { - tabsEnabled = guiTop - 28 > 4; + tabsEnabled = top - 28 > 4; if (tabsEnabled) { - tabs.forEach(tab -> tab.moveTo(guiLeft + 4, guiLeft + 2 + tabs.indexOf(tab) * 28, guiTop - 28)); + tabs.forEach(tab -> tab.moveTo(left + 4, left + 2 + tabs.indexOf(tab) * 28, top - 28)); for(int i = 0; i < tabs.size(); i++) { int ref = i + categoryTabPage * 6; if (categories.size() > ref) { @@ -169,38 +167,38 @@ public class RecipeGui extends GuiContainer { } private boolean onClickTab(int index) { - System.out.println(index); if (index + categoryTabPage * 6 == categories.indexOf(selectedCategory)) return false; selectedCategory = categories.get(index + categoryTabPage * 6); + updateRecipe(); return false; } @Override - protected void drawGuiContainerBackgroundLayer(float v, int i, int i1) { + protected void drawBackground(float v, int i, int i1) { //Tabs if (tabsEnabled) { GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - RenderHelper.enableGUIStandardItemLighting(); - this.mc.getTextureManager().bindTexture(CREATIVE_INVENTORY_TABS); + GuiLighting.enableForItems(); + this.client.getTextureManager().bindTexture(CREATIVE_INVENTORY_TABS); tabs.stream().filter(tab -> tab.getId() + categoryTabPage * 6 == categories.indexOf(selectedCategory)).forEach(Tab::drawTab); } - drawDefaultBackground(); + drawBackground(); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.getTextureManager().bindTexture(CHEST_GUI_TEXTURE); + this.client.getTextureManager().bindTexture(CHEST_GUI_TEXTURE); int lvt_4_1_ = (int) ((mainWindow.getScaledWidth() / 2 - this.guiWidth / 2)); int lvt_5_1_ = (int) ((mainWindow.getScaledHeight() / 2 - this.guiHeight / 2)); - this.drawTexturedModalRect(lvt_4_1_, lvt_5_1_, 0, 0, this.guiWidth, this.guiHeight); + this.drawTexturedRect(lvt_4_1_, lvt_5_1_, 0, 0, this.guiWidth, this.guiHeight); slots.forEach(REISlot::draw); if (tabsEnabled) tabs.stream().filter(tab -> tab.getId() + categoryTabPage * 6 != categories.indexOf(selectedCategory)).forEach(tab -> { GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - RenderHelper.enableGUIStandardItemLighting(); - this.mc.getTextureManager().bindTexture(CREATIVE_INVENTORY_TABS); + GuiLighting.enableForItems(); + this.client.getTextureManager().bindTexture(CREATIVE_INVENTORY_TABS); tab.drawTab(); }); } @@ -208,18 +206,13 @@ public class RecipeGui extends GuiContainer { @Override public boolean keyPressed(int p_keyPressed_1_, int p_keyPressed_2_, int p_keyPressed_3_) { if (p_keyPressed_1_ == 259 && prevScreen != null && REIRenderHelper.focusedControl == null) { - Minecraft.getInstance().displayGuiScreen(prevScreen); + this.client.openGui(prevScreen); return true; } return super.keyPressed(p_keyPressed_1_, p_keyPressed_2_, p_keyPressed_3_); } - @Override - public void onGuiClosed() { - super.onGuiClosed(); - } - private boolean btnCategoryLeft(int button) { recipePointer = 0; int categoryPointer = categories.indexOf(selectedCategory); diff --git a/src/main/java/me/shedaniel/gui/widget/Button.java b/src/main/java/me/shedaniel/gui/widget/Button.java index df43893ff..0c23a91db 100755 --- a/src/main/java/me/shedaniel/gui/widget/Button.java +++ b/src/main/java/me/shedaniel/gui/widget/Button.java @@ -1,11 +1,11 @@ package me.shedaniel.gui.widget; +import com.mojang.blaze3d.platform.GlStateManager; import me.shedaniel.gui.REIRenderHelper; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.util.ResourceLocation; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.FontRenderer; +import net.minecraft.client.gui.ContainerGui; +import net.minecraft.util.Identifier; import java.awt.*; @@ -14,7 +14,7 @@ import java.awt.*; */ public class Button extends Control { private String buttonText; - protected static final ResourceLocation BUTTON_TEXTURES = new ResourceLocation("textures/gui/widgets.png"); + protected static final Identifier BUTTON_TEXTURES = new Identifier("textures/gui/widgets.png"); public Button(int x, int y, int width, int height, String buttonText) { @@ -36,8 +36,8 @@ public class Button extends Control { public void draw() { GlStateManager.pushMatrix(); GlStateManager.disableLighting(); - GuiContainer gui = REIRenderHelper.getOverlayedGui(); - Minecraft lvt_4_1_ = Minecraft.getInstance(); + ContainerGui gui = REIRenderHelper.getOverlayedGui(); + MinecraftClient lvt_4_1_ = MinecraftClient.getInstance(); FontRenderer lvt_5_1_ = lvt_4_1_.fontRenderer; lvt_4_1_.getTextureManager().bindTexture(BUTTON_TEXTURES); GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); @@ -50,20 +50,13 @@ public class Button extends Control { } GlStateManager.enableBlend(); - GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); - GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); - gui.drawTexturedModalRect(rect.x, rect.y, 0, 46 + hoverState * 20, rect.width / 2, rect.height); - gui.drawTexturedModalRect(rect.x + rect.width / 2, rect.y, 200 - rect.width / 2, 46 + hoverState * 20, rect.width / 2, rect.height); - //this.mouseDragged(lvt_4_1_, p_194828_1_, p_194828_2_); + GlStateManager.blendFuncSeparate(GlStateManager.SrcBlendFactor.SRC_ALPHA, GlStateManager.DstBlendFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SrcBlendFactor.ONE, GlStateManager.DstBlendFactor.ZERO); + GlStateManager.blendFunc(GlStateManager.SrcBlendFactor.SRC_ALPHA, GlStateManager.DstBlendFactor.ONE_MINUS_SRC_ALPHA); + gui.drawTexturedRect(rect.x, rect.y, 0, 46 + hoverState * 20, rect.width / 2, rect.height); + gui.drawTexturedRect(rect.x + rect.width / 2, rect.y, 200 - rect.width / 2, 46 + hoverState * 20, rect.width / 2, rect.height); int lvt_7_1_ = 14737632; -// if(!this.enabled) { -// lvt_7_1_ = 10526880; -// } else if(this.hovered) { -// lvt_7_1_ = 16777120; -// } - - gui.drawCenteredString(lvt_5_1_, this.buttonText, rect.x + rect.width / 2, rect.y + (rect.height - 8) / 2, lvt_7_1_); + gui.drawStringCentered(lvt_5_1_, this.buttonText, rect.x + rect.width / 2, rect.y + (rect.height - 8) / 2, lvt_7_1_); GlStateManager.enableLighting(); GlStateManager.popMatrix(); } diff --git a/src/main/java/me/shedaniel/gui/widget/Control.java b/src/main/java/me/shedaniel/gui/widget/Control.java index dd674e605..9be17a0c2 100755 --- a/src/main/java/me/shedaniel/gui/widget/Control.java +++ b/src/main/java/me/shedaniel/gui/widget/Control.java @@ -1,11 +1,11 @@ package me.shedaniel.gui.widget; +import com.mojang.blaze3d.platform.GlStateManager; import me.shedaniel.api.TriBooleanProducer; import me.shedaniel.gui.Drawable; -import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.client.renderer.GlStateManager; -import net.mi |
