Option.java 593 B

1234567891011121314151617181920212223242526
  1. package chylex.bettercontrols.gui.elements;
  2. import net.minecraft.text.Text;
  3. import java.util.List;
  4. import java.util.Objects;
  5. public final class Option<T>{
  6. private final T value;
  7. private final Text text;
  8. public Option(final T value, final Text text){
  9. this.value = value;
  10. this.text = text;
  11. }
  12. public T getValue(){
  13. return value;
  14. }
  15. public Text getText(){
  16. return text;
  17. }
  18. public static <T> Option<T> find(final List<Option<T>> options, final T value){
  19. return options.stream().filter(it -> Objects.equals(it.value, value)).findFirst().orElseGet(() -> options.get(0));
  20. }
  21. }