TriggerVolumeTagCommand class

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

Файл: com/hypixel/hytale/builtin/triggervolumes/command/TriggerVolumeTagCommand.java

extends: AbstractWorldCommand

Поля (12)

МодификаторыТипИмя
SET, REMOVE
final RequiredArg<TriggerVolumeTagCommand.TagOperation> operationArg
VolumeEntry var10
Ref var11
UUIDComponent var12
boolean var13
TriggerVolumesPlugin var4
TriggerVolumeTagCommand.TagOperation var5
String var6
String var7
String var8
TriggerVolumeManager var9

Методы (8)

МодификаторыВозвратСигнатура
TagOperation TagOperation()
public static TriggerVolumeTagCommand.TagOperation fromInputpublic static TriggerVolumeTagCommand.TagOperation fromInput(@Nonnull String var0)
if if(var9 != null)
if if(var10 == null)
if if(var12 != null)
if if(var13)
abstract super super("tag", "server.commands.triggervolume.tag.desc")
public String tokenpublic String token()

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.triggervolumes.TriggerVolumesPlugin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
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.DefaultArg;
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.basecommands.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
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 java.util.Locale;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class TriggerVolumeTagCommand class="kw">extends AbstractWorldCommand {
   class="kw">private class="kw">final RequiredArg<TriggerVolumeTagCommand.TagOperation> operationArg = this.withRequiredArg(
      "operation", "server.commands.triggervolume.tag.operation.desc", TriggerVolumeArgTypes.TAG_OPERATION
   );
   class="kw">private class="kw">final RequiredArg<String> volumeNameArg = this.withRequiredArg(
      "name", "server.commands.triggervolume.tag.name.desc", TriggerVolumeArgTypes.VOLUME_NAME
   );
   class="kw">private class="kw">final RequiredArg<String> keyArg = this.withRequiredArg("key", "server.commands.triggervolume.tag.key.desc", ArgTypes.STRING);
   class="kw">private class="kw">final DefaultArg<String> valueArg = this.withDefaultArg(
      "value", "server.commands.triggervolume.tag.value.desc", ArgTypes.STRING, "", "server.commands.triggervolume.tag.value.class="kw">default"
   );

   class="kw">public TriggerVolumeTagCommand() {
      super("tag", "server.commands.triggervolume.tag.desc");
   }

   @Override
   class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
      TriggerVolumesPlugin var4 = TriggerVolumesPlugin.get();
      TriggerVolumeTagCommand.TagOperation var5 = this.operationArg.get(var1);
      String var6 = this.volumeNameArg.get(var1);
      String var7 = this.keyArg.get(var1);
      String var8 = this.valueArg.get(var1);
      TriggerVolumeManager var9 = var3.getResource(var4.getManagerResourceType());
      if (var9 != null) {
         VolumeEntry var10 = var9.getVolume(var6);
         if (var10 == null) {
            var1.sendMessage(Message.translation("server.commands.triggervolume.notFound").param("name", var6));
         } else {
            Ref var11 = var1.senderAsPlayerRef();
            if (var11 != null && var11.isValid()) {
               UUIDComponent var12 = var3.getComponent(var11, UUIDComponent.getComponentType());
               if (var12 != null) {
                  boolean var13 = class="kw">switch (var5) {
                     case SET -> var9.setTag(var10.getId(), var7, var8, var11, var12.getUuid());
                     case REMOVE -> var9.removeTag(var10.getId(), var7, var8.isBlank() ? null : var8, var11, var12.getUuid());
                  };
                  if (var13) {
                     var1.sendMessage(
                        Message.translation("server.commands.triggervolume.tag.success")
                           .param("operation", var5.token())
                           .param("key", var7)
                           .param("name", var6)
                     );
                  } else {
                     var1.sendMessage(Message.translation("server.commands.triggervolume.tag.noChange").param("key", var7).param("name", var6));
                  }
               }
            }
         }
      }
   }

   class="kw">public enum TagOperation {
      SET,
      REMOVE;

      TagOperation() {
      }

      @Nonnull
      class="kw">public String token() {
         class="kw">return this.name().toLowerCase(Locale.ROOT);
      }

      @Nullable
      class="kw">public class="kw">static TriggerVolumeTagCommand.TagOperation fromInput(@Nonnull String var0) {
         for (TriggerVolumeTagCommand.TagOperation var4 : values()) {
            if (var4.token().equalsIgnoreCase(var0)) {
               class="kw">return var4;
            }
         }

         class="kw">return null;
      }
   }
}