TriggerVolumeAssignGroupEffectCommand class

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

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

extends: AbstractWorldCommand

Поля (8)

МодификаторыТипИмя
final RequiredArg<String> groupNameArg
TriggerEffectAsset var10
TriggerVolumesPlugin var4
String var5
String var6
TriggerVolumeManager var7
GroupEntry var8
AssetStore var9

Методы (5)

МодификаторыВозвратСигнатура
if if(var7 != null)
if if(var8 == null)
if if(var9 != null)
if if(var10 == null)
abstract super super("assigngroupeffect", "server.commands.triggervolume.assigngroupeffect.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.AssetStore;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.TriggerVolumesPlugin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.asset.TriggerEffectAsset;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.GroupEntry;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.TriggerVolumeManager;
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.basecommands.AbstractWorldCommand;
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.Arrays;
class="kw">import javax.annotation.Nonnull;

class="kw">public class TriggerVolumeAssignGroupEffectCommand class="kw">extends AbstractWorldCommand {
   class="kw">private class="kw">final RequiredArg<String> groupNameArg = this.withRequiredArg(
      "groupName", "server.commands.triggervolume.assigngroupeffect.groupName.desc", TriggerVolumeArgTypes.GROUP_NAME
   );
   class="kw">private class="kw">final RequiredArg<String> effectAssetIdArg = this.withRequiredArg(
      "effectAssetId", "server.commands.triggervolume.assigngroupeffect.effectId.desc", ArgTypes.STRING
   );

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

   @Override
   class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
      TriggerVolumesPlugin var4 = TriggerVolumesPlugin.get();
      String var5 = this.groupNameArg.get(var1);
      String var6 = this.effectAssetIdArg.get(var1);
      TriggerVolumeManager var7 = var3.getResource(var4.getManagerResourceType());
      if (var7 != null) {
         GroupEntry var8 = var7.getGroup(var5);
         if (var8 == null) {
            var1.sendMessage(Message.translation("server.commands.triggervolume.groupNotFound").param("name", var5));
         } else {
            AssetStore var9 = AssetRegistry.getAssetStore(TriggerEffectAsset.class);
            if (var9 != null) {
               TriggerEffectAsset var10 = (TriggerEffectAsset)((DefaultAssetMap)var9.getAssetMap()).getAsset(var6);
               if (var10 == null) {
                  var1.sendMessage(Message.translation("server.commands.triggervolume.assigngroupeffect.effectNotFound").param("effectId", var6));
               } else {
                  var8.getEffects().clear();
                  var8.getEffects().addAll(Arrays.asList(var10.getEffects()));
                  var1.sendMessage(
                     Message.translation("server.commands.triggervolume.assigngroupeffect.success").param("groupName", var5).param("effectId", var6)
                  );
               }
            }
         }
      }
   }
}