48 lines
1.1 KiB
Java
48 lines
1.1 KiB
Java
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<Integer>
|
|
{
|
|
public IntOption(Text text, String key, Integer defaultValue, AbstractValidator<Integer> 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();
|
|
}
|
|
}
|