HitboxCollisionAddSelfCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.debug.component.hitboxcollision

Файл: com/hypixel/hytale/server/core/command/commands/debug/component/hitboxcollision/HitboxCollisionAddCommand.java

extends: AbstractTargetPlayerCommand

Поля (4)

МодификаторыТипИмя
private static final Message MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_ALREADY_ADDED
private static final Message MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_SUCCESS
private final RequiredArg<HitboxCollisionConfig> hitboxCollisionConfigArg
HitboxCollisionConfig var7

Методы (2)

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

Исходный код

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

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.EntityWrappedArg;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.modules.entity.hitboxcollision.HitboxCollision;
class="kw">import com.hypixel.hytale.server.core.modules.entity.hitboxcollision.HitboxCollisionConfig;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
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 javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class HitboxCollisionAddCommand class="kw">extends AbstractCommandCollection {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_ERRORS_TARGET_NOT_IN_WORLD = Message.translation("server.commands.errors.targetNotInWorld");

   class="kw">public HitboxCollisionAddCommand() {
      super("add", "server.commands.hitboxcollision.add.desc");
      this.addSubCommand(new HitboxCollisionAddCommand.HitboxCollisionAddEntityCommand());
      this.addSubCommand(new HitboxCollisionAddCommand.HitboxCollisionAddSelfCommand());
   }

   class="kw">public class="kw">static class HitboxCollisionAddEntityCommand class="kw">extends AbstractWorldCommand {
      @Nonnull
      class="kw">public class="kw">static class="kw">final Message MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_ALREADY_ADDED = Message.translation("server.commands.hitboxcollision.add.alreadyAdded");
      @Nonnull
      class="kw">public class="kw">static class="kw">final Message MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_SUCCESS = Message.translation("server.commands.hitboxcollision.add.success");
      @Nonnull
      class="kw">private class="kw">final RequiredArg<HitboxCollisionConfig> hitboxCollisionConfigArg = this.withRequiredArg(
         "hitboxCollisionConfig", "server.commands.hitboxcollision.add.hitboxCollisionConfig.desc", ArgTypes.HITBOX_COLLISION_CONFIG
      );
      @Nonnull
      class="kw">private class="kw">final EntityWrappedArg entityArg = this.withOptionalArg("entity", "server.commands.hitboxcollision.add.entityArg.desc", ArgTypes.ENTITY_ID);

      class="kw">public HitboxCollisionAddEntityCommand() {
         super("entity", "server.commands.hitboxcollision.add.entity.desc");
      }

      @Override
      class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
         Ref var4 = this.entityArg.get(var3, var1);
         if (var4 != null && var4.isValid()) {
            HitboxCollisionConfig var5 = this.hitboxCollisionConfigArg.get(var1);
            if (var3.getArchetype(var4).contains(HitboxCollision.getComponentType())) {
               var1.sendMessage(MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_ALREADY_ADDED);
            } else {
               var3.addComponent(var4, HitboxCollision.getComponentType(), new HitboxCollision(var5));
               var1.sendMessage(MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_SUCCESS);
            }
         } else {
            var1.sendMessage(HitboxCollisionAddCommand.MESSAGE_COMMANDS_ERRORS_TARGET_NOT_IN_WORLD);
         }
      }
   }

   class="kw">public class="kw">static class HitboxCollisionAddSelfCommand class="kw">extends AbstractTargetPlayerCommand {
      @Nonnull
      class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_ALREADY_ADDED = Message.translation(
         "server.commands.hitboxcollision.add.alreadyAdded"
      );
      @Nonnull
      class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_SUCCESS = Message.translation("server.commands.hitboxcollision.add.success");
      @Nonnull
      class="kw">private class="kw">final RequiredArg<HitboxCollisionConfig> hitboxCollisionConfigArg = this.withRequiredArg(
         "hitboxCollisionConfig", "server.commands.hitboxcollision.add.hitboxCollisionConfig.desc", ArgTypes.HITBOX_COLLISION_CONFIG
      );

      class="kw">public HitboxCollisionAddSelfCommand() {
         super("self", "server.commands.hitboxcollision.add.self.desc");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1,
         @Nullable Ref<EntityStore> var2,
         @Nonnull Ref<EntityStore> var3,
         @Nonnull PlayerRef var4,
         @Nonnull World var5,
         @Nonnull Store<EntityStore> var6
      ) {
         if (var6.getArchetype(var3).contains(HitboxCollision.getComponentType())) {
            var1.sendMessage(MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_ALREADY_ADDED);
         } else {
            HitboxCollisionConfig var7 = this.hitboxCollisionConfigArg.get(var1);
            var6.addComponent(var3, HitboxCollision.getComponentType(), new HitboxCollision(var7));
            var1.sendMessage(MESSAGE_COMMANDS_HIT_BOX_COLLISION_ADD_SUCCESS);
         }
      }
   }
}