GameModeArgumentType class
Пакет: com.hypixel.hytale.server.core.command.system.arguments.types
Файл: com/hypixel/hytale/server/core/command/system/arguments/types/GameModeArgumentType.java
extends: SingleArgumentType<GameMode>
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
var3 |
|
GameMode |
var4 |
|
List |
var5 |
|
String |
var5 |
|
ObjectIterator |
var6 |
|
String |
var7 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var4 != null) |
abstract |
|
super super("server.commands.parsing.argtype.gamemode.name", "server.commands.parsing.argtype.gamemode.usage", "adventure", "creative", "a", "c") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.arguments.types;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import com.hypixel.hytale.protocol.GameMode;
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.CommandUtil;
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.Object2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectIterator;
class="kw">import java.util.List;
class="kw">import java.util.Locale;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class GameModeArgumentType class="kw">extends SingleArgumentType<GameMode> {
@Nonnull
class="kw">private class="kw">static class="kw">final Object2ObjectMap<String, GameMode> GAMEMODE_MAP = new Object2ObjectOpenHashMap();
class="kw">public GameModeArgumentType() {
super("server.commands.parsing.argtype.gamemode.name", "server.commands.parsing.argtype.gamemode.usage", "adventure", "creative", "a", "c");
}
@Nullable
class="kw">public GameMode parse(@Nonnull String var1, @Nonnull ParseResult var2) {
String var3 = var1.toLowerCase(Locale.ROOT);
GameMode var4 = (GameMode)GAMEMODE_MAP.get(var3);
if (var4 != null) {
class="kw">return var4;
}
List var5 = StringUtil.sortByFuzzyDistance(var3, GAMEMODE_MAP.keySet(), CommandUtil.RECOMMEND_COUNT);
var2.fail(Message.translation("server.commands.parsing.argtype.gamemode.invalid").param("input", var1).param("suggestions", var5.toString()));
class="kw">return null;
}
@Override
class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
String var5 = var2.toLowerCase(Locale.ROOT);
ObjectIterator var6 = GAMEMODE_MAP.keySet().iterator();
while (var6.hasNext()) {
String var7 = (String)var6.next();
if (var7.startsWith(var5)) {
var4.suggest(var7);
}
}
}
@Override
class="kw">public int getSuggestionValueCount() {
class="kw">return GAMEMODE_MAP.size();
}
class="kw">static {
GAMEMODE_MAP.put("adventure", GameMode.Adventure);
GAMEMODE_MAP.put("creative", GameMode.Creative);
GAMEMODE_MAP.put("a", GameMode.Adventure);
GAMEMODE_MAP.put("c", GameMode.Creative);
}
}