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