aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev/isxander/yacl3/api/CustomTabProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/dev/isxander/yacl3/api/CustomTabProvider.java')
-rw-r--r--src/main/java/dev/isxander/yacl3/api/CustomTabProvider.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/dev/isxander/yacl3/api/CustomTabProvider.java b/src/main/java/dev/isxander/yacl3/api/CustomTabProvider.java
new file mode 100644
index 0000000..c890c70
--- /dev/null
+++ b/src/main/java/dev/isxander/yacl3/api/CustomTabProvider.java
@@ -0,0 +1,16 @@
+package dev.isxander.yacl3.api;
+
+import dev.isxander.yacl3.gui.YACLScreen;
+import net.minecraft.client.gui.components.tabs.Tab;
+import net.minecraft.client.gui.navigation.ScreenRectangle;
+
+/**
+ * Allows categories to provide custom tab windows that replaces the
+ * regular YACL options screen. The tabs at the top will remain visible,
+ * but you can now provide custom tab content for richer configurations.
+ * <p>
+ * Part of the GUI API: could change with minecraft updates and is not stable
+ */
+public interface CustomTabProvider {
+ Tab createTab(YACLScreen screen, ScreenRectangle tabArea);
+}