aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/gui
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2018-12-31 13:12:25 +0800
committerUnknown <shekwancheung0528@gmail.com>2018-12-31 13:12:25 +0800
commitfee12aa0885da204ec874cd5ada371c42501c873 (patch)
tree880596f5f463e08762a56b1cb1d7008aaed1899d /src/main/java/me/shedaniel/gui
parent1b14c5142bb49db9af078b5c753bc22ce35a40cc (diff)
downloadRoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.gz
RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.tar.bz2
RoughlyEnoughItems-fee12aa0885da204ec874cd5ada371c42501c873.zip
packetadder wip
Diffstat (limited to 'src/main/java/me/shedaniel/gui')
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/GuiItemList.java98
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/REIRenderHelper.java63
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/RecipeContainer.java7
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/RecipeGui.java99
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/Button.java33
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/Control.java50
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/REISlot.java57
-rw-r--r--src/main/java/me/shedaniel/gui/widget/Tab.java17
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/TextBox.java8
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/WidgetArrow.java22
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