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