RelativeInteger class
Пакет: com.hypixel.hytale.server.core.command.system.arguments.types
Файл: com/hypixel/hytale/server/core/command/system/arguments/types/RelativeInteger.java
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
var0 |
|
boolean |
var2 |
|
int |
var3 |
|
|
var3 |
|
|
var3 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
int |
getRawValueint getRawValue() |
public |
boolean |
isRelativeboolean isRelative() |
public |
int |
resolveint resolve(int var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.arguments.types;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.ParseResult;
class="kw">import java.util.regex.Pattern;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class RelativeInteger {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<RelativeInteger> CODEC = BuilderCodec.builder(RelativeInteger.class, RelativeInteger::new)
.append(new KeyedCodec<>("Value", Codec.INTEGER), (var0, var1) -> var0.value = var1, RelativeInteger::getRawValue)
.addValidator(Validators.nonNull())
.add()
.<Boolean>append(new KeyedCodec<>("Relative", Codec.BOOLEAN), (var0, var1) -> var0.isRelative = var1, RelativeInteger::isRelative)
.addValidator(Validators.nonNull())
.add()
.build();
class="kw">private int value;
class="kw">private boolean isRelative;
class="kw">public RelativeInteger(int var1, boolean var2) {
this.value = var1;
this.isRelative = var2;
}
class="kw">protected RelativeInteger() {
}
@Nullable
class="kw">public class="kw">static RelativeInteger parse(@Nonnull String var0, @Nonnull ParseResult var1) {
boolean var2 = var0.contains("~");
var0 = var0.replaceAll(Pattern.quote("~"), "");
try {
int var3;
if (var0.isBlank()) {
var3 = 0;
} else {
var3 = Integer.parseInt(var0);
}
class="kw">return new RelativeInteger(var3, var2);
} catch (Exception var4) {
var1.fail(Message.raw("Invalid integer: " + var0));
class="kw">return null;
}
}
class="kw">public int getRawValue() {
class="kw">return this.value;
}
class="kw">public boolean isRelative() {
class="kw">return this.isRelative;
}
class="kw">public int resolve(int var1) {
class="kw">return this.isRelative ? var1 + this.value : this.value;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return (this.isRelative ? "~" : "") + this.value;
}
}