Files
NotEnoughItems/src/main/java/codechicken/nei/config/OptionIntegerField.java
T
2024-02-21 17:12:28 +01:00

48 lines
1.1 KiB
Java

package codechicken.nei.config;
public class OptionIntegerField extends OptionTextField {
public final int min;
public final int max;
public OptionIntegerField(String name, int min, int max) {
super(name);
this.min = min;
this.max = max;
}
public OptionIntegerField(String name) {
this(name, Integer.MIN_VALUE, Integer.MAX_VALUE);
}
@Override
public boolean isValidInput(String s) {
if (s.length() == 0) return true;
try {
if (s.startsWith("0x")) {
Long.parseLong(s.substring(2), 16);
} else {
Integer.parseInt(s);
}
return true;
} catch (NumberFormatException nfe) {
return false;
}
}
@Override
public boolean isValidValue(String s) {
if (s.length() == 0 || !isValidInput(s)) return false;
int i = 0;
if (s.startsWith("0x")) {
i = (int) Long.parseLong(s.substring(2), 16);
} else {
i = Integer.parseInt(s);
}
return i >= min && i <= max;
}
}