aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/gui
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-01-06 20:47:14 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-01-06 20:47:14 +0800
commit8622811b9b8cd1447d08f5ee1654d18e01098536 (patch)
treed59478a252703e752082cb774e31de32fd96654c /src/main/java/me/shedaniel/gui
parent63fdcc76da7e2d7cbd79d327c6dd72404708f64f (diff)
downloadRoughlyEnoughItems-8622811b9b8cd1447d08f5ee1654d18e01098536.tar.gz
RoughlyEnoughItems-8622811b9b8cd1447d08f5ee1654d18e01098536.tar.bz2
RoughlyEnoughItems-8622811b9b8cd1447d08f5ee1654d18e01098536.zip
Close #6
Diffstat (limited to 'src/main/java/me/shedaniel/gui')
-rw-r--r--src/main/java/me/shedaniel/gui/ConfigGui.java3
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/GuiItemList.java22
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/REIRenderHelper.java10
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/RecipeGui.java1
-rwxr-xr-xsrc/main/java/me/shedaniel/gui/widget/TextBox.java11
5 files changed, 22 insertions, 25 deletions
diff --git a/src/main/java/me/shedaniel/gui/ConfigGui.java b/src/main/java/me/shedaniel/gui/ConfigGui.java
index ab97be55f..266347adf 100644
--- a/src/main/java/me/shedaniel/gui/ConfigGui.java
+++ b/src/main/java/me/shedaniel/gui/ConfigGui.java
@@ -7,6 +7,7 @@ import me.shedaniel.gui.widget.KeyBindButton;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.widget.ButtonWidget;
+import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import java.io.IOException;
@@ -91,6 +92,7 @@ public class ConfigGui extends Gui {
@Override
public void draw(int int_1, int int_2, float float_1) {
+ GuiLighting.disable();
this.text = I18n.translate("text.rei.list_ordering_button", I18n.translate(Core.config.itemListOrdering.getNameTranslationKey()),
I18n.translate(Core.config.isAscending ? "ordering.rei.ascending" : "ordering.rei.descending"));
super.draw(int_1, int_2, float_1);
@@ -102,6 +104,7 @@ public class ConfigGui extends Gui {
public void draw(int mouseX, int mouseY, float partialTicks) {
drawBackground();
super.draw(mouseX, mouseY, partialTicks);
+ GuiLighting.disable();
String text = I18n.translate("key.rei.recipe") + ": ";
drawString(MinecraftClient.getInstance().fontRenderer, text, parent.width / 2 - 25 - MinecraftClient.getInstance().fontRenderer.getStringWidth(text), 30 + 6, -1);
text = I18n.translate("key.rei.use") + ": ";
diff --git a/src/main/java/me/shedaniel/gui/GuiItemList.java b/src/main/java/me/shedaniel/gui/GuiItemList.java
index 06bbd0104..18ea59d9b 100755
--- a/src/main/java/me/shedaniel/gui/GuiItemList.java
+++ b/src/main/java/me/shedaniel/gui/GuiItemList.java
@@ -129,7 +129,7 @@ public class GuiItemList extends Drawable {
}
private void fillSlots() {
- page = MathHelper.clamp(page, 0, (int) Math.floor(view.size() / displaySlots.size()));
+ page = MathHelper.clamp(page, 0, MathHelper.ceil(view.size() / displaySlots.size()));
int firstSlot = page * displaySlots.size();
for(int i = 0; i < displaySlots.size(); i++) {
if (firstSlot + i < view.size() && firstSlot + i >= 0) {
@@ -184,33 +184,27 @@ public class GuiItemList extends Drawable {
public void draw() {
if (!visible)
return;
- if (needsResize == true)
- resize();
- if (oldGuiLeft != ((IMixinContainerGui) overlayedGui).getGuiLeft())
+ if (needsResize == true || 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);
+ String header = String.format("%s/%s", page + 1, MathHelper.ceil(view.size() / displaySlots.size()) + 1);
MinecraftClient.getInstance().fontRenderer.drawWithShadow(header, rect.x + (rect.width / 2) - (MinecraftClient.getInstance().fontRenderer.getStringWidth(header) / 2), rect.y + 10, -1);
GlStateManager.popMatrix();
}
private void updateButtons() {
- if (page == 0)
- buttonLeft.setEnabled(false);
- else
- buttonLeft.setEnabled(true);
- if (displaySlots.size() + displaySlots.size() * page >= view.size())
- buttonRight.setEnabled(false);
- else
- buttonRight.setEnabled(true);
+ buttonLeft.setEnabled(MathHelper.ceil(view.size() / displaySlots.size()) > 1);
+ buttonRight.setEnabled(MathHelper.ceil(view.size() / displaySlots.size()) > 1);
}
public boolean btnRightClicked(int button) {
if (button == 0) {
page++;
+ if (page > MathHelper.ceil(view.size() / displaySlots.size()))
+ page = 0;
fillSlots();
return true;
}
@@ -220,6 +214,8 @@ public class GuiItemList extends Drawable {
public boolean btnLeftClicked(int button) {
if (button == 0) {
page--;
+ if (page < 0)
+ page = MathHelper.ceil(view.size() / displaySlots.size());
fillSlots();
return true;
}
diff --git a/src/main/java/me/shedaniel/gui/REIRenderHelper.java b/src/main/java/me/shedaniel/gui/REIRenderHelper.java
index 985eb721f..99f22c120 100755
--- a/src/main/java/me/shedaniel/gui/REIRenderHelper.java
+++ b/src/main/java/me/shedaniel/gui/REIRenderHelper.java
@@ -1,6 +1,5 @@
package me.shedaniel.gui;
-import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.ClientListener;
import me.shedaniel.gui.widget.Control;
import me.shedaniel.gui.widget.IFocusable;
@@ -99,15 +98,8 @@ public class REIRenderHelper {
private static void renderTooltips() {
- GlStateManager.pushMatrix();
- GlStateManager.enableLighting();
- for(TooltipData tooltipData : tooltipsToRender) {
- getOverlayedGui().drawTooltip(tooltipData.text, tooltipData.x, tooltipData.y);
- }
- GlStateManager.disableLighting();
+ tooltipsToRender.forEach(tooltipData -> getOverlayedGui().drawTooltip(tooltipData.text, tooltipData.x, tooltipData.y));
tooltipsToRender.clear();
- GlStateManager.popMatrix();
-
}
public static boolean mouseClick(int x, int y, int button) {
diff --git a/src/main/java/me/shedaniel/gui/RecipeGui.java b/src/main/java/me/shedaniel/gui/RecipeGui.java
index 7f655c23f..11731b120 100755
--- a/src/main/java/me/shedaniel/gui/RecipeGui.java
+++ b/src/main/java/me/shedaniel/gui/RecipeGui.java
@@ -83,6 +83,7 @@ public class RecipeGui extends ContainerGui {
drawBackground();
super.draw(mouseX, mouseY, partialTicks);
int y = (int) ((mainWindow.getScaledHeight() / 2 - this.guiHeight / 2));
+ GuiLighting.disable();
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);
diff --git a/src/main/java/me/shedaniel/gui/widget/TextBox.java b/src/main/java/me/shedaniel/gui/widget/TextBox.java
index 849e52c8c..6329c5c23 100755
--- a/src/main/java/me/shedaniel/gui/widget/TextBox.java
+++ b/src/main/java/me/shedaniel/gui/widget/TextBox.java
@@ -2,6 +2,7 @@ package me.shedaniel.gui.widget;
import me.shedaniel.gui.REIRenderHelper;
import net.minecraft.client.gui.widget.TextFieldWidget;
+import net.minecraft.client.render.GuiLighting;
import java.awt.*;
@@ -30,6 +31,7 @@ public class TextBox extends Control implements IFocusable {
@Override
public void draw() {
+ GuiLighting.disable();
textField.render(0, 0, 0);
}
@@ -44,6 +46,11 @@ public class TextBox extends Control implements IFocusable {
}
protected boolean doMouseClick(int button) {
+ if (button == 1) {
+ textField.setText("");
+ REIRenderHelper.updateSearch();
+ return true;
+ }
Point mouseLoc = REIRenderHelper.getMouseLoc();
if (!hasFocus())
setFocused(true);
@@ -52,10 +59,8 @@ public class TextBox extends Control implements IFocusable {
protected boolean onKeyPressed(int first, int second, int third) {
boolean handled = textField.keyPressed(first, second, third);
- if (handled) {
+ if (handled)
REIRenderHelper.updateSearch();
- }
-
return handled;
}