aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/dev/isxander/yacl/api/Binding.java
diff options
context:
space:
mode:
authorxander <xander@isxander.dev>2022-09-04 18:29:32 +0100
committerxander <xander@isxander.dev>2022-09-04 18:29:38 +0100
commit89f4185969e347c8649dea58bf85a09aad9d9983 (patch)
treebe1aa640ce099558f3f1ca7f7943b98a54584af0 /src/main/java/dev/isxander/yacl/api/Binding.java
parent80a9a0e744ed2bf3c00c75b2d6edc25bd93801a2 (diff)
downloadYetAnotherConfigLib-89f4185969e347c8649dea58bf85a09aad9d9983.tar.gz
YetAnotherConfigLib-89f4185969e347c8649dea58bf85a09aad9d9983.tar.bz2
YetAnotherConfigLib-89f4185969e347c8649dea58bf85a09aad9d9983.zip
collapsible groups, string controller
Diffstat (limited to 'src/main/java/dev/isxander/yacl/api/Binding.java')
-rw-r--r--src/main/java/dev/isxander/yacl/api/Binding.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/dev/isxander/yacl/api/Binding.java b/src/main/java/dev/isxander/yacl/api/Binding.java
index 37514ca..395beb2 100644
--- a/src/main/java/dev/isxander/yacl/api/Binding.java
+++ b/src/main/java/dev/isxander/yacl/api/Binding.java
@@ -46,4 +46,19 @@ public interface Binding<T> {
minecraftOption::setValue
);
}
+
+ /**
+ * Creates an immutable binding that has no default and cannot be modified.
+ *
+ * @param value the value for the binding
+ */
+ static <T> Binding<T> immutable(T value) {
+ Validate.notNull(value, "`value` must not be null");
+
+ return new GenericBindingImpl<>(
+ value,
+ () -> value,
+ changed -> {}
+ );
+ }
}