DebugCommand class

Пакет: com.hypixel.hytale.builtin.adventure.camera.command

Файл: com/hypixel/hytale/builtin/adventure/camera/command/CameraEffectCommand.java

extends: AbstractTargetPlayerCommand

Поля (5)

МодификаторыТипИмя
protected final RequiredArg<CameraEffect> effectArg
protected final RequiredArg<Float> intensityArg
CameraEffect var7
float var8
PlayerRef var9

Методы (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("debug", "server.commands.camshake.debug.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.camera.command;

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.asset.type.camera.CameraEffect;
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.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.ArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.AssetArgumentType;
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.modules.entity.damage.Damage;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DamageCause;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DamageSystems;
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 CameraEffectCommand class="kw">extends AbstractCommandCollection {
   @Nonnull
   class="kw">protected class="kw">static class="kw">final ArgumentType<CameraEffect> CAMERA_EFFECT_ARGUMENT_TYPE = new AssetArgumentType("CameraEffect", CameraEffect.class, "");

   class="kw">public CameraEffectCommand() {
      super("camshake", "server.commands.camshake.desc");
      this.setPermissionGroups("hytale:WorldEditor");
      this.addSubCommand(new CameraEffectCommand.DamageCommand());
      this.addSubCommand(new CameraEffectCommand.DebugCommand());
   }

   class="kw">protected class="kw">static class DamageCommand class="kw">extends AbstractTargetPlayerCommand {
      @Nonnull
      class="kw">protected class="kw">static class="kw">final ArgumentType<DamageCause> DAMAGE_CAUSE_ARGUMENT_TYPE = new AssetArgumentType("DamageCause", DamageCause.class, "");
      @Nonnull
      class="kw">protected class="kw">final OptionalArg<CameraEffect> effectArg = this.withOptionalArg(
         "effect", "server.commands.camshake.effect.desc", CameraEffectCommand.CAMERA_EFFECT_ARGUMENT_TYPE
      );
      @Nonnull
      class="kw">protected class="kw">final RequiredArg<DamageCause> causeArg = this.withRequiredArg(
         "cause", "server.commands.camshake.damage.cause.desc", DAMAGE_CAUSE_ARGUMENT_TYPE
      );
      @Nonnull
      class="kw">protected class="kw">final RequiredArg<Float> damageArg = this.withRequiredArg("amount", "server.commands.camshake.damage.amount.desc", ArgTypes.FLOAT);

      class="kw">public DamageCommand() {
         super("damage", "server.commands.camshake.damage.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
      ) {
         DamageCause var7 = var1.get(this.causeArg);
         float var8 = var1.get(this.damageArg);
         Damage.CommandSource var9 = new Damage.CommandSource(var1.sender(), this.getName());
         Damage var10 = new Damage(var9, var7, var8);
         String var11 = "Default";
         if (this.effectArg.provided(var1)) {
            var11 = var1.get(this.effectArg).getId();
            Damage.CameraEffect var12 = new Damage.CameraEffect(CameraEffect.getAssetMap().getIndex(var11));
            var10.getMetaStore().putMetaObject(Damage.CAMERA_EFFECT, var12);
         }

         DamageSystems.executeDamage(var3, var6, var10);
         var1.sendMessage(
            Message.translation("server.commands.camshake.damage.success").param("effect", var11).param("cause", var7.getId()).param("amount", var8)
         );
      }
   }

   class="kw">protected class="kw">static class DebugCommand class="kw">extends AbstractTargetPlayerCommand {
      @Nonnull
      class="kw">protected class="kw">final RequiredArg<CameraEffect> effectArg = this.withRequiredArg(
         "effect", "server.commands.camshake.effect.desc", CameraEffectCommand.CAMERA_EFFECT_ARGUMENT_TYPE
      );
      @Nonnull
      class="kw">protected class="kw">final RequiredArg<Float> intensityArg = this.withRequiredArg("intensity", "server.commands.camshake.debug.intensity.desc", ArgTypes.FLOAT);

      class="kw">public DebugCommand() {
         super("debug", "server.commands.camshake.debug.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
      ) {
         CameraEffect var7 = var1.get(this.effectArg);
         float var8 = var1.get(this.intensityArg);
         PlayerRef var9 = var6.getComponent(var3, PlayerRef.getComponentType());
         assert var9 != null;
         var9.getPacketHandler().writeNoCache(var7.createCameraShakePacket(var8));
         var1.sendMessage(Message.translation("server.commands.camshake.debug.success").param("effect", var7.getId()).param("intensity", var8));
      }
   }
}