123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- package me.shedaniel.clothconfig2.impl;
- import me.shedaniel.clothconfig2.api.AbstractConfigListEntry;
- import me.shedaniel.clothconfig2.api.ConfigEntryBuilder;
- import me.shedaniel.clothconfig2.api.ModifierKeyCode;
- import me.shedaniel.clothconfig2.gui.entries.DropdownBoxEntry.SelectionCellCreator;
- import me.shedaniel.clothconfig2.gui.entries.DropdownBoxEntry.SelectionTopCellElement;
- import me.shedaniel.clothconfig2.impl.builders.*;
- import net.fabricmc.api.EnvType;
- import net.fabricmc.api.Environment;
- import java.util.List;
- import java.util.UUID;
- @Environment(EnvType.CLIENT)
- public class ConfigEntryBuilderImpl implements ConfigEntryBuilder {
-
- private String resetButtonKey = "text.cloth-config.reset_value";
-
- private ConfigEntryBuilderImpl() {
- }
-
- public static ConfigEntryBuilderImpl create() {
- return new ConfigEntryBuilderImpl();
- }
-
- public static ConfigEntryBuilderImpl createImmutable() {
- return new ConfigEntryBuilderImpl() {
- @Override
- public ConfigEntryBuilder setResetButtonKey(String resetButtonKey) {
- throw new UnsupportedOperationException("This is an immutable entry builder!");
- }
- };
- }
-
- @Override
- public String getResetButtonKey() {
- return resetButtonKey;
- }
-
- @Override
- public ConfigEntryBuilder setResetButtonKey(String resetButtonKey) {
- this.resetButtonKey = resetButtonKey;
- return this;
- }
-
- @Override
- public IntListBuilder startIntList(String fieldNameKey, List<Integer> value) {
- return new IntListBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public LongListBuilder startLongList(String fieldNameKey, List<Long> value) {
- return new LongListBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public FloatListBuilder startFloatList(String fieldNameKey, List<Float> value) {
- return new FloatListBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public DoubleListBuilder startDoubleList(String fieldNameKey, List<Double> value) {
- return new DoubleListBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public StringListBuilder startStrList(String fieldNameKey, List<String> value) {
- return new StringListBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public SubCategoryBuilder startSubCategory(String fieldNameKey) {
- return new SubCategoryBuilder(resetButtonKey, fieldNameKey);
- }
-
- @Override
- public SubCategoryBuilder startSubCategory(String fieldNameKey, List<AbstractConfigListEntry> entries) {
- SubCategoryBuilder builder = new SubCategoryBuilder(resetButtonKey, fieldNameKey);
- builder.addAll(entries);
- return builder;
- }
-
- @Override
- public BooleanToggleBuilder startBooleanToggle(String fieldNameKey, boolean value) {
- return new BooleanToggleBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public StringFieldBuilder startStrField(String fieldNameKey, String value) {
- return new StringFieldBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public TextFieldBuilder startTextField(String fieldNameKey, String value) {
- return new TextFieldBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public TextDescriptionBuilder startTextDescription(String value) {
- return new TextDescriptionBuilder(resetButtonKey, UUID.randomUUID().toString(), value);
- }
-
- @Override
- public <T extends Enum<?>> EnumSelectorBuilder<T> startEnumSelector(String fieldNameKey, Class<T> clazz, T value) {
- return new EnumSelectorBuilder<>(resetButtonKey, fieldNameKey, clazz, value);
- }
-
- @Override
- public <T> SelectorBuilder<T> startSelector(String fieldNameKey, T[] valuesArray, T value) {
- return new SelectorBuilder<>(resetButtonKey, fieldNameKey, valuesArray, value);
- }
-
- @Override
- public IntFieldBuilder startIntField(String fieldNameKey, int value) {
- return new IntFieldBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public LongFieldBuilder startLongField(String fieldNameKey, long value) {
- return new LongFieldBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public FloatFieldBuilder startFloatField(String fieldNameKey, float value) {
- return new FloatFieldBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public DoubleFieldBuilder startDoubleField(String fieldNameKey, double value) {
- return new DoubleFieldBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public IntSliderBuilder startIntSlider(String fieldNameKey, int value, int min, int max) {
- return new IntSliderBuilder(resetButtonKey, fieldNameKey, value, min, max);
- }
-
- @Override
- public LongSliderBuilder startLongSlider(String fieldNameKey, long value, long min, long max) {
- return new LongSliderBuilder(resetButtonKey, fieldNameKey, value, min, max);
- }
-
- @Override
- public KeyCodeBuilder startModifierKeyCodeField(String fieldNameKey, ModifierKeyCode value) {
- return new KeyCodeBuilder(resetButtonKey, fieldNameKey, value);
- }
-
- @Override
- public <T> DropdownMenuBuilder<T> startDropdownMenu(String fieldNameKey, SelectionTopCellElement<T> topCellElement, SelectionCellCreator<T> cellCreator) {
- return new DropdownMenuBuilder<>(resetButtonKey, fieldNameKey, topCellElement, cellCreator);
- }
-
- }
|