From 04fe933f4c24817100f3101f088accf55a621f8a Mon Sep 17 00:00:00 2001 From: isxander Date: Thu, 11 Apr 2024 18:43:06 +0100 Subject: Extremely fragile and broken multiversion build with stonecutter --- common/.gitignore | 42 -- common/build.gradle.kts | 56 -- .../main/java/dev/isxander/yacl3/api/Binding.java | 64 --- .../java/dev/isxander/yacl3/api/ButtonOption.java | 55 -- .../dev/isxander/yacl3/api/ConfigCategory.java | 138 ----- .../java/dev/isxander/yacl3/api/Controller.java | 28 - .../java/dev/isxander/yacl3/api/LabelOption.java | 41 -- .../java/dev/isxander/yacl3/api/ListOption.java | 178 ------- .../dev/isxander/yacl3/api/ListOptionEntry.java | 18 - .../java/dev/isxander/yacl3/api/NameableEnum.java | 10 - .../main/java/dev/isxander/yacl3/api/Option.java | 223 -------- .../java/dev/isxander/yacl3/api/OptionAddable.java | 51 -- .../dev/isxander/yacl3/api/OptionDescription.java | 161 ------ .../java/dev/isxander/yacl3/api/OptionFlag.java | 23 - .../java/dev/isxander/yacl3/api/OptionGroup.java | 131 ----- .../isxander/yacl3/api/PlaceholderCategory.java | 55 -- .../isxander/yacl3/api/YetAnotherConfigLib.java | 113 ---- .../api/controller/BooleanControllerBuilder.java | 16 - .../api/controller/ColorControllerBuilder.java | 14 - .../yacl3/api/controller/ControllerBuilder.java | 10 - .../controller/CyclingListControllerBuilder.java | 15 - .../controller/DoubleFieldControllerBuilder.java | 10 - .../controller/DoubleSliderControllerBuilder.java | 10 - .../DropdownStringControllerBuilder.java | 18 - .../api/controller/EnumControllerBuilder.java | 12 - .../controller/EnumDropdownControllerBuilder.java | 10 - .../controller/FloatFieldControllerBuilder.java | 10 - .../controller/FloatSliderControllerBuilder.java | 10 - .../controller/IntegerFieldControllerBuilder.java | 10 - .../controller/IntegerSliderControllerBuilder.java | 10 - .../api/controller/ItemControllerBuilder.java | 11 - .../api/controller/LongFieldControllerBuilder.java | 10 - .../controller/LongSliderControllerBuilder.java | 10 - .../controller/NumberFieldControllerBuilder.java | 7 - .../api/controller/SliderControllerBuilder.java | 6 - .../api/controller/StringControllerBuilder.java | 10 - .../api/controller/TickBoxControllerBuilder.java | 10 - .../api/controller/ValueFormattableController.java | 14 - .../yacl3/api/controller/ValueFormatter.java | 7 - .../dev/isxander/yacl3/api/utils/Dimension.java | 33 -- .../isxander/yacl3/api/utils/MutableDimension.java | 11 - .../dev/isxander/yacl3/api/utils/OptionUtils.java | 39 -- .../dev/isxander/yacl3/config/ConfigEntry.java | 15 - .../dev/isxander/yacl3/config/ConfigInstance.java | 50 -- .../isxander/yacl3/config/GsonConfigInstance.java | 247 --------- .../yacl3/config/v2/api/ConfigClassHandler.java | 107 ---- .../isxander/yacl3/config/v2/api/ConfigField.java | 40 -- .../yacl3/config/v2/api/ConfigSerializer.java | 64 --- .../isxander/yacl3/config/v2/api/FieldAccess.java | 14 - .../yacl3/config/v2/api/ReadOnlyFieldAccess.java | 36 -- .../isxander/yacl3/config/v2/api/SerialEntry.java | 39 -- .../isxander/yacl3/config/v2/api/SerialField.java | 16 - .../yacl3/config/v2/api/autogen/AutoGen.java | 32 -- .../yacl3/config/v2/api/autogen/AutoGenField.java | 12 - .../yacl3/config/v2/api/autogen/Boolean.java | 41 -- .../yacl3/config/v2/api/autogen/ColorField.java | 21 - .../config/v2/api/autogen/CustomDescription.java | 12 - .../yacl3/config/v2/api/autogen/CustomFormat.java | 17 - .../yacl3/config/v2/api/autogen/CustomImage.java | 69 --- .../yacl3/config/v2/api/autogen/CustomName.java | 18 - .../yacl3/config/v2/api/autogen/DoubleField.java | 46 -- .../yacl3/config/v2/api/autogen/DoubleSlider.java | 48 -- .../yacl3/config/v2/api/autogen/Dropdown.java | 43 -- .../yacl3/config/v2/api/autogen/EnumCycler.java | 35 -- .../yacl3/config/v2/api/autogen/FloatField.java | 46 -- .../yacl3/config/v2/api/autogen/FloatSlider.java | 48 -- .../config/v2/api/autogen/FormatTranslation.java | 25 - .../yacl3/config/v2/api/autogen/IntField.java | 41 -- .../yacl3/config/v2/api/autogen/IntSlider.java | 35 -- .../yacl3/config/v2/api/autogen/ItemField.java | 17 - .../yacl3/config/v2/api/autogen/Label.java | 18 - .../yacl3/config/v2/api/autogen/ListGroup.java | 60 --- .../yacl3/config/v2/api/autogen/LongField.java | 41 -- .../yacl3/config/v2/api/autogen/LongSlider.java | 35 -- .../yacl3/config/v2/api/autogen/MasterTickBox.java | 26 - .../yacl3/config/v2/api/autogen/OptionAccess.java | 35 -- .../yacl3/config/v2/api/autogen/OptionFactory.java | 40 -- .../config/v2/api/autogen/SimpleOptionFactory.java | 138 ----- .../yacl3/config/v2/api/autogen/StringField.java | 17 - .../yacl3/config/v2/api/autogen/TickBox.java | 17 - .../serializer/GsonConfigSerializerBuilder.java | 98 ---- .../config/v2/impl/ConfigClassHandlerImpl.java | 274 ---------- .../yacl3/config/v2/impl/ConfigFieldImpl.java | 75 --- .../yacl3/config/v2/impl/FieldBackedBinding.java | 22 - .../config/v2/impl/ReflectionFieldAccess.java | 49 -- .../yacl3/config/v2/impl/autogen/AutoGenUtils.java | 54 -- .../yacl3/config/v2/impl/autogen/BooleanImpl.java | 25 - .../config/v2/impl/autogen/ColorFieldImpl.java | 19 - .../config/v2/impl/autogen/DoubleFieldImpl.java | 32 -- .../config/v2/impl/autogen/DoubleSliderImpl.java | 33 -- .../yacl3/config/v2/impl/autogen/DropdownImpl.java | 19 - .../v2/impl/autogen/EmptyCustomImageFactory.java | 17 - .../config/v2/impl/autogen/EnumCyclerImpl.java | 42 -- .../config/v2/impl/autogen/FloatFieldImpl.java | 32 -- .../config/v2/impl/autogen/FloatSliderImpl.java | 33 -- .../yacl3/config/v2/impl/autogen/IntFieldImpl.java | 28 - .../config/v2/impl/autogen/IntSliderImpl.java | 29 -- .../config/v2/impl/autogen/ItemFieldImpl.java | 17 - .../yacl3/config/v2/impl/autogen/LabelImpl.java | 16 - .../config/v2/impl/autogen/ListGroupImpl.java | 102 ---- .../config/v2/impl/autogen/LongFieldImpl.java | 28 - .../config/v2/impl/autogen/LongSliderImpl.java | 29 -- .../config/v2/impl/autogen/MasterTickBoxImpl.java | 25 - .../config/v2/impl/autogen/OptionAccessImpl.java | 44 -- .../v2/impl/autogen/OptionFactoryRegistry.java | 64 --- .../config/v2/impl/autogen/StringFieldImpl.java | 16 - .../yacl3/config/v2/impl/autogen/TickBoxImpl.java | 16 - .../v2/impl/autogen/YACLAutoGenException.java | 11 - .../v2/impl/serializer/GsonConfigSerializer.java | 269 ---------- .../dev/isxander/yacl3/debug/DebugProperties.java | 13 - .../dev/isxander/yacl3/gui/AbstractWidget.java | 108 ---- .../isxander/yacl3/gui/DescriptionWithName.java | 11 - .../isxander/yacl3/gui/ElementListWidgetExt.java | 216 -------- .../isxander/yacl3/gui/LowProfileButtonWidget.java | 28 - .../yacl3/gui/OptionDescriptionWidget.java | 222 -------- .../dev/isxander/yacl3/gui/OptionListWidget.java | 577 --------------------- .../isxander/yacl3/gui/RequireRestartScreen.java | 21 - .../dev/isxander/yacl3/gui/SearchFieldWidget.java | 61 --- .../isxander/yacl3/gui/TextScaledButtonWidget.java | 34 -- .../isxander/yacl3/gui/TooltipButtonWidget.java | 22 - .../dev/isxander/yacl3/gui/ValueFormatters.java | 15 - .../java/dev/isxander/yacl3/gui/YACLScreen.java | 417 --------------- .../isxander/yacl3/gui/YACLTooltipPositioner.java | 48 -- .../yacl3/gui/controllers/ActionController.java | 120 ----- .../yacl3/gui/controllers/BooleanController.java | 164 ------ .../yacl3/gui/controllers/ColorController.java | 220 -------- .../yacl3/gui/controllers/ControllerWidget.java | 148 ------ .../yacl3/gui/controllers/LabelController.java | 193 ------- .../yacl3/gui/controllers/ListEntryWidget.java | 128 ----- .../yacl3/gui/controllers/TickBoxController.java | 119 ----- .../cycling/CyclingControllerElement.java | 60 --- .../controllers/cycling/CyclingListController.java | 86 --- .../gui/controllers/cycling/EnumController.java | 48 -- .../controllers/cycling/ICyclingController.java | 38 -- .../dropdown/AbstractDropdownController.java | 87 ---- .../AbstractDropdownControllerElement.java | 238 --------- .../dropdown/DropdownStringController.java | 34 -- .../dropdown/DropdownStringControllerElement.java | 31 -- .../dropdown/EnumDropdownController.java | 92 ---- .../dropdown/EnumDropdownControllerElement.java | 25 - .../gui/controllers/dropdown/ItemController.java | 68 --- .../dropdown/ItemControllerElement.java | 87 ---- .../yacl3/gui/controllers/package-info.java | 12 - .../controllers/slider/DoubleSliderController.java | 119 ----- .../controllers/slider/FloatSliderController.java | 119 ----- .../gui/controllers/slider/ISliderController.java | 54 -- .../slider/IntegerSliderController.java | 116 ----- .../controllers/slider/LongSliderController.java | 116 ----- .../slider/SliderControllerElement.java | 157 ------ .../yacl3/gui/controllers/slider/package-info.java | 10 - .../gui/controllers/string/IStringController.java | 44 -- .../gui/controllers/string/StringController.java | 37 -- .../string/StringControllerElement.java | 466 ----------------- .../string/number/DoubleFieldController.java | 111 ---- .../string/number/FloatFieldController.java | 111 ---- .../string/number/IntegerFieldController.java | 111 ---- .../string/number/LongFieldController.java | 111 ---- .../string/number/NumberFieldController.java | 80 --- .../controllers/string/number/package-info.java | 10 - .../isxander/yacl3/gui/image/ImageRenderer.java | 11 - .../yacl3/gui/image/ImageRendererFactory.java | 24 - .../yacl3/gui/image/ImageRendererManager.java | 127 ----- .../yacl3/gui/image/YACLImageReloadListener.java | 102 ---- .../image/impl/AnimatedDynamicTextureImage.java | 294 ----------- .../yacl3/gui/image/impl/DynamicTextureImage.java | 72 --- .../yacl3/gui/image/impl/ResourceTextureImage.java | 56 -- .../isxander/yacl3/gui/tab/ListHolderWidget.java | 116 ----- .../yacl3/gui/tab/ScrollableNavigationBar.java | 115 ---- .../java/dev/isxander/yacl3/gui/tab/TabExt.java | 14 - .../dev/isxander/yacl3/gui/utils/GuiUtils.java | 32 -- .../yacl3/gui/utils/ItemRegistryHelper.java | 116 ----- .../isxander/yacl3/gui/utils/UndoRedoHelper.java | 42 -- .../dev/isxander/yacl3/impl/ButtonOptionImpl.java | 205 -------- .../isxander/yacl3/impl/ConfigCategoryImpl.java | 136 ----- .../isxander/yacl3/impl/GenericBindingImpl.java | 35 -- .../yacl3/impl/HiddenNameListOptionEntry.java | 109 ---- .../dev/isxander/yacl3/impl/LabelOptionImpl.java | 160 ------ .../isxander/yacl3/impl/ListOptionEntryImpl.java | 154 ------ .../dev/isxander/yacl3/impl/ListOptionImpl.java | 402 -------------- .../isxander/yacl3/impl/OptionDescriptionImpl.java | 133 ----- .../dev/isxander/yacl3/impl/OptionGroupImpl.java | 121 ----- .../java/dev/isxander/yacl3/impl/OptionImpl.java | 295 ----------- .../yacl3/impl/PlaceholderCategoryImpl.java | 99 ---- .../java/dev/isxander/yacl3/impl/SafeBinding.java | 29 -- .../yacl3/impl/YetAnotherConfigLibImpl.java | 122 ----- .../controller/AbstractControllerBuilderImpl.java | 12 - .../controller/BooleanControllerBuilderImpl.java | 57 -- .../controller/ColorControllerBuilderImpl.java | 27 - .../CyclingListControllerBuilderImpl.java | 41 -- .../DoubleFieldControllerBuilderImpl.java | 51 -- .../DoubleSliderControllerBuilderImpl.java | 44 -- .../DropdownStringControllerBuilderImpl.java | 49 -- .../impl/controller/EnumControllerBuilderImpl.java | 42 -- .../EnumDropdownControllerBuilderImpl.java | 27 - .../FloatFieldControllerBuilderImpl.java | 51 -- .../FloatSliderControllerBuilderImpl.java | 44 -- .../IntegerFieldControllerBuilderImpl.java | 51 -- .../IntegerSliderControllerBuilderImpl.java | 44 -- .../impl/controller/ItemControllerBuilderImpl.java | 18 - .../controller/LongFieldControllerBuilderImpl.java | 51 -- .../LongSliderControllerBuilderImpl.java | 44 -- .../controller/StringControllerBuilderImpl.java | 17 - .../controller/TickBoxControllerBuilderImpl.java | 17 - .../yacl3/impl/utils/DimensionIntegerImpl.java | 115 ---- .../isxander/yacl3/impl/utils/YACLConstants.java | 8 - .../yacl3/mixin/AbstractSelectionListMixin.java | 25 - .../dev/isxander/yacl3/mixin/MinecraftMixin.java | 16 - .../yacl3/mixin/OptionInstanceAccessor.java | 13 - .../main/java/dev/isxander/yacl3/platform/Env.java | 10 - .../dev/isxander/yacl3/platform/YACLConfig.java | 16 - .../isxander/yacl3/platform/YACLEntrypoint.java | 11 - .../dev/isxander/yacl3/platform/YACLPlatform.java | 27 - common/src/main/resources/architectury.common.json | 3 - .../assets/yet_another_config_lib/lang/be_by.json | 29 -- .../assets/yet_another_config_lib/lang/el_gr.json | 23 - .../assets/yet_another_config_lib/lang/en_us.json | 31 -- .../assets/yet_another_config_lib/lang/et_ee.json | 18 - .../assets/yet_another_config_lib/lang/fr_fr.json | 29 -- .../assets/yet_another_config_lib/lang/it_it.json | 31 -- .../assets/yet_another_config_lib/lang/nl_nl.json | 31 -- .../assets/yet_another_config_lib/lang/pl_pl.json | 23 - .../assets/yet_another_config_lib/lang/pt_br.json | 18 - .../assets/yet_another_config_lib/lang/ru_ru.json | 24 - .../assets/yet_another_config_lib/lang/sl_si.json | 22 - .../assets/yet_another_config_lib/lang/tt_ru.json | 34 -- .../assets/yet_another_config_lib/lang/zh_cn.json | 29 -- .../assets/yet_another_config_lib/lang/zh_tw.json | 29 -- common/src/main/resources/yacl-128x.png | Bin 13813 -> 0 bytes common/src/main/resources/yacl.accesswidener | 13 - common/src/main/resources/yacl.mixins.json | 13 - 230 files changed, 14901 deletions(-) delete mode 100644 common/.gitignore delete mode 100644 common/build.gradle.kts delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/Binding.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/ButtonOption.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/ConfigCategory.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/Controller.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/LabelOption.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/ListOption.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/ListOptionEntry.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/Option.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/OptionAddable.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/OptionDescription.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/OptionFlag.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/OptionGroup.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/PlaceholderCategory.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/YetAnotherConfigLib.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/BooleanControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/ColorControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/ControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/CyclingListControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/DoubleFieldControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/DoubleSliderControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/DropdownStringControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/EnumControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/EnumDropdownControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/FloatFieldControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/FloatSliderControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/IntegerFieldControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/IntegerSliderControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/ItemControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/LongFieldControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/LongSliderControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/NumberFieldControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/SliderControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/StringControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/TickBoxControllerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/ValueFormattableController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/ValueFormatter.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/utils/Dimension.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/utils/MutableDimension.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/api/utils/OptionUtils.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/ConfigEntry.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/ConfigInstance.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/GsonConfigInstance.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/ConfigClassHandler.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/ConfigField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/ConfigSerializer.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/FieldAccess.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/ReadOnlyFieldAccess.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/SerialEntry.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/SerialField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/AutoGen.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/AutoGenField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/Boolean.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/ColorField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/CustomDescription.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/CustomFormat.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/CustomImage.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/CustomName.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/DoubleField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/DoubleSlider.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/Dropdown.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/EnumCycler.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/FloatField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/FloatSlider.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/FormatTranslation.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/IntField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/IntSlider.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/ItemField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/Label.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/ListGroup.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/LongField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/LongSlider.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/MasterTickBox.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/OptionAccess.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/OptionFactory.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/SimpleOptionFactory.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/StringField.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/autogen/TickBox.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/api/serializer/GsonConfigSerializerBuilder.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/ConfigClassHandlerImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/ConfigFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/FieldBackedBinding.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/ReflectionFieldAccess.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/AutoGenUtils.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/BooleanImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/ColorFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/DoubleFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/DoubleSliderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/DropdownImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/EmptyCustomImageFactory.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/EnumCyclerImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/FloatFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/FloatSliderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/IntFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/IntSliderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/ItemFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/LabelImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/ListGroupImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/LongFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/LongSliderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/MasterTickBoxImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/OptionAccessImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/OptionFactoryRegistry.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/StringFieldImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/TickBoxImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/autogen/YACLAutoGenException.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/config/v2/impl/serializer/GsonConfigSerializer.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/debug/DebugProperties.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/AbstractWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/DescriptionWithName.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/ElementListWidgetExt.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/LowProfileButtonWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/OptionDescriptionWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/OptionListWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/RequireRestartScreen.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/SearchFieldWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/TextScaledButtonWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/TooltipButtonWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/ValueFormatters.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/YACLScreen.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/YACLTooltipPositioner.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/ActionController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/BooleanController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/ColorController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/ControllerWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/LabelController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/ListEntryWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/TickBoxController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/cycling/CyclingControllerElement.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/cycling/CyclingListController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/cycling/EnumController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/cycling/ICyclingController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/AbstractDropdownController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/AbstractDropdownControllerElement.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownStringController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownStringControllerElement.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/EnumDropdownController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/EnumDropdownControllerElement.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/ItemController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/ItemControllerElement.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/package-info.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/slider/DoubleSliderController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/slider/FloatSliderController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/slider/ISliderController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/slider/IntegerSliderController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/slider/LongSliderController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/slider/SliderControllerElement.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/slider/package-info.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/IStringController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/StringController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/StringControllerElement.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/number/DoubleFieldController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/number/FloatFieldController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/number/IntegerFieldController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/number/LongFieldController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/number/NumberFieldController.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/controllers/string/number/package-info.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/image/ImageRenderer.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/image/ImageRendererFactory.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/image/ImageRendererManager.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/image/YACLImageReloadListener.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/image/impl/AnimatedDynamicTextureImage.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/image/impl/DynamicTextureImage.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/image/impl/ResourceTextureImage.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/tab/ListHolderWidget.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/tab/ScrollableNavigationBar.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/tab/TabExt.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/utils/ItemRegistryHelper.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/gui/utils/UndoRedoHelper.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/ButtonOptionImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/ConfigCategoryImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/GenericBindingImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/HiddenNameListOptionEntry.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/LabelOptionImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/ListOptionEntryImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/ListOptionImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/OptionDescriptionImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/OptionGroupImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/OptionImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/PlaceholderCategoryImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/SafeBinding.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/YetAnotherConfigLibImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/AbstractControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/BooleanControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/ColorControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/CyclingListControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/DoubleFieldControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/DoubleSliderControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/DropdownStringControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/EnumControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/EnumDropdownControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/FloatFieldControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/FloatSliderControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/IntegerFieldControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/IntegerSliderControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/ItemControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/LongFieldControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/LongSliderControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/StringControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/controller/TickBoxControllerBuilderImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/utils/DimensionIntegerImpl.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/impl/utils/YACLConstants.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/mixin/AbstractSelectionListMixin.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/mixin/MinecraftMixin.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/mixin/OptionInstanceAccessor.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/platform/Env.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/platform/YACLEntrypoint.java delete mode 100644 common/src/main/java/dev/isxander/yacl3/platform/YACLPlatform.java delete mode 100644 common/src/main/resources/architectury.common.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/be_by.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/el_gr.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/en_us.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/et_ee.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/fr_fr.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/it_it.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/nl_nl.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/pl_pl.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/pt_br.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/ru_ru.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/sl_si.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/tt_ru.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/zh_cn.json delete mode 100644 common/src/main/resources/assets/yet_another_config_lib/lang/zh_tw.json delete mode 100644 common/src/main/resources/yacl-128x.png delete mode 100644 common/src/main/resources/yacl.accesswidener delete mode 100644 common/src/main/resources/yacl.mixins.json (limited to 'common') diff --git a/common/.gitignore b/common/.gitignore deleted file mode 100644 index b63da45..0000000 --- a/common/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/common/build.gradle.kts b/common/build.gradle.kts deleted file mode 100644 index c56f517..0000000 --- a/common/build.gradle.kts +++ /dev/null @@ -1,56 +0,0 @@ -plugins { - alias(libs.plugins.architectury.loom) -} - -base { - archivesName.set("yet-another-config-lib") -} - -architectury { - val enabledLoaders = rootProject.properties["loaders"].toString().split(",").map { it.trim() } - common(enabledLoaders) -} - -loom { - silentMojangMappingsLicense() - - accessWidenerPath.set(file("src/main/resources/yacl.accesswidener")) -} - -dependencies { - minecraft(libs.minecraft) - mappings(loom.layered { - officialMojangMappings() - parchment(libs.parchment) - }) - modImplementation(libs.fabric.loader) - - implementation(libs.bundles.twelvemonkeys.imageio) - implementation(libs.bundles.quilt.parsers) -} - -java { - withSourcesJar() -} - -tasks { - remapJar { - archiveClassifier.set(null as String?) - - from(rootProject.file("LICENSE")) - } -} - -publishing { - publications { - create("common") { - groupId = "dev.isxander.yacl" - artifactId = "yet-another-config-lib-common" - - from(components["java"]) - } - } -} -tasks.findByPath("publishCommonPublicationToReleasesRepository")?.let { - rootProject.tasks["releaseMod"].dependsOn(it) -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/Binding.java b/common/src/main/java/dev/isxander/yacl3/api/Binding.java deleted file mode 100644 index f41b78b..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/Binding.java +++ /dev/null @@ -1,64 +0,0 @@ -package dev.isxander.yacl3.api; - -import dev.isxander.yacl3.impl.GenericBindingImpl; -import dev.isxander.yacl3.mixin.OptionInstanceAccessor; -import net.minecraft.client.OptionInstance; -import org.apache.commons.lang3.Validate; - -import java.util.function.Consumer; -import java.util.function.Supplier; - -/** - * Controls modifying the bound option. - * Provides the default value, a setter and a getter. - */ -public interface Binding { - void setValue(T value); - - T getValue(); - - T defaultValue(); - - /** - * Creates a generic binding. - * - * @param def default value of the option, used to reset - * @param getter should return the current value of the option - * @param setter should set the option to the supplied value - */ - static Binding generic(T def, Supplier getter, Consumer setter) { - Validate.notNull(def, "`def` must not be null"); - Validate.notNull(getter, "`getter` must not be null"); - Validate.notNull(setter, "`setter` must not be null"); - - return new GenericBindingImpl<>(def, getter, setter); - } - - /** - * Creates a {@link Binding} for Minecraft's {@link OptionInstance} - */ - static Binding minecraft(OptionInstance minecraftOption) { - Validate.notNull(minecraftOption, "`minecraftOption` must not be null"); - - return new GenericBindingImpl<>( - ((OptionInstanceAccessor) (Object) minecraftOption).getInitialValue(), - minecraftOption::get, - minecraftOption::set - ); - } - - /** - * 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 -> {} - ); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/ButtonOption.java b/common/src/main/java/dev/isxander/yacl3/api/ButtonOption.java deleted file mode 100644 index 4f53dd4..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/ButtonOption.java +++ /dev/null @@ -1,55 +0,0 @@ -package dev.isxander.yacl3.api; - -import dev.isxander.yacl3.gui.YACLScreen; -import dev.isxander.yacl3.impl.ButtonOptionImpl; -import net.minecraft.network.chat.Component; -import org.jetbrains.annotations.NotNull; - -import java.util.function.BiConsumer; -import java.util.function.Consumer; - -public interface ButtonOption extends Option> { - /** - * Action to be executed upon button press - */ - BiConsumer action(); - - static Builder createBuilder() { - return new ButtonOptionImpl.BuilderImpl(); - } - - interface Builder { - /** - * Sets the name to be used by the option. - * - * @see Option#name() - */ - Builder name(@NotNull Component name); - - /** - * Sets the button text to be displayed next to the name. - */ - Builder text(@NotNull Component text); - - Builder description(@NotNull OptionDescription description); - - Builder action(@NotNull BiConsumer action); - - /** - * Action to be executed upon button press - * - * @see ButtonOption#action() - */ - @Deprecated - Builder action(@NotNull Consumer action); - - /** - * Sets if the option can be configured - * - * @see Option#available() - */ - Builder available(boolean available); - - ButtonOption build(); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/ConfigCategory.java b/common/src/main/java/dev/isxander/yacl3/api/ConfigCategory.java deleted file mode 100644 index b3d68fc..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/ConfigCategory.java +++ /dev/null @@ -1,138 +0,0 @@ -package dev.isxander.yacl3.api; - -import com.google.common.collect.ImmutableList; -import dev.isxander.yacl3.impl.ConfigCategoryImpl; -import net.minecraft.network.chat.Component; -import org.jetbrains.annotations.NotNull; - -import java.util.Collection; -import java.util.function.Supplier; - -/** - * Separates {@link Option}s or {@link OptionGroup}s into multiple distinct sections. - * Served to a user as a button in the left column, - * upon pressing, the options list is filled with options contained within this category. - */ -public interface ConfigCategory { - /** - * Name of category, displayed as a button on the left column. - */ - @NotNull Component name(); - - /** - * Gets every {@link OptionGroup} in this category. - */ - @NotNull ImmutableList groups(); - - /** - * Tooltip (or description) of the category. - * Rendered on hover. - */ - @NotNull Component tooltip(); - - /** - * Creates a builder to construct a {@link ConfigCategory} - */ - static Builder createBuilder() { - return new ConfigCategoryImpl.BuilderImpl(); - } - - interface Builder extends OptionAddable { - /** - * Sets name of the category - * - * @see ConfigCategory#name() - */ - Builder name(@NotNull Component name); - - /** - * Adds an option to the root group of the category. - * To add to another group, use {@link Builder#group(OptionGroup)}. - * To construct an option, use {@link Option#createBuilder()} - * - * @see ConfigCategory#groups() - * @see OptionGroup#isRoot() - */ - @Override - Builder option(@NotNull Option option); - - /** - * Adds an option to the root group of the category. - * To add to another group, use {@link Builder#group(OptionGroup)}. - * To construct an option, use {@link Option#createBuilder()} - * - * @param optionSupplier to be called to initialise the option. called immediately - * @return this - */ - @Override - default Builder option(@NotNull Supplier<@NotNull Option> optionSupplier) { - OptionAddable.super.option(optionSupplier); - return this; - } - - /** - * Adds an option to the root group of the category if a condition is met. - * To add to another group, use {@link Builder#group(OptionGroup)}. - * To construct an option, use {@link Option#createBuilder()} - * - * @param condition only if true is the option added - * @return this - */ - @Override - default Builder optionIf(boolean condition, @NotNull Option option) { - OptionAddable.super.optionIf(condition, option); - return this; - } - - /** - * Adds an option to the root group of the category if a condition is met. - * To add to another group, use {@link Builder#group(OptionGroup)}. - * To construct an option, use {@link Option#createBuilder()} - * - * @param condition only if true is the option added - * @param optionSupplier to be called to initialise the option. called immediately only if condition is true - * @return this - */ - @Override - default Builder optionIf(boolean condition, @NotNull Supplier<@NotNull Option> optionSupplier) { - OptionAddable.super.optionIf(condition, optionSupplier); - return this; - } - - /** - * Adds multiple options to the root group of the category. - * To add to another group, use {@link Builder#groups(Collection)}. - * To construct an option, use {@link Option#createBuilder()} - * - * @see ConfigCategory#groups() - * @see OptionGroup#isRoot() - */ - @Override - Builder options(@NotNull Collection> options); - - /** - * Adds an option group. - * To add an option to the root group, use {@link Builder#option(Option)} - * To construct a group, use {@link OptionGroup#createBuilder()} - */ - Builder group(@NotNull OptionGroup group); - - /** - * Adds multiple option groups. - * To add multiple options to the root group, use {@link Builder#options(Collection)} - * To construct a group, use {@link OptionGroup#createBuilder()} - */ - Builder groups(@NotNull Collection groups); - - /** - * Sets the tooltip to be used by the category. - * Can be invoked twice to append more lines. - * No need to wrap the text yourself, the gui does this itself. - * - * @param tooltips text lines - merged with a new-line on {@link Builder#build()}. - */ - Builder tooltip(@NotNull Component... tooltips); - - ConfigCategory build(); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/Controller.java b/common/src/main/java/dev/isxander/yacl3/api/Controller.java deleted file mode 100644 index 25e4465..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/Controller.java +++ /dev/null @@ -1,28 +0,0 @@ -package dev.isxander.yacl3.api; - -import dev.isxander.yacl3.api.utils.Dimension; -import dev.isxander.yacl3.gui.AbstractWidget; -import dev.isxander.yacl3.gui.YACLScreen; -import net.minecraft.network.chat.Component; - -/** - * Provides a widget to control the option. - */ -public interface Controller { - /** - * Gets the dedicated {@link Option} for this controller - */ - Option option(); - - /** - * Gets the formatted value based on {@link Option#pendingValue()} - */ - Component formatValue(); - - /** - * Provides a widget to display - * - * @param screen parent screen - */ - AbstractWidget provideWidget(YACLScreen screen, Dimension widgetDimension); -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/LabelOption.java b/common/src/main/java/dev/isxander/yacl3/api/LabelOption.java deleted file mode 100644 index a5f015e..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/LabelOption.java +++ /dev/null @@ -1,41 +0,0 @@ -package dev.isxander.yacl3.api; - -import dev.isxander.yacl3.impl.LabelOptionImpl; -import net.minecraft.network.chat.Component; -import org.jetbrains.annotations.NotNull; - -import java.util.Collection; - -/** - * A label option is an easier way of creating a label with a {@link dev.isxander.yacl3.gui.controllers.LabelController}. - * This option is immutable and cannot be disabled. Tooltips are supported through - * {@link Component} styling. - */ -public interface LabelOption extends Option { - @NotNull Component label(); - - /** - * Creates a new label option with the given label, skipping a builder for ease. - */ - static LabelOption create(@NotNull Component label) { - return new LabelOptionImpl(label); - } - - static Builder createBuilder() { - return new LabelOptionImpl.BuilderImpl(); - } - - interface Builder { - /** - * Appends a line to the label - */ - Builder line(@NotNull Component line); - - /** - * Appends multiple lines to the label - */ - Builder lines(@NotNull Collection lines); - - LabelOption build(); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/ListOption.java b/common/src/main/java/dev/isxander/yacl3/api/ListOption.java deleted file mode 100644 index 1f4adfa..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/ListOption.java +++ /dev/null @@ -1,178 +0,0 @@ -package dev.isxander.yacl3.api; - -import com.google.common.collect.ImmutableList; -import dev.isxander.yacl3.api.controller.ControllerBuilder; -import dev.isxander.yacl3.impl.ListOptionImpl; -import net.minecraft.network.chat.Component; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.NotNull; - -import java.util.*; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Supplier; - -/** - * A list option that takes form as an option group for UX. - * You add this option through {@link ConfigCategory.Builder#group(OptionGroup)}. Do NOT add as an option. - * Users can add remove and reshuffle a list type. You can use any controller you wish, there are no dedicated - * controllers for list types. List options do not manipulate your list but get and set the list with a - * regular binding for simplicity. - * - * You may apply option flags like a normal option and collapse like a normal group, it is a merge of them both. - * Methods in this interface marked with {@link ApiStatus.Internal} should not be used, and could be subject to - * change at any time - * @param - */ -public interface ListOption extends OptionGroup, Option> { - @Override - @NotNull ImmutableList> options(); - - @ApiStatus.Internal - int numberOfEntries(); - - @ApiStatus.Internal - int maximumNumberOfEntries(); - - @ApiStatus.Internal - int minimumNumberOfEntries(); - - @ApiStatus.Internal - ListOptionEntry insertNewEntry(); - - @ApiStatus.Internal - void insertEntry(int index, ListOptionEntry entry); - - @ApiStatus.Internal - int indexOf(ListOptionEntry entry); - - @ApiStatus.Internal - void removeEntry(ListOptionEntry entry); - - @ApiStatus.Internal - void addRefreshListener(Runnable changedListener); - - static Builder createBuilder() { - return new ListOptionImpl.BuilderImpl<>(); - } - - @Deprecated - static Builder createBuilder(Class typeClass) { - return createBuilder(); - } - - interface Builder { - /** - * Sets name of the list, for UX purposes, a name should always be given, - * but isn't enforced. - * - * @see ListOption#name() - */ - Builder name(@NotNull Component name); - - Builder description(@NotNull OptionDescription description); - - /** - * Sets the value that is used when creating new entries - */ - Builder initial(@NotNull Supplier initialValue); - - /** - * Sets the value that is used when creating new entries - */ - Builder initial(@NotNull T initialValue); - - Builder controller(@NotNull Function, ControllerBuilder> controller); - - /** - * Sets the controller for the option. - * This is how you interact and change the options. - * - * @see dev.isxander.yacl3.gui.controllers - */ - Builder customController(@NotNull Function, Controller> control); - - /** - * Sets the binding for the option. - * Used for default, getter and setter. - * - * @see Binding - */ - Builder binding(@NotNull Binding> binding); - - /** - * Sets the binding for the option. - * Shorthand of {@link Binding#generic(Object, Supplier, Consumer)} - * - * @param def default value of the option, used to reset - * @param getter should return the current value of the option - * @param setter should set the option to the supplied value - * @see Binding - */ - Builder binding(@NotNull List def, @NotNull Supplier<@NotNull List> getter, @NotNull Consumer<@NotNull List> setter); - - /** - * Sets if the option can be configured - * - * @see Option#available() - */ - Builder available(boolean available); - - /** - * Sets a minimum size for the list. Once this size is reached, - * no further entries may be removed. - */ - Builder minimumNumberOfEntries(int number); - - /** - * Sets a maximum size for the list. Once this size is reached, - * no further entries may be added. - */ - Builder maximumNumberOfEntries(int number); - - /** - * Dictates if new entries should be added to the end of the list - * rather than the top. - */ - Builder insertEntriesAtEnd(boolean insertAtEnd); - - /** - * Adds a flag to the option. - * Upon applying changes, all flags are executed. - * {@link Option#flags()} - */ - Builder flag(@NotNull OptionFlag... flag); - - /** - * Adds a flag to the option. - * Upon applying changes, all flags are executed. - * {@link Option#flags()} - */ - Builder flags(@NotNull Collection flags); - - /** - * Dictates if the group should be collapsed by default. - * If not set, it will not be collapsed by default. - * - * @see OptionGroup#collapsed() - */ - Builder collapsed(boolean collapsible); - - /** - * Adds a listener to the option. Invoked upon changing any of the list's entries. - * - * @see Option#addListener(BiConsumer) - */ - ListOption.Builder listener(@NotNull BiConsumer>, List> listener); - - /** - * Adds multiple listeners to the option. Invoked upon changing of any of the list's entries. - * - * @see Option#addListener(BiConsumer) - */ - ListOption.Builder listeners(@NotNull Collection>, List>> listeners); - - ListOption build(); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/ListOptionEntry.java b/common/src/main/java/dev/isxander/yacl3/api/ListOptionEntry.java deleted file mode 100644 index 23ec657..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/ListOptionEntry.java +++ /dev/null @@ -1,18 +0,0 @@ -package dev.isxander.yacl3.api; - -import com.google.common.collect.ImmutableSet; -import org.jetbrains.annotations.NotNull; - -public interface ListOptionEntry extends Option { - ListOption parentGroup(); - - @Override - default @NotNull ImmutableSet flags() { - return parentGroup().flags(); - } - - @Override - default boolean available() { - return parentGroup().available(); - } -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java b/common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java deleted file mode 100644 index 425623f..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java +++ /dev/null @@ -1,10 +0,0 @@ -package dev.isxander.yacl3.api; - -import net.minecraft.network.chat.Component; - -/** - * Used for the default value formatter of {@link dev.isxander.yacl3.gui.controllers.cycling.EnumController} and {@link dev.isxander.yacl3.gui.controllers.dropdown.EnumDropdownController} - */ -public interface NameableEnum { - Component getDisplayName(); -} diff --git a/common/src/main/java/dev/isxander/yacl3/api/Option.java b/common/src/main/java/dev/isxander/yacl3/api/Option.java deleted file mode 100644 index 38bd8ca..0000000 --- a/common/src/main/java/dev/isxander/yacl3/api/Option.java +++ /dev/null @@ -1,223 +0,0 @@ -package dev.isxander.yacl3.api; - -import com.google.common.collect.ImmutableSet; -import dev.isxander.yacl3.api.controller.ControllerBuilder; -import dev.isxander.yacl3.impl.OptionImpl; -import net.minecraft.network.chat.Component; -import org.jetbrains.annotations.NotNull; - -import java.util.*; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Supplier; - -public interface Option { - /** - * Name of the option - */ - @NotNull Component name(); - - @NotNull OptionDescription description(); - - /** - * Tooltip (or description) of the option. - * Rendered on hover. - */ - @Deprecated - @NotNull Component tooltip(); - - /** - * Widget provider for a type of option. - * - * @see dev.isxander.yacl3.gui.controllers - */ - @NotNull Controller controller(); - - /** - * Binding for the option. - * Controls setting, getting and default value. - * - * @see Binding - */ - @NotNull Binding binding(); - - /** - * If the option can be configured - */ - boolean available(); - - /** - * Sets if the option can be configured after being built - * - * @see Option#available() - */ - void setAvailable(boolean available); - - /** - * Tasks that needs to be executed upon applying changes. - */ - @NotNull ImmutableSet flags(); - - /** - * Checks if the pending value is not equal to the current set value - */ - boolean changed(); - - /** - * Value in the GUI, ready to set the actual bound value or be undone. - */ - @NotNull T pendingValue(); - - /** - * Sets the pending value - */ - void requestSet(@NotNull T value); - - /** - * Applies the pending value to the bound value. - * Cannot be undone. - * - * @return if there were changes to apply {@link Option#changed()} - */ - boolean applyValue(); - - /** - * Sets the pending value to the bound value. - */ - void forgetPendingValue(); - - /** - * Sets the pending value to the default bound value. - */ - void requestSetDefault(); - - /** - * Checks if the current pending value is equal to its default value - */ - boolean isPendingValueDefault(); - - default boolean canResetToDefault() { - return true; - } - - /** - * Adds a listener for when the pending value changes - */ - void addListener(BiConsumer, T> changedListener); - - static Builder createBuilder() { - return new OptionImpl.BuilderImpl<>(); - } - - /** - * Creates a builder to construct an {@link Option} - * - * @param type of the option's value - * @param typeClass used to capture the type - */ - @Deprecated - static Builder createBuilder(Class typeClass) { - return createBuilder(); - } - - interface Builder { - /** - * Sets the name to be used by the option. - * - * @see Option#name() - */ - Builder name(@NotNull Component name); - - /** - * Sets the description to be used by the option. - * @see OptionDescription - * @param description the static description. - * @return this builder - */ - Builder description(@NotNull OptionDescription description); - - /** - * Sets the function to get the description by the option's current value. - * - * @see OptionDescription - * @param descriptionFunction the function to get the description by the option's current value. - * @return this builder - */ - Builder description(@NotNull Function descriptionFunction); - - Builder controller(@NotNull Function, ControllerBuilder> controllerBuilder); - - /** - * Sets the controller for the option. - * This is how you interact and change the options. - * - * @see dev.isxander.yacl3.gui.controllers - */ - Builder customController(@NotNull Function, Controller> control); - - /** - * Sets the binding for the option. - * Used for default, getter and setter. - * - * @see Binding - */ - Builder binding(@NotNull Binding binding); - - /** - * Sets the binding for the option. - * Shorthand of {@link Binding#generic(Object, Supplier, Consumer)} - * - * @param def default value of the option, used to reset - * @param getter should return the current value of the option - * @param setter should set the option to the supplied value - * @see Binding - */ - Builder binding(@NotNull T def, @NotNull Supplier<@NotNull T> getter, @NotNull Consumer<@NotNull T> setter); - - /** - * Sets if the option can be configured - * - * @see Option#available() - */ - Builder available(boolean available); - - /** - * Adds a flag to the option. - * Upon applying changes, all flags are executed. - * {@link Option#flags()} - */ - Builder flag(@NotNull OptionFlag... flag); - - /** - * Adds a flag to the option. - * Upon applying changes, all flags are executed. - * {@link Option#flags()} - */ - Builder flags(@NotNull Collection flags); - - /** - * Instantly invokes the binder's setter when modified in the GUI. - * Prevents the user from undoing the change - *

- * Does not support {@link Option#flags()}! - */ - Builder instant(boolean instant); - - /** - * Adds a listener to the option. Invoked upon changing the pending value. - * - * @see Option#addListener(BiConsumer) - */ - Builder listener(@NotNull BiConsumer, T> listener); - -