aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/api/widgets/Slot.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/widgets/Slot.java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/widgets/Slot.java104
1 files changed, 104 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/widgets/Slot.java b/src/main/java/me/shedaniel/rei/api/widgets/Slot.java
new file mode 100644
index 000000000..e12143d0e
--- /dev/null
+++ b/src/main/java/me/shedaniel/rei/api/widgets/Slot.java
@@ -0,0 +1,104 @@
+package me.shedaniel.rei.api.widgets;
+
+import me.shedaniel.rei.api.EntryStack;
+import me.shedaniel.rei.gui.widget.QueuedTooltip;
+import me.shedaniel.rei.gui.widget.WidgetWithBounds;
+
+import java.util.Collection;
+import java.util.List;
+
+public abstract class Slot extends WidgetWithBounds {
+ public Slot unmarkInputOrOutput() {
+ setNoticeMark((byte) 0);
+ return this;
+ }
+
+ public final Slot markInput() {
+ setNoticeMark((byte) 1);
+ return this;
+ }
+
+ public final Slot markOutput() {
+ setNoticeMark((byte) 2);
+ return this;
+ }
+
+ public abstract void setNoticeMark(byte mark);
+
+ public abstract byte getNoticeMark();
+
+ public abstract void setInteractable(boolean interactable);
+
+ public abstract boolean isInteractable();
+
+ public Slot interactable(boolean interactable) {
+ setInteractable(interactable);
+ return this;
+ }
+
+ public Slot noInteractable() {
+ return interactable(false);
+ }
+
+ public abstract void setInteractableFavorites(boolean interactableFavorites);
+
+ public abstract boolean isInteractableFavorites();
+
+ public Slot interactableFavorites(boolean interactableFavorites) {
+ setInteractableFavorites(interactableFavorites);
+ return this;
+ }
+
+ public Slot noFavoritesInteractable() {
+ return interactableFavorites(false);
+ }
+
+ public abstract void setHighlightEnabled(boolean highlights);
+
+ public abstract boolean isHighlightEnabled();
+
+ public final Slot highlightEnabled(boolean highlight) {
+ setHighlightEnabled(highlight);
+ return this;
+ }
+
+ public final Slot disableHighlight() {
+ return highlightEnabled(false);
+ }
+
+ public abstract void setTooltipsEnabled(boolean tooltipsEnabled);
+
+ public abstract boolean isTooltipsEnabled();
+
+ public final Slot tooltipsEnabled(boolean tooltipsEnabled) {
+ setTooltipsEnabled(tooltipsEnabled);
+ return this;
+ }
+
+ public final Slot disableTooltips() {
+ return tooltipsEnabled(false);
+ }
+
+ public abstract void setBackgroundEnabled(boolean backgroundEnabled);
+
+ public abstract boolean isBackgroundEnabled();
+
+ public final Slot backgroundEnabled(boolean backgroundEnabled) {
+ setBackgroundEnabled(backgroundEnabled);
+ return this;
+ }
+
+ public final Slot disableBackground() {
+ return backgroundEnabled(false);
+ }
+
+ public abstract Slot clearEntries();
+
+ public abstract Slot entry(EntryStack stack);
+
+ public abstract Slot entries(Collection<EntryStack> stacks);
+
+ public abstract List<EntryStack> getEntries();
+
+ public abstract QueuedTooltip getCurrentTooltip(int mouseX, int mouseY);
+}