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