TagOperation enum

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

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

Поля (1)

МодификаторыТипИмя
SET, REMOVE

Методы (2)

МодификаторыВозвратСигнатура
public static TriggerVolumeTagCommand.TagOperation fromInputpublic static TriggerVolumeTagCommand.TagOperation fromInput(@Nonnull String var0)
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;
      }
   }
}