package com.kasetoatz.dacl.options; import com.google.gson.JsonElement; import com.kasetoatz.dacl.options.validators.AbstractValidator; import net.minecraft.text.Text; public class IntOption extends AbstractInputOption { public IntOption(Text text, String key, Integer defaultValue, AbstractValidator validator) { super(text, key, defaultValue, validator); } public IntOption(Text text, String key, Integer defaultValue) { super(text, key, defaultValue); } @Override public boolean predicate(String text) { if (text.isEmpty() || text.equals("-")) { return true; } try { Integer.parseInt(text); return true; } catch (NumberFormatException exc) { return false; } } @Override public void changeListener(String text) { this.onChange((text.isEmpty() || text.equals("-")) ? 0 : Integer.parseInt(text)); } @Override public Integer asPrimitive(JsonElement element) { return element.getAsInt(); } }