TriggerVolumeAssignEffectCommand class

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

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

extends: AbstractWorldCommand

Поля (9)

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

Методы (7)

МодификаторыВозвратСигнатура
if if(var6 != null)
if if(var7 == null)
if if(var7 == null)
if if(var8 == null)
if if(var9 != null)
if if(var10 == null)
abstract super super("assigneffect", "server.commands.triggervolume.assigneffect.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.TriggerVolumeManager;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.manager.VolumeEntry;
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.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.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 TriggerVolumeAssignEffectCommand class="kw">extends AbstractWorldCommand {
   class="kw">private class="kw">final OptionalArg<String> volumeNameArg = this.withOptionalArg(
      "volumeName", "server.commands.triggervolume.assigneffect.volumeName.desc", TriggerVolumeArgTypes.VOLUME_NAME
   );
   class="kw">private class="kw">final RequiredArg<String> effectAssetIdArg = this.withRequiredArg(
      "effectAssetId", "server.commands.triggervolume.assigneffect.effectId.desc", ArgTypes.STRING
   );

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

   @Override
   class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
      TriggerVolumesPlugin var4 = TriggerVolumesPlugin.get();
      String var5 = this.effectAssetIdArg.get(var1);
      TriggerVolumeManager var6 = var3.getResource(var4.getManagerResourceType());
      if (var6 != null) {
         String var7 = this.volumeNameArg.get(var1);
         if (var7 == null) {
            var7 = var6.getPlayerSelection(var1.sender().getUuid());
         }

         if (var7 == null) {
            var1.sendMessage(Message.translation("server.commands.triggervolume.assigneffect.noSelection"));
         } else {
            VolumeEntry var8 = var6.getVolume(var7);
            if (var8 == null) {
               var1.sendMessage(Message.translation("server.commands.triggervolume.notFound").param("name", var7));
            } else {
               AssetStore var9 = AssetRegistry.getAssetStore(TriggerEffectAsset.class);
               if (var9 != null) {
                  TriggerEffectAsset var10 = (TriggerEffectAsset)((DefaultAssetMap)var9.getAssetMap()).getAsset(var5);
                  if (var10 == null) {
                     var1.sendMessage(Message.translation("server.commands.triggervolume.assigneffect.effectNotFound").param("effectId", var5));
                  } else {
                     var8.getConditions().clear();
                     var8.getConditions().addAll(Arrays.asList(var10.getConditions()));
                     var8.getEffects().clear();
                     var8.getEffects().addAll(Arrays.asList(var10.getEffects()));
                     var8.getRejectionEffects().clear();
                     var8.getRejectionEffects().addAll(Arrays.asList(var10.getRejectionEffects()));
                     var8.setConditionTiming(var10.getConditionTiming());
                     var8.setEffectAssetRef(var5);
                     var6.notifyViewersAdd(var8);
                     var1.sendMessage(
                        Message.translation("server.commands.triggervolume.assigneffect.success").param("volumeName", var7).param("effectId", var5)
                     );
                  }
               }
            }
         }
      }
   }
}