aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-04-13 15:40:23 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-04-13 15:40:23 +0800
commit2570a35b35ec29b6677e318f2bf3d5b6640bf106 (patch)
tree28a69c3180b5f875cb931b154ee3718d96067e17 /src/main/java
parent41998600e53f941554c8d73790180c13a2e5663c (diff)
downloadRoughlyEnoughItems-2570a35b35ec29b6677e318f2bf3d5b6640bf106.tar.gz
RoughlyEnoughItems-2570a35b35ec29b6677e318f2bf3d5b6640bf106.tar.bz2
RoughlyEnoughItems-2570a35b35ec29b6677e318f2bf3d5b6640bf106.zip
v2.7.3 Bug fixes
Fix #56
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/RecipeCategory.java3
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java6
-rw-r--r--src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingConfig.java34
-rw-r--r--src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java90
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java22
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsItem.java24
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java16
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java5
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java6
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java51
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java14
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java1
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java3
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/Widget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinClientPlayerNetworkHandler.java31
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java13
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java7
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java15
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java10
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java13
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java13
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingCategory.java21
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java8
-rw-r--r--src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java41
32 files changed, 228 insertions, 261 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
index b0756a087..80b7aa167 100644
--- a/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
+++ b/src/main/java/me/shedaniel/rei/api/RecipeCategory.java
@@ -1,6 +1,7 @@
package me.shedaniel.rei.api;
import me.shedaniel.rei.gui.RecipeViewingScreen;
+import me.shedaniel.rei.gui.widget.CategoryBaseWidget;
import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
import me.shedaniel.rei.gui.widget.Widget;
import net.minecraft.client.gui.DrawableHelper;
@@ -26,7 +27,7 @@ public interface RecipeCategory<T extends RecipeDisplay> {
}
default void drawCategoryBackground(Rectangle bounds, int mouseX, int mouseY, float delta) {
- new RecipeBaseWidget(bounds).render();
+ new CategoryBaseWidget(bounds).render();
DrawableHelper.fill(bounds.x + 17, bounds.y + 5, bounds.x + bounds.width - 17, bounds.y + 17, RecipeViewingScreen.SUB_COLOR.getRGB());
DrawableHelper.fill(bounds.x + 17, bounds.y + 21, bounds.x + bounds.width - 17, bounds.y + 33, RecipeViewingScreen.SUB_COLOR.getRGB());
}
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index 3bad4263d..ff7e325b9 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -519,10 +519,8 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
@Override
public boolean mouseClicked(double double_1, double double_2, int int_1) {
- if (isVisible() && getBounds().contains(double_1, double_2) && int_1 == 1) {
+ if (isVisible() && getBounds().contains(double_1, double_2) && int_1 == 1)
setText("");
- return true;
- }
return super.mouseClicked(double_1, double_2, int_1);
}
diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
index 4555d5bff..b643e2c51 100644
--- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
@@ -94,8 +94,8 @@ public class RecipeViewingScreen extends Screen {
}
if (choosePageActivated)
return recipeChoosePageWidget.keyPressed(int_1, int_2, int_3);
- for(Widget widget : widgets)
- if (widget.keyPressed(int_1, int_2, int_3))
+ for(Element element : children())
+ if (element.keyPressed(int_1, int_2, int_3))
return true;
return super.keyPressed(int_1, int_2, int_3);
}
@@ -314,7 +314,7 @@ public class RecipeViewingScreen extends Screen {
if (selectedCategory != null)
selectedCategory.drawCategoryBackground(bounds, mouseX, mouseY, delta);
else {
- new RecipeBaseWidget(bounds).render();
+ new CategoryBaseWidget(bounds).render();
fill(bounds.x + 17, bounds.y + 5, bounds.x + bounds.width - 17, bounds.y + 17, SUB_COLOR.getRGB());
fill(bounds.x + 17, bounds.y + 21, bounds.x + bounds.width - 17, bounds.y + 33, SUB_COLOR.getRGB());
}
diff --git a/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingConfig.java b/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingConfig.java
new file mode 100644
index 000000000..7dbb40042
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingConfig.java
@@ -0,0 +1,34 @@
+package me.shedaniel.rei.gui.config;
+
+import me.shedaniel.rei.client.ItemListOrdering;
+import net.minecraft.client.resource.language.I18n;
+
+public enum ItemListOrderingConfig {
+ REGISTRY_ASCENDING(ItemListOrdering.registry, true), NAME_ASCENDING(ItemListOrdering.name, true), GROUPS_ASCENDING(ItemListOrdering.item_groups, true), REGISTRY_DESCENDING(ItemListOrdering.registry, false), NAME_DESCENDING(ItemListOrdering.name, false), GROUPS_DESCENDING(ItemListOrdering.item_groups, false);
+
+ private ItemListOrdering ordering;
+ private boolean isAscending;
+
+ ItemListOrderingConfig(ItemListOrdering ordering, boolean isAscending) {
+ this.ordering = ordering;
+ this.isAscending = isAscending;
+ }
+
+ public static ItemListOrderingConfig from(ItemListOrdering ordering, boolean isAscending) {
+ int index = ordering.ordinal() + (isAscending ? 0 : 3);
+ return values()[index];
+ }
+
+ public ItemListOrdering getOrdering() {
+ return ordering;
+ }
+
+ public boolean isAscending() {
+ return isAscending;
+ }
+
+ @Override
+ public String toString() {
+ return I18n.translate("text.rei.config.list_ordering_button", I18n.translate(getOrdering().getNameTranslationKey()), I18n.translate(isAscending ? "ordering.rei.ascending" : "ordering.rei.descending"));
+ }
+}
diff --git a/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java b/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java
deleted file mode 100644
index f70d1be88..000000000
--- a/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package me.shedaniel.rei.gui.config;
-
-import com.google.common.collect.Lists;
-import me.shedaniel.cloth.gui.ClothConfigScreen.ListEntry;
-import me.shedaniel.rei.RoughlyEnoughItemsCore;
-import me.shedaniel.rei.client.ItemListOrdering;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.Element;
-import net.minecraft.client.gui.widget.ButtonWidget;
-import net.minecraft.client.resource.language.I18n;
-import net.minecraft.client.util.Window;
-import net.minecraft.util.Pair;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Optional;
-import java.util.concurrent.atomic.AtomicReference;
-
-public class ItemListOrderingEntry extends ListEntry {
- private AtomicReference<Pair<ItemListOrdering, Boolean>> value;
- private ButtonWidget buttonWidget;
- private ButtonWidget resetButton;
- private List<Element> widgets;
-
- public ItemListOrderingEntry(String fieldName, Pair<ItemListOrdering, Boolean> val) {
- super(fieldName);
- this.value = new AtomicReference(val);
- this.buttonWidget = new ButtonWidget(0, 0, 150, 20, "", widget -> {
- int index = Arrays.asList(ItemListOrdering.values()).indexOf(value.get().getLeft()) + 1;
- boolean currentAscending = value.get().getRight();
- if (index >= ItemListOrdering.values().length) {
- index = 0;
- currentAscending = !currentAscending;
- }
- ItemListOrderingEntry.this.value.set(new Pair<>(ItemListOrdering.values()[index], currentAscending));
- getScreen().setEdited(true);
- });
- this.resetButton = new ButtonWidget(0, 0, MinecraftClient.getInstance().textRenderer.getStringWidth(I18n.translate("text.cloth.reset_value")) + 6, 20, I18n.translate("text.cloth.reset_value"), (widget) -> {
- this.value.set((Pair) getDefaultValue().get());
- getScreen().setEdited(true);
- });
- this.widgets = Lists.newArrayList(this.buttonWidget, this.resetButton);
- }
-
- public Object getObject() {
- return this.value.get();
- }
-
- @Override
- public Optional<Object> getDefaultValue() {
- return Optional.of(new Pair<>(ItemListOrdering.registry, true));
- }
-
- @Override
- public void render(int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) {
- Window window = MinecraftClient.getInstance().window;
- this.resetButton.active = this.getDefaultValue().isPresent() && (((Pair<ItemListOrdering, Boolean>) this.getDefaultValue().get()).getLeft() != this.value.get().getLeft() || ((Pair<ItemListOrdering, Boolean>) this.getDefaultValue().get()).getRight().booleanValue() != this.value.get().getRight().booleanValue());
- this.resetButton.y = y;
- this.buttonWidget.y = y;
- this.buttonWidget.setMessage(I18n.translate("text.rei.config.list_ordering_button", I18n.translate(value.get().getLeft().getNameTranslationKey()), I18n.translate(value.get().getRight() ? "ordering.rei.ascending" : "ordering.rei.descending")));
- if (MinecraftClient.getInstance().textRenderer.isRightToLeft()) {
- MinecraftClient.getInstance().textRenderer.drawWithShadow(I18n.translate(this.getFieldName(), new Object[0]), (float) (window.getScaledWidth() - x - MinecraftClient.getInstance().textRenderer.getStringWidth(I18n.translate(this.getFieldName(), new Object[0]))), (float) (y + 5), 16777215);
- this.resetButton.x = x;
- this.buttonWidget.x = x + this.resetButton.getWidth() + 2;
- this.buttonWidget.setWidth(150 - this.resetButton.getWidth() - 2);
- } else {
- MinecraftClient.getInstance().textRenderer.drawWithShadow(I18n.translate(this.getFieldName(), new Object[0]), (float) x, (float) (y + 5), 16777215);
- this.resetButton.x = window.getScaledWidth() - x - this.resetButton.getWidth();
- this.buttonWidget.x = window.getScaledWidth() - x - 150;
- this.buttonWidget.setWidth(150 - this.resetButton.getWidth() - 2);
- }
- this.buttonWidget.render(mouseX, mouseY, delta);
- this.resetButton.render(mouseX, mouseY, delta);
- }
-
- public String getYesNoText(boolean bool) {
- return bool ? "§aYes" : "§cNo";
- }
-
- @Override
- public List<? extends Element> children() {
- return widgets;
- }
-
- @Override
- public void save() {
- RoughlyEnoughItemsCore.getConfigManager().getConfig().itemListOrdering = value.get().getLeft();
- RoughlyEnoughItemsCore.getConfigManager().getConfig().isAscending = value.get().getRight();
- }
-}
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
index 2ef5e7a39..451f05128 100644
--- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
@@ -1,9 +1,10 @@
package me.shedaniel.rei.gui.credits;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.widget.ItemListWidget;
+import net.minecraft.client.gui.menu.AlwaysSelectedItemListWidget;
+import net.minecraft.text.TextComponent;
-public class CreditsEntryListWidget extends ItemListWidget<CreditsItem> {
+public class CreditsEntryListWidget extends AlwaysSelectedItemListWidget<CreditsEntryListWidget.CreditsItem> {
public CreditsEntryListWidget(MinecraftClient client, int width, int height, int startY, int endY, int entryHeight) {
super(client, width, height, startY, endY, entryHeight);
@@ -32,4 +33,21 @@ public class CreditsEntryListWidget extends ItemListWidget<CreditsItem> {
return width - 40;
}
+ public static class CreditsItem extends AlwaysSelectedItemListWidget.class_4281<CreditsItem> {
+ private String text;
+
+ public CreditsItem(TextComponent textComponent) {
+ this(textComponent.getFormattedText());
+ }
+
+ public CreditsItem(String text) {
+ this.text = text;
+ }
+
+ @Override
+ public void render(int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) {
+ MinecraftClient.getInstance().textRenderer.drawWithShadow(text, x + 5, y + 5, -1);
+ }
+ }
+
}
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsItem.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsItem.java
deleted file mode 100644
index 0c7c1f8ce..000000000
--- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsItem.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package me.shedaniel.rei.gui.credits;
-
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.widget.ItemListWidget;
-import net.minecraft.text.TextComponent;
-
-public class CreditsItem extends ItemListWidget.Item<CreditsItem> {
-
- private String text;
-
- public CreditsItem(TextComponent textComponent) {
- this(textComponent.getFormattedText());
- }
-
- public CreditsItem(String text) {
- this.text = text;
- }
-
- @Override
- public void render(int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) {
- MinecraftClient.getInstance().textRenderer.drawWithShadow(text, x + 5, y + 5, -1);
- }
-
-}
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
index b09ca2fa1..bc780b53f 100644
--- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
@@ -1,6 +1,7 @@
package me.shedaniel.rei.gui.credits;
import me.shedaniel.rei.client.ScreenHelper;
+import me.shedaniel.rei.gui.credits.CreditsEntryListWidget.CreditsItem;
import me.shedaniel.rei.gui.widget.ButtonWidget;
import net.minecraft.client.gui.ContainerScreen;
import net.minecraft.client.gui.Screen;
@@ -48,7 +49,7 @@ public class CreditsScreen extends Screen {
@Override
public boolean mouseScrolled(double double_1, double double_2, double double_3) {
- if (entryListWidget.mouseScrolled(double_1, double_2, double_3))
+ if (entryListWidget.mouseScrolled(double_1, double_2, double_3 * 3))
return true;
return super.mouseScrolled(double_1, double_2, double_3);
}
@@ -59,6 +60,7 @@ public class CreditsScreen extends Screen {
this.entryListWidget.render(int_1, int_2, float_1);
this.drawCenteredString(this.font, I18n.translate("text.rei.credits"), this.width / 2, 16, 16777215);
super.render(int_1, int_2, float_1);
+ buttonDone.render(int_1, int_2, float_1);
}
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
index f1a3d41b1..03c8a0b96 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
@@ -3,7 +3,6 @@ package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.rei.client.ScreenHelper;
import net.minecraft.client.audio.PositionedSoundInstance;
-import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.Element;
import net.minecraft.client.gui.widget.AbstractButtonWidget;
import net.minecraft.sound.SoundEvents;
@@ -58,7 +57,6 @@ public abstract class ButtonWidget extends HighlightableWidget {
@Override
public void render(int mouseX, int mouseY, float delta) {
int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
- TextRenderer textRenderer = minecraft.textRenderer;
minecraft.getTextureManager().bindTexture(AbstractButtonWidget.WIDGETS_LOCATION);
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
int textureOffset = this.getTextureId(isHovered(mouseX, mouseY));
@@ -87,7 +85,7 @@ public abstract class ButtonWidget extends HighlightableWidget {
colour = 16777120;
}
- this.drawCenteredString(textRenderer, this.text, x + width / 2, y + (height - 8) / 2, colour);
+ this.drawCenteredString(font, text, x + width / 2, y + (height - 8) / 2, colour);
if (getTooltips().isPresent())
if (!focused && isHighlighted(mouseX, mouseY))
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java
new file mode 100644
index 000000000..68cf078c9
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/widget/CategoryBaseWidget.java
@@ -0,0 +1,16 @@
+package me.shedaniel.rei.gui.widget;
+
+import java.awt.*;
+
+public class CategoryBaseWidget extends RecipeBaseWidget {
+
+ public CategoryBaseWidget(Rectangle bounds) {
+ super(bounds);
+ }
+
+ @Override
+ protected int getTextureOffset() {
+ return 66;
+ }
+
+}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
index db43fbafc..43c11bc92 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
@@ -19,7 +19,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
int colour = -1;
if (isHovered(mouseX, mouseY))
colour = hoveredColor;
- drawCenteredString(textRenderer, (isHovered(mouseX, mouseY) ? "§n" : "") + text, x, y, colour);
+ drawCenteredString(font, (isHovered(mouseX, mouseY) ? "§n" : "") + text, x, y, colour);
if (getTooltips().isPresent())
if (!focused && isHighlighted(mouseX, mouseY))
ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltips().get().split("\n")));
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
index a49ea8dd1..e635f6b54 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
@@ -39,8 +39,9 @@ public abstract class CraftableToggleButtonWidget extends ButtonWidget {
GuiLighting.disable();
MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.blitOffset += 100;
- this.blit(getBounds().x, getBounds().y, (56 + (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() ? 0 : 20)), 202, 20, 20);
+ int color = RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() ? 939579655 : 956235776;
+ this.blitOffset += 100f;
+ this.fillGradient(getBounds().x, getBounds().y, getBounds().x + getBounds().width, getBounds().y + getBounds().height, color, color);
this.blitOffset = 0;
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java
index 65b07728d..afcec07f7 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/DraggableWidget.java
@@ -45,7 +45,7 @@ public abstract class DraggableWidget extends HighlightableWidget {
dragged = true;
}
} else {
- Window window = MinecraftClient.getInstance().window;
+ Window window = minecraft.window;
midPoint = processMidPoint(midPoint, mouse, startPoint, window, relateX, relateY);
updateWidgets(midPoint);
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
index 0ec150ed3..44895525e 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
@@ -69,7 +69,7 @@ public class ItemSlotWidget extends HighlightableWidget {
GlStateManager.disableLighting();
GlStateManager.disableDepthTest();
GlStateManager.colorMask(true, true, true, false);
- fill(x, y, x + 16, y + 16, -2130706433);
+ fillGradient(x, y, x + 16, y + 16, -2130706433, -2130706433);
GlStateManager.colorMask(true, true, true, true);
GlStateManager.enableLighting();
GlStateManager.enableDepthTest();
@@ -81,7 +81,7 @@ public class ItemSlotWidget extends HighlightableWidget {
ItemRenderer itemRenderer = minecraft.getItemRenderer();
itemRenderer.zOffset = 200.0F;
itemRenderer.renderGuiItem(itemStack, x, y);
- itemRenderer.renderGuiItemOverlay(minecraft.textRenderer, itemStack, x, y, getItemCountOverlay(itemStack));
+ itemRenderer.renderGuiItemOverlay(font, itemStack, x, y, getItemCountOverlay(itemStack));
itemRenderer.zOffset = 0.0F;
}
if (!itemStack.isEmpty() && isHighlighted(mouseX, mouseY) && showToolTips)
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java
index f452dc472..40b84b811 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/LabelWidget.java
@@ -12,18 +12,16 @@ public class LabelWidget extends HighlightableWidget {
public int x;
public int y;
public String text;
- protected TextRenderer textRenderer;
public LabelWidget(int x, int y, String text) {
this.x = x;
this.y = y;
this.text = text;
- this.textRenderer = minecraft.textRenderer;
}
@Override
public Rectangle getBounds() {
- int width = textRenderer.getStringWidth(text);
+ int width = font.getStringWidth(text);
return new Rectangle(x - width / 2 - 1, y - 5, width + 2, 14);
}
@@ -34,7 +32,7 @@ public class LabelWidget extends HighlightableWidget {
@Override
public void render(int mouseX, int mouseY, float delta) {
- drawCenteredString(textRenderer, text, x, y, -1);
+ drawCenteredString(font, text, x, y, -1);
}
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
index 72b042f63..5d4341fdb 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/RecipeBaseWidget.java
@@ -1,10 +1,8 @@
package me.shedaniel.rei.gui.widget;
import com.mojang.blaze3d.platform.GlStateManager;
-import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.GuiLighting;
import net.minecraft.util.Identifier;
-import net.minecraft.util.math.MathHelper;
import java.awt.*;
import java.util.Collections;
@@ -19,6 +17,8 @@ public class RecipeBaseWidget extends HighlightableWidget {
public RecipeBaseWidget(Rectangle bounds) {
this.bounds = bounds;
+ if (bounds.width < 8 || bounds.height < 8)
+ throw new IllegalArgumentException("Base too small, at least 8x8!");
}
@Override
@@ -39,26 +39,33 @@ public class RecipeBaseWidget extends HighlightableWidget {
public void render(int mouseX, int mouseY, float delta) {
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
GuiLighting.disable();
- MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
- blit(bounds.x, bounds.y, 106, 190, bounds.width / 2, bounds.height / 2);
- blit(bounds.x + bounds.width / 2, bounds.y, 256 - bounds.width / 2, 190, bounds.width / 2, bounds.height / 2);
- blit(bounds.x, bounds.y + bounds.height / 2, 106, 190 + 66 - bounds.height / 2, bounds.width / 2, bounds.height / 2);
- blit(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2, 256 - bounds.width / 2, 190 + 66 - bounds.height / 2, bounds.width / 2, bounds.height / 2);
- if (bounds.height > 40)
- for(int i = 20; i < bounds.height - 20; i += MathHelper.clamp(20, 0, bounds.height - 20 - i)) {
- int height = MathHelper.clamp(20, 0, bounds.height - 20 - i);
- blit(bounds.x, bounds.y + i, 106, 230, bounds.width / 2, height);
- blit(bounds.x + bounds.width / 2, bounds.y + i, 256 - bounds.width / 2, 210, bounds.width / 2, height);
- }
- if (bounds.width > 40)
- for(int i = 20; i < bounds.width - 20; i += MathHelper.clamp(40, 0, bounds.width - 20 - i)) {
- int width = MathHelper.clamp(40, 0, bounds.width - 20 - i);
- GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
- GuiLighting.disable();
- blit(bounds.x + i, bounds.y, 113, 190, width, MathHelper.clamp(4, 0, bounds.height / 2));
- blit(bounds.x + i, bounds.y + bounds.height - 4, 113, 252, width, MathHelper.clamp(4, 0, bounds.height / 2));
- fill(bounds.x + i, bounds.y + 4, bounds.x + i + width, bounds.y + bounds.height - 4, INNER_COLOR.getRGB());
- }
+ minecraft.getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
+ int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
+ int textureOffset = getTextureOffset();
+
+ //Four Corners
+ this.blit(x, y, 106, 124 + textureOffset, 4, 4);
+ this.blit(x + width - 4, y, 252, 124 + textureOffset, 4, 4);
+ this.blit(x, y + height - 4, 106, 186 + textureOffset, 4, 4);
+ this.blit(x + width - 4, y + height - 4, 252, 186 + textureOffset, 4, 4);
+
+ //Sides
+ for(int xx = 4; xx < width - 4; xx += 128) {
+ int thisWidth = Math.min(128, width - 4 - xx);
+ this.blit(x + xx, y, 110, 124 + textureOffset, thisWidth, 4);
+