From 89f4185969e347c8649dea58bf85a09aad9d9983 Mon Sep 17 00:00:00 2001 From: xander Date: Sun, 4 Sep 2022 18:29:32 +0100 Subject: collapsible groups, string controller --- src/main/java/dev/isxander/yacl/api/Binding.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/main/java/dev/isxander/yacl/api/Binding.java') 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 { minecraftOption::setValue ); } + + /** + * Creates an immutable binding that has no default and cannot be modified. + * + * @param value the value for the binding + */ + static Binding immutable(T value) { + Validate.notNull(value, "`value` must not be null"); + + return new GenericBindingImpl<>( + value, + () -> value, + changed -> {} + ); + } } -- cgit