AbstractConfigEntry.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package me.shedaniel.clothconfig2.api;
  2. import me.shedaniel.clothconfig2.gui.ClothConfigScreen;
  3. import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget;
  4. import java.util.Optional;
  5. public abstract class AbstractConfigEntry<T> extends DynamicElementListWidget.ElementEntry<AbstractConfigEntry<T>> {
  6. private ClothConfigScreen screen;
  7. public abstract boolean isRequiresRestart();
  8. public abstract void setRequiresRestart(boolean requiresRestart);
  9. public abstract String getFieldName();
  10. public abstract T getValue();
  11. public Optional<String> getError() {
  12. return Optional.empty();
  13. }
  14. public abstract Optional<T> getDefaultValue();
  15. public final ClothConfigScreen.ListWidget getParent() {
  16. return screen.listWidget;
  17. }
  18. public final ClothConfigScreen getScreen() {
  19. return screen;
  20. }
  21. @Deprecated
  22. public final void setScreen(ClothConfigScreen screen) {
  23. this.screen = screen;
  24. }
  25. public abstract void save();
  26. @Override
  27. public int getItemHeight() {
  28. return 24;
  29. }
  30. }