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