EntityEffectCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.world.entity

Файл: com/hypixel/hytale/server/core/command/commands/world/entity/EntityEffectCommand.java

extends: AbstractTargetEntityCommand

Поля (3)

МодификаторыТипИмя
EntityEffect var5
float var6
EffectControllerComponent var9

Методы (3)

МодификаторыВозвратСигнатура
for for(Ref var8 : var2)
if if(var9 != null)
abstract super super("effect", "server.commands.entity.effect.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.world.entity;

class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.asset.type.entityeffect.config.EntityEffect;
class="kw">import com.hypixel.hytale.server.core.asset.type.entityeffect.config.OverlapBehavior;
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.AbstractTargetEntityCommand;
class="kw">import com.hypixel.hytale.server.core.entity.effect.EffectControllerComponent;
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.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class EntityEffectCommand class="kw">extends AbstractTargetEntityCommand {
   @Nonnull
   class="kw">private class="kw">final RequiredArg<EntityEffect> effectArg = this.withRequiredArg("effect", "server.commands.entity.effect.effect.desc", ArgTypes.EFFECT_ASSET);
   @Nonnull
   class="kw">private class="kw">final DefaultArg<Float> durationArg = this.withDefaultArg(
         "duration", "server.commands.entity.effect.duration.desc", ArgTypes.FLOAT, 100.0F, "server.commands.entity.effect.duration.class="kw">default"
      )
      .addValidator(Validators.greaterThan(0.0F));

   class="kw">public EntityEffectCommand() {
      super("effect", "server.commands.entity.effect.desc");
   }

   @Override
   class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull List<Ref<EntityStore>> var2, @Nonnull World var3, @Nonnull Store<EntityStore> var4) {
      EntityEffect var5 = this.effectArg.get(var1);
      float var6 = this.durationArg.get(var1);

      for (Ref var8 : var2) {
         EffectControllerComponent var9 = var4.getComponent(var8, EffectControllerComponent.getComponentType());
         if (var9 != null) {
            var9.addEffect(var8, var5, var6, OverlapBehavior.OVERWRITE, var4);
         }
      }
   }
}