ClearAttackCommand class

Пакет: com.hypixel.hytale.server.npc.commands

Файл: com/hypixel/hytale/server/npc/commands/NPCAttackCommand.java

extends: NPCWorldCommandBase

Методы (2)

МодификаторыВозвратСигнатура
protected void executeprotected void execute(@Nonnull CommandContext var1, @Nonnull NPCEntity var2, @Nonnull World var3, @Nonnull Store<EntityStore> var4, @Nonnull Ref<EntityStore> var5)
abstract super super("clear", "server.commands.npc.attack.clear.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.commands;

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.OptionalArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.Interaction;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.entities.NPCEntity;
class="kw">import com.hypixel.hytale.server.npc.role.support.CombatSupport;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class NPCAttackCommand class="kw">extends AbstractCommandCollection {
   class="kw">public NPCAttackCommand() {
      super("attack", "server.commands.npc.attack.desc");
      this.addSubCommand(new NPCAttackCommand.SetAttackCommand());
      this.addSubCommand(new NPCAttackCommand.ClearAttackCommand());
   }

   class="kw">public class="kw">static class ClearAttackCommand class="kw">extends NPCWorldCommandBase {
      class="kw">public ClearAttackCommand() {
         super("clear", "server.commands.npc.attack.clear.desc");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull NPCEntity var2, @Nonnull World var3, @Nonnull Store<EntityStore> var4, @Nonnull Ref<EntityStore> var5
      ) {
         CombatSupport.get(var5, var4).clearAttackOverrides();
      }
   }

   class="kw">public class="kw">static class SetAttackCommand class="kw">extends NPCWorldCommandBase {
      @Nonnull
      class="kw">private class="kw">final OptionalArg<List<Interaction>> attackArg = this.withListOptionalArg(
         "attack", "server.commands.npc.attack.sequence", ArgTypes.INTERACTION_ASSET
      );

      class="kw">public SetAttackCommand() {
         super("", "server.commands.npc.attack.desc");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull NPCEntity var2, @Nonnull World var3, @Nonnull Store<EntityStore> var4, @Nonnull Ref<EntityStore> var5
      ) {
         if (this.attackArg.provided(var1)) {
            List var6 = this.attackArg.get(var1);
            CombatSupport var7 = CombatSupport.get(var5, var4);
            var7.clearAttackOverrides();

            for (Interaction var9 : var6) {
               var7.addAttackOverride(var9.getId());
            }
         }
      }
   }
}