TagOperation enum
Пакет: com.hypixel.hytale.builtin.triggervolumes.command
Файл: com/hypixel/hytale/builtin/triggervolumes/command/TriggerVolumeTagCommand.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
SET, |
REMOVE |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public static TriggerVolumeTagCommand.TagOperation |
fromInputpublic static TriggerVolumeTagCommand.TagOperation fromInput(@Nonnull String var0) |
|
public String |
tokenpublic String token() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.command;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.TriggerVolumesPlugin;
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.Ref;
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.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.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
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.Locale;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class TriggerVolumeTagCommand class="kw">extends AbstractWorldCommand {
class="kw">private class="kw">final RequiredArg<TriggerVolumeTagCommand.TagOperation> operationArg = this.withRequiredArg(
"operation", "server.commands.triggervolume.tag.operation.desc", TriggerVolumeArgTypes.TAG_OPERATION
);
class="kw">private class="kw">final RequiredArg<String> volumeNameArg = this.withRequiredArg(
"name", "server.commands.triggervolume.tag.name.desc", TriggerVolumeArgTypes.VOLUME_NAME
);
class="kw">private class="kw">final RequiredArg<String> keyArg = this.withRequiredArg("key", "server.commands.triggervolume.tag.key.desc", ArgTypes.STRING);
class="kw">private class="kw">final DefaultArg<String> valueArg = this.withDefaultArg(
"value", "server.commands.triggervolume.tag.value.desc", ArgTypes.STRING, "", "server.commands.triggervolume.tag.value.class="kw">default"
);
class="kw">public TriggerVolumeTagCommand() {
super("tag", "server.commands.triggervolume.tag.desc");
}
@Override
class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
TriggerVolumesPlugin var4 = TriggerVolumesPlugin.get();
TriggerVolumeTagCommand.TagOperation var5 = this.operationArg.get(var1);
String var6 = this.volumeNameArg.get(var1);
String var7 = this.keyArg.get(var1);
String var8 = this.valueArg.get(var1);
TriggerVolumeManager var9 = var3.getResource(var4.getManagerResourceType());
if (var9 != null) {
VolumeEntry var10 = var9.getVolume(var6);
if (var10 == null) {
var1.sendMessage(Message.translation("server.commands.triggervolume.notFound").param("name", var6));
} else {
Ref var11 = var1.senderAsPlayerRef();
if (var11 != null && var11.isValid()) {
UUIDComponent var12 = var3.getComponent(var11, UUIDComponent.getComponentType());
if (var12 != null) {
boolean var13 = class="kw">switch (var5) {
case SET -> var9.setTag(var10.getId(), var7, var8, var11, var12.getUuid());
case REMOVE -> var9.removeTag(var10.getId(), var7, var8.isBlank() ? null : var8, var11, var12.getUuid());
};
if (var13) {
var1.sendMessage(
Message.translation("server.commands.triggervolume.tag.success")
.param("operation", var5.token())
.param("key", var7)
.param("name", var6)
);
} else {
var1.sendMessage(Message.translation("server.commands.triggervolume.tag.noChange").param("key", var7).param("name", var6));
}
}
}
}
}
}
class="kw">public enum TagOperation {
SET,
REMOVE;
TagOperation() {
}
@Nonnull
class="kw">public String token() {
class="kw">return this.name().toLowerCase(Locale.ROOT);
}
@Nullable
class="kw">public class="kw">static TriggerVolumeTagCommand.TagOperation fromInput(@Nonnull String var0) {
for (TriggerVolumeTagCommand.TagOperation var4 : values()) {
if (var4.token().equalsIgnoreCase(var0)) {
class="kw">return var4;
}
}
class="kw">return null;
}
}
}