ListArgumentType class
Пакет: com.hypixel.hytale.server.core.command.system.arguments.types
Файл: com/hypixel/hytale/server/core/command/system/arguments/types/ListArgumentType.java
extends: ArgumentType<List<DataType>>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
List |
var3 |
|
int |
var4 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
while while(var4 < var1.length) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.arguments.types;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandSender;
class="kw">import com.hypixel.hytale.server.core.command.system.ParseResult;
class="kw">import com.hypixel.hytale.server.core.command.system.suggestion.SuggestionResult;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Arrays;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ListArgumentType<DataType> class="kw">extends ArgumentType<List<DataType>> {
@Nonnull
class="kw">private class="kw">final ArgumentType<DataType> argumentType;
class="kw">public ListArgumentType(@Nonnull ArgumentType<DataType> var1) {
super(
Message.translation("server.commands.parsing.argtype.list.name").insert(" (").insert(var1.getName()).insert(")"),
Message.translation("server.commands.parsing.argtype.list.usage"),
var1.getNumberOfParameters(),
var1.getExamples()
);
this.argumentType = var1;
this.withSharedSuggestions(var1);
}
@Override
class="kw">public boolean isListArgument() {
class="kw">return true;
}
@Nullable
class="kw">public List<DataType> parse(@Nonnull String[] var1, @Nonnull ParseResult var2) {
List var3 = new ObjectArrayList();
int var4 = 0;
while (var4 < var1.length) {
var3.add(this.argumentType.parse(Arrays.copyOfRange(var1, var4, var4 + this.argumentType.getNumberOfParameters()), var2));
if (var2.failed()) {
class="kw">return null;
}
var4 += this.argumentType.getNumberOfParameters();
}
class="kw">return var3;
}
@Override
class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
this.argumentType.suggest(var1, var2, var3, var4);
}
@Override
class="kw">public int getSuggestionValueCount() {
class="kw">return this.argumentType.getSuggestionValueCount();
}
}