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