SetAttackCommand class
Пакет: com.hypixel.hytale.server.npc.commands
Файл: com/hypixel/hytale/server/npc/commands/NPCAttackCommand.java
extends: NPCWorldCommandBase
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final OptionalArg<List<Interaction>> |
attackArg |
|
List |
var6 |
|
CombatSupport |
var7 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
protected void |
executeprotected void execute(@Nonnull CommandContext var1, @Nonnull NPCEntity var2, @Nonnull World var3, @Nonnull Store<EntityStore> var4, @Nonnull Ref<EntityStore> var5) |
|
|
for for(Interaction var9 : var6) |
abstract |
|
super super("", "server.commands.npc.attack.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());
}
}
}
}
}