aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/gui/widget
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-01-24 23:05:57 +0800
committershedaniel <daniel@shedaniel.me>2020-01-24 23:05:57 +0800
commite4d5665de955e8f9377df2fc15bbfeb765dcaa95 (patch)
tree95fe2cffb67e86bb84827758994e8b019277be18 /src/main/java/me/shedaniel/rei/gui/widget
parentc230eab17af075bd58bcf8e6c6961e81bf53202a (diff)
downloadRoughlyEnoughItems-e4d5665de955e8f9377df2fc15bbfeb765dcaa95.tar.gz
RoughlyEnoughItems-e4d5665de955e8f9377df2fc15bbfeb765dcaa95.tar.bz2
RoughlyEnoughItems-e4d5665de955e8f9377df2fc15bbfeb765dcaa95.zip
3.3.16
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java15
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/LateRenderable.java13
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/LateRenderedButton.java21
3 files changed, 41 insertions, 8 deletions
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 01aa60655..24f34e8d2 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/CraftableToggleButtonWidget.java
@@ -5,11 +5,9 @@
package me.shedaniel.rei.gui.widget;
-import com.mojang.blaze3d.systems.RenderSystem;
import me.shedaniel.math.api.Rectangle;
import me.shedaniel.rei.api.ConfigManager;
import net.minecraft.block.Blocks;
-import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.item.ItemStack;
@@ -19,10 +17,11 @@ import org.jetbrains.annotations.ApiStatus;
import java.util.Optional;
@ApiStatus.Internal
-public abstract class CraftableToggleButtonWidget extends ButtonWidget {
+public abstract class CraftableToggleButtonWidget extends LateRenderedButton {
public static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png");
private ItemRenderer itemRenderer;
+ private static final ItemStack ICON = new ItemStack(Blocks.CRAFTING_TABLE);
public CraftableToggleButtonWidget(Rectangle rectangle) {
super(rectangle, "");
@@ -33,17 +32,17 @@ public abstract class CraftableToggleButtonWidget extends ButtonWidget {
this(new Rectangle(x, y, width, height));
}
+ @Override
public void lateRender(int mouseX, int mouseY, float delta) {
+ setBlitOffset(600);
super.render(mouseX, mouseY, delta);
- this.itemRenderer.zOffset = getBlitOffset();
+ this.itemRenderer.zOffset = getBlitOffset() - 98;
Rectangle bounds = getBounds();
- this.itemRenderer.renderGuiItem(new ItemStack(Blocks.CRAFTING_TABLE), bounds.x + 2, bounds.y + 2);
+ this.itemRenderer.renderGuiItemIcon(ICON, bounds.x + 2, bounds.y + 2);
this.itemRenderer.zOffset = 0.0F;
- MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
- RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
int color = ConfigManager.getInstance().isCraftableOnlyEnabled() ? 939579655 : 956235776;
- setBlitOffset(getBlitOffset() + 10);
+ setBlitOffset(getBlitOffset() + 1);
this.fillGradient(bounds.x + 1, bounds.y + 1, bounds.getMaxX() - 1, bounds.getMaxY() - 1, color, color);
setBlitOffset(0);
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/LateRenderable.java b/src/main/java/me/shedaniel/rei/gui/widget/LateRenderable.java
new file mode 100644
index 000000000..22b927af6
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/widget/LateRenderable.java
@@ -0,0 +1,13 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
+package me.shedaniel.rei.gui.widget;
+
+import org.jetbrains.annotations.ApiStatus;
+
+@ApiStatus.Internal
+public interface LateRenderable {
+ void lateRender(int mouseX, int mouseY, float delta);
+}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/LateRenderedButton.java b/src/main/java/me/shedaniel/rei/gui/widget/LateRenderedButton.java
new file mode 100644
index 000000000..e29e33261
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/gui/widget/LateRenderedButton.java
@@ -0,0 +1,21 @@
+/*
+ * Roughly Enough Items by Danielshe.
+ * Licensed under the MIT License.
+ */
+
+package me.shedaniel.rei.gui.widget;
+
+import me.shedaniel.math.api.Rectangle;
+import net.minecraft.text.Text;
+import org.jetbrains.annotations.ApiStatus;
+
+@ApiStatus.Internal
+public abstract class LateRenderedButton extends ButtonWidget implements LateRenderable {
+ protected LateRenderedButton(Rectangle rectangle, Text text) {
+ super(rectangle, text);
+ }
+
+ protected LateRenderedButton(Rectangle rectangle, String text) {
+ super(rectangle, text);
+ }
+}