RelativeFloat class
Пакет: com.hypixel.hytale.server.core.command.system.arguments.types
Файл: com/hypixel/hytale/server/core/command/system/arguments/types/RelativeFloat.java
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
var0 |
|
boolean |
var2 |
|
float |
var3 |
|
|
var3 |
|
|
var3 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
float |
getRawValuefloat getRawValue() |
public |
boolean |
isRelativeboolean isRelative() |
public |
float |
resolvefloat resolve(float 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 RelativeFloat {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<RelativeFloat> CODEC = BuilderCodec.builder(RelativeFloat.class, RelativeFloat::new)
.append(new KeyedCodec<>("Value", Codec.FLOAT), (var0, var1) -> var0.value = var1, RelativeFloat::getRawValue)
.addValidator(Validators.nonNull())
.add()
.<Boolean>append(new KeyedCodec<>("Relative", Codec.BOOLEAN), (var0, var1) -> var0.isRelative = var1, RelativeFloat::isRelative)
.addValidator(Validators.nonNull())
.add()
.build();
class="kw">private float value;
class="kw">private boolean isRelative;
class="kw">public RelativeFloat(float var1, boolean var2) {
this.value = var1;
this.isRelative = var2;
}
class="kw">protected RelativeFloat() {
}
@Nullable
class="kw">public class="kw">static RelativeFloat parse(@Nonnull String var0, @Nonnull ParseResult var1) {
boolean var2 = var0.contains("~");
var0 = var0.replaceAll(Pattern.quote("~"), "");
try {
float var3;
if (var0.isBlank()) {
var3 = 0.0F;
} else {
var3 = Float.parseFloat(var0);
}
class="kw">return new RelativeFloat(var3, var2);
} catch (Exception var4) {
var1.fail(Message.raw("Invalid float: " + var0));
class="kw">return null;
}
}
class="kw">public float getRawValue() {
class="kw">return this.value;
}
class="kw">public boolean isRelative() {
class="kw">return this.isRelative;
}
class="kw">public float resolve(float 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;
}
}