OptionArg class

Пакет: com.hypixel.hytale.server.core.asset.type.buildertool.config.args

Файл: com/hypixel/hytale/server/core/asset/type/buildertool/config/args/OptionArg.java

extends: ToolArg<String>

Поля (2)

МодификаторыТипИмя
final BuilderCodec<OptionArg> CODEC
int var7

Методы (4)

МодификаторыВозвратСигнатура
abstract return new BuilderToolOptionArgreturn new BuilderToolOptionArg(this.value, this.options)
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException()
for for(String var5 : this.options)
if if(var7 >= 0 && var7 < this.options.length)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.buildertool.config.args;

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.protocol.packets.buildertools.BuilderToolArg;
class="kw">import com.hypixel.hytale.protocol.packets.buildertools.BuilderToolArgType;
class="kw">import com.hypixel.hytale.protocol.packets.buildertools.BuilderToolOptionArg;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;

class="kw">public class OptionArg class="kw">extends ToolArg<String> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<OptionArg> CODEC = BuilderCodec.builder(OptionArg.class, OptionArg::new, ToolArg.DEFAULT_CODEC)
      .append(new KeyedCodec<>("Default", Codec.STRING), (var0, var1) -> var0.value = var1, var0 -> var0.value)
      .add()
      .<String[]>append(new KeyedCodec<>("Options", Codec.STRING_ARRAY, true), (var0, var1) -> var0.options = var1, var0 -> var0.options)
      .addValidator(Validators.nonNull())
      .add()
      .build();
   class="kw">protected String[] options;

   class="kw">public OptionArg() {
   }

   class="kw">public OptionArg(String var1, String[] var2) {
      this.value = var1;
      this.options = var2;
   }

   @Nonnull
   @Override
   class="kw">public Codec<String> getCodec() {
      class="kw">return Codec.STRING;
   }

   @Nonnull
   class="kw">public String fromString(@Nonnull String var1) {
      for (String var5 : this.options) {
         if (var1.equalsIgnoreCase(var5)) {
            class="kw">return var5;
         }
      }

      try {
         int var7 = Integer.parseInt(var1);
         if (var7 >= 0 && var7 < this.options.length) {
            class="kw">return this.options[var7];
         }
      } catch (NumberFormatException var6) {
      }

      throw new IllegalArgumentException();
   }

   @Nonnull
   class="kw">public BuilderToolOptionArg toOptionArgPacket() {
      class="kw">return new BuilderToolOptionArg(this.value, this.options);
   }

   @Override
   class="kw">protected void setupPacket(@Nonnull BuilderToolArg var1) {
      var1.argType = BuilderToolArgType.Option;
      var1.optionArg = this.toOptionArgPacket();
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "OptionArg{options=" + Arrays.toString(this.options) + "} " + super.toString();
   }
}