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);
}
}
}
}