NPCCommand class
Пакет: com.hypixel.hytale.server.npc.commands
Файл: com/hypixel/hytale/server/npc/commands/NPCCommand.java
extends: AbstractCommandCollection
Поля (7)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
SingleArgumentType<BuilderInfo> |
NPC_ROLE |
|
|
var2 |
|
int |
var4 |
|
BuilderInfo |
var5 |
|
NPCPlugin |
var5 |
|
List |
var6 |
|
List |
var7 |
Методы (6)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(String var8 : var6) |
|
|
if if(var4 == Integer.MIN_VALUE) |
|
|
if if(var5 == null) |
|
public BuilderInfo |
parsepublic BuilderInfo parse(@Nonnull String var1, @Nonnull ParseResult var2) |
|
public void |
suggestpublic void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) |
abstract |
|
super super("npc", "server.commands.npc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.commands;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
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.arguments.types.SingleArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.command.system.suggestion.SuggestionResult;
class="kw">import com.hypixel.hytale.server.flock.commands.NPCFlockCommand;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderInfo;
class="kw">import java.awt.Color;
class="kw">import java.util.List;
class="kw">import java.util.Locale;
class="kw">import javax.annotation.Nonnull;
class="kw">public class NPCCommand class="kw">extends AbstractCommandCollection {
class="kw">public class="kw">static class="kw">final SingleArgumentType<BuilderInfo> NPC_ROLE = new SingleArgumentType<BuilderInfo>(
"server.commands.parsing.argtype.npcrole.name", "server.commands.parsing.argtype.npcrole.usage"
) {
class="kw">public BuilderInfo parse(@Nonnull String var1, @Nonnull ParseResult var2) {
try {
NPCPlugin var3 = NPCPlugin.get();
int var4 = var3.getIndex(var1);
if (var4 == Integer.MIN_VALUE) {
List var7 = var3.getRoleTemplateNames(false);
var2.fail(
Message.translation("server.commands.notfound").param("type", "NPC Role").param("id", var1).color(Color.RED),
Message.translation("server.general.failed.didYouMean")
.param("choices", StringUtil.sortByFuzzyDistance(var1, var7, CommandUtil.RECOMMEND_COUNT).toString())
);
class="kw">return null;
} else {
BuilderInfo var5 = var3.getRoleBuilderInfo(var4);
if (var5 == null) {
var2.fail(Message.translation("server.commands.notfound").param("type", "NPC Role").param("id", var1).color(Color.RED));
class="kw">return null;
} else {
class="kw">return var5;
}
}
} catch (Exception var6) {
var2.fail(Message.translation("server.commands.notfound").param("type", "NPC Role").param("id", var1).color(Color.RED));
class="kw">return null;
}
}
@Override
class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
try {
NPCPlugin var5 = NPCPlugin.get();
List var6 = var5.getRoleTemplateNames(false);
var2 = var2.toLowerCase(Locale.ROOT);
for (String var8 : var6) {
if (var8.toLowerCase(Locale.ROOT).startsWith(var2)) {
var4.suggest(var8);
}
}
} catch (Exception var9) {
}
}
};
class="kw">public NPCCommand() {
super("npc", "server.commands.npc");
this.setPermissionGroups("hytale:WorldEditor");
this.addSubCommand(new NPCAllCommand());
this.addSubCommand(new NPCAppearanceCommand());
this.addSubCommand(new NPCAttackCommand());
this.addSubCommand(new NPCBenchmarkCommand());
this.addSubCommand(new NPCBlackboardCommand());
this.addSubCommand(new NPCCleanCommand());
this.addSubCommand(new NPCDebugCommand());
this.addSubCommand(new NPCDumpCommand());
this.addSubCommand(new NPCFlockCommand());
this.addSubCommand(new NPCFreezeCommand());
this.addSubCommand(new NPCGiveCommand());
this.addSubCommand(new NPCPathCommand());
this.addSubCommand(new NPCRoleCommand());
this.addSubCommand(new NPCRunTestsCommand());
this.addSubCommand(new NPCSensorStatsCommand());
this.addSubCommand(new NPCSpawnCommand());
this.addSubCommand(new NPCStepCommand());
this.addSubCommand(new NPCTestCommand());
this.addSubCommand(new NPCThawCommand());
this.addSubCommand(new NPCMessageCommand());
this.addSubCommand(new NPCDescriptorsCommand());
}
}