|
@@ -17,23 +17,23 @@ import java.util.*;
|
|
import java.util.stream.Stream;
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
@Environment(EnvType.CLIENT)
|
|
-public final class GuiRegistry {
|
|
|
|
|
|
+public final class GuiProviderRegistry {
|
|
|
|
|
|
- private static final List<Provider> globalProviders = Lists.newArrayList(
|
|
|
|
- Provider.create(BooleanEntry.class, entry -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ private static final List<GuiProvider> globalProviders = Lists.newArrayList(
|
|
|
|
+ GuiProvider.create(BooleanEntry.class, entry -> ConfigEntryBuilder.create()
|
|
.startBooleanToggle(entry.getText(), entry.getValue())
|
|
.startBooleanToggle(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setYesNoTextSupplier(entry.getValueTextSupplier())
|
|
.setYesNoTextSupplier(entry.getValueTextSupplier())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
boolean.class, Boolean.class),
|
|
boolean.class, Boolean.class),
|
|
- Provider.create((Entry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
.startIntField(entry.getText(), entry.getValue())
|
|
.startIntField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
int.class, Integer.class),
|
|
int.class, Integer.class),
|
|
- Provider.create(BoundedEntry.class, (BoundedEntry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(BoundedEntry.class, (BoundedEntry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
.startIntField(entry.getText(), entry.getValue())
|
|
.startIntField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setMin(entry.getMin())
|
|
.setMin(entry.getMin())
|
|
@@ -41,27 +41,27 @@ public final class GuiRegistry {
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
int.class, Integer.class),
|
|
int.class, Integer.class),
|
|
- Provider.create(SliderEntry.class, (SliderEntry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(SliderEntry.class, (SliderEntry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
.startIntSlider(entry.getText(), entry.getValue(), entry.getMin(), entry.getMax())
|
|
.startIntSlider(entry.getText(), entry.getValue(), entry.getMin(), entry.getMax())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTextGetter(entry.getValueTextSupplier())
|
|
.setTextGetter(entry.getValueTextSupplier())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
int.class, Integer.class),
|
|
int.class, Integer.class),
|
|
- Provider.create(ColorEntry.class, (ColorEntry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(ColorEntry.class, (ColorEntry<Integer> entry) -> ConfigEntryBuilder.create()
|
|
.startColorField(entry.getText(), entry.getValue())
|
|
.startColorField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setAlphaMode(entry.isAlphaMode())
|
|
.setAlphaMode(entry.isAlphaMode())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
int.class, Integer.class),
|
|
int.class, Integer.class),
|
|
- Provider.create((Entry<Long> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Long> entry) -> ConfigEntryBuilder.create()
|
|
.startLongField(entry.getText(), entry.getValue())
|
|
.startLongField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
long.class, Long.class),
|
|
long.class, Long.class),
|
|
- Provider.create(BoundedEntry.class, (BoundedEntry<Long> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(BoundedEntry.class, (BoundedEntry<Long> entry) -> ConfigEntryBuilder.create()
|
|
.startLongField(entry.getText(), entry.getValue())
|
|
.startLongField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setMin(entry.getMin())
|
|
.setMin(entry.getMin())
|
|
@@ -69,20 +69,20 @@ public final class GuiRegistry {
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
long.class, Long.class),
|
|
long.class, Long.class),
|
|
- Provider.create(SliderEntry.class, (SliderEntry<Long> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(SliderEntry.class, (SliderEntry<Long> entry) -> ConfigEntryBuilder.create()
|
|
.startLongSlider(entry.getText(), entry.getValue(), entry.getMin(), entry.getMax())
|
|
.startLongSlider(entry.getText(), entry.getValue(), entry.getMin(), entry.getMax())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTextGetter(entry.getValueTextSupplier())
|
|
.setTextGetter(entry.getValueTextSupplier())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
long.class, Long.class),
|
|
long.class, Long.class),
|
|
- Provider.create((Entry<Float> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Float> entry) -> ConfigEntryBuilder.create()
|
|
.startFloatField(entry.getText(), entry.getValue())
|
|
.startFloatField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
float.class, Float.class),
|
|
float.class, Float.class),
|
|
- Provider.create(BoundedEntry.class, (BoundedEntry<Float> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(BoundedEntry.class, (BoundedEntry<Float> entry) -> ConfigEntryBuilder.create()
|
|
.startFloatField(entry.getText(), entry.getValue())
|
|
.startFloatField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setMin(entry.getMin())
|
|
.setMin(entry.getMin())
|
|
@@ -90,13 +90,13 @@ public final class GuiRegistry {
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
float.class, Float.class),
|
|
float.class, Float.class),
|
|
- Provider.create((Entry<Double> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Double> entry) -> ConfigEntryBuilder.create()
|
|
.startDoubleField(entry.getText(), entry.getValue())
|
|
.startDoubleField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
double.class, Double.class),
|
|
double.class, Double.class),
|
|
- Provider.create(BoundedEntry.class, (BoundedEntry<Double> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(BoundedEntry.class, (BoundedEntry<Double> entry) -> ConfigEntryBuilder.create()
|
|
.startDoubleField(entry.getText(), entry.getValue())
|
|
.startDoubleField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setMin(entry.getMin())
|
|
.setMin(entry.getMin())
|
|
@@ -104,19 +104,19 @@ public final class GuiRegistry {
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
double.class, Double.class),
|
|
double.class, Double.class),
|
|
- Provider.create((Entry<String> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<String> entry) -> ConfigEntryBuilder.create()
|
|
.startStrField(entry.getText(), entry.getValue())
|
|
.startStrField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
String.class),
|
|
String.class),
|
|
- Provider.create(EnumEntry.class, (EnumEntry<Enum<?>> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(EnumEntry.class, (EnumEntry<Enum<?>> entry) -> ConfigEntryBuilder.create()
|
|
.startEnumSelector(entry.getText(), entry.getTypeClass(), entry.getValue())
|
|
.startEnumSelector(entry.getText(), entry.getTypeClass(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setEnumNameProvider(entry.getValueTextSupplier())
|
|
.setEnumNameProvider(entry.getValueTextSupplier())
|
|
.setSaveConsumer(entry::setValue)),
|
|
.setSaveConsumer(entry::setValue)),
|
|
- Provider.create(DropdownEntry.class, (DropdownEntry<Enum<?>> entry) -> {
|
|
|
|
|
|
+ GuiProvider.create(DropdownEntry.class, (DropdownEntry<Enum<?>> entry) -> {
|
|
List<Enum> enumValues = Arrays.asList(((Class<? extends Enum<?>>) entry.getTypeClass()).getEnumConstants());
|
|
List<Enum> enumValues = Arrays.asList(((Class<? extends Enum<?>>) entry.getTypeClass()).getEnumConstants());
|
|
return ConfigEntryBuilder.create()
|
|
return ConfigEntryBuilder.create()
|
|
.startDropdownMenu(entry.getText(), DropdownMenuBuilder.TopCellElementBuilder.of(
|
|
.startDropdownMenu(entry.getText(), DropdownMenuBuilder.TopCellElementBuilder.of(
|
|
@@ -129,67 +129,67 @@ public final class GuiRegistry {
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setSaveConsumer(entry::setValue);
|
|
.setSaveConsumer(entry::setValue);
|
|
}),
|
|
}),
|
|
- Provider.create((Entry<List<Integer>> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<List<Integer>> entry) -> ConfigEntryBuilder.create()
|
|
.startIntList(entry.getText(), entry.getValue())
|
|
.startIntList(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
new TypeToken<List<Integer>>() {}.getType()),
|
|
new TypeToken<List<Integer>>() {}.getType()),
|
|
- Provider.create((Entry<Integer[]> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Integer[]> entry) -> ConfigEntryBuilder.create()
|
|
.startIntList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.startIntList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Integer[0]))),
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Integer[0]))),
|
|
int[].class, Integer[].class),
|
|
int[].class, Integer[].class),
|
|
- Provider.create((Entry<List<Long>> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<List<Long>> entry) -> ConfigEntryBuilder.create()
|
|
.startLongList(entry.getText(), entry.getValue())
|
|
.startLongList(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
new TypeToken<List<Long>>() {}.getType()),
|
|
new TypeToken<List<Long>>() {}.getType()),
|
|
- Provider.create((Entry<Long[]> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Long[]> entry) -> ConfigEntryBuilder.create()
|
|
.startLongList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.startLongList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Long[0]))),
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Long[0]))),
|
|
long[].class, Long[].class),
|
|
long[].class, Long[].class),
|
|
- Provider.create((Entry<List<Float>> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<List<Float>> entry) -> ConfigEntryBuilder.create()
|
|
.startFloatList(entry.getText(), entry.getValue())
|
|
.startFloatList(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
new TypeToken<List<Float>>() {}.getType()),
|
|
new TypeToken<List<Float>>() {}.getType()),
|
|
- Provider.create((Entry<Float[]> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Float[]> entry) -> ConfigEntryBuilder.create()
|
|
.startFloatList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.startFloatList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Float[0]))),
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Float[0]))),
|
|
float[].class, Float[].class),
|
|
float[].class, Float[].class),
|
|
- Provider.create((Entry<List<Double>> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<List<Double>> entry) -> ConfigEntryBuilder.create()
|
|
.startDoubleList(entry.getText(), entry.getValue())
|
|
.startDoubleList(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
new TypeToken<List<Double>>() {}.getType()),
|
|
new TypeToken<List<Double>>() {}.getType()),
|
|
- Provider.create((Entry<Double[]> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<Double[]> entry) -> ConfigEntryBuilder.create()
|
|
.startDoubleList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.startDoubleList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Double[0]))),
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new Double[0]))),
|
|
double[].class, Double[].class),
|
|
double[].class, Double[].class),
|
|
- Provider.create((Entry<List<String>> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<List<String>> entry) -> ConfigEntryBuilder.create()
|
|
.startStrList(entry.getText(), entry.getValue())
|
|
.startStrList(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(entry::setValue),
|
|
.setSaveConsumer(entry::setValue),
|
|
new TypeToken<List<String>>() {}.getType()),
|
|
new TypeToken<List<String>>() {}.getType()),
|
|
- Provider.create((Entry<String[]> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create((Entry<String[]> entry) -> ConfigEntryBuilder.create()
|
|
.startStrList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.startStrList(entry.getText(), Arrays.asList(entry.getValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setDefaultValue(Arrays.asList(entry.getDefaultValue()))
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new String[0]))),
|
|
.setSaveConsumer(list -> entry.setValue(list.toArray(new String[0]))),
|
|
String[].class),
|
|
String[].class),
|
|
- Provider.create(ColorEntry.class, (ColorEntry<TextColor> entry) -> ConfigEntryBuilder.create()
|
|
|
|
|
|
+ GuiProvider.create(ColorEntry.class, (ColorEntry<TextColor> entry) -> ConfigEntryBuilder.create()
|
|
.startColorField(entry.getText(), entry.getValue())
|
|
.startColorField(entry.getText(), entry.getValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setDefaultValue(entry.getDefaultValue())
|
|
.setTooltip(entry.getTooltip())
|
|
.setTooltip(entry.getTooltip())
|
|
@@ -198,14 +198,14 @@ public final class GuiRegistry {
|
|
);
|
|
);
|
|
|
|
|
|
static {
|
|
static {
|
|
- for (Collection<Provider> providers : CompleteConfig.collectExtensions(GuiExtension.class, GuiExtension::getProviders)) {
|
|
|
|
|
|
+ for (Collection<GuiProvider> providers : CompleteConfig.collectExtensions(GuiExtension.class, GuiExtension::getProviders)) {
|
|
globalProviders.addAll(providers);
|
|
globalProviders.addAll(providers);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private final List<Provider> providers = new ArrayList<>();
|
|
|
|
|
|
+ private final List<GuiProvider> providers = new ArrayList<>();
|
|
|
|
|
|
- public void add(Provider... providers) {
|
|
|
|
|
|
+ public void add(GuiProvider... providers) {
|
|
Collections.addAll(this.providers, providers);
|
|
Collections.addAll(this.providers, providers);
|
|
}
|
|
}
|
|
|
|
|