Files
DACL/src/main/java/com/kasetoatz/dacl/options/IntOption.java
2025-11-07 16:35:40 +01:00

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();
}
}