WorldEventCommand class
Пакет: com.hypixel.hytale.builtin.adventure.worldevents.command
Файл: com/hypixel/hytale/builtin/adventure/worldevents/command/WorldEventCommand.java
extends: AbstractCommandCollection
Поля (12)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
HytaleLogger |
LOGGER |
|
WorldEventManager |
var10 |
|
String |
var13 |
|
String |
var3 |
|
List |
var3 |
|
int |
var4 |
|
Set |
var5 |
|
ObjectOpenHashSet |
var5 |
|
ObjectOpenHashSet |
var5 |
|
WorldEventsConfig |
var8 |
|
WorldEventsConfig |
var8 |
|
Store |
var9 |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var8 != null) |
|
|
if if(var8 != null) |
|
public WorldEventAsset |
parsepublic WorldEventAsset parse(String var1, ParseResult var2) |
|
public UUID |
parsepublic UUID parse(String var1, ParseResult var2) |
|
public UUID |
parsepublic UUID parse(String var1, ParseResult var2) |
|
public void |
suggestpublic void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) |
|
public void |
suggestpublic void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) |
|
public void |
suggestpublic void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) |
static |
void |
suggestvoid suggest(@Nonnull String var0, @Nonnull SuggestionResult var1, @Nonnull Collection<String> var2) |
abstract |
|
super super("worldevent", "server.commands.worldevent.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.command;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventManager;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventRecord;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.WorldEventsConfig;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.WorldEventAsset;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandSender;
class="kw">import com.hypixel.hytale.server.core.command.system.ParseResult;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.SingleArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.command.system.suggestion.SuggestionResult;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
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 it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
class="kw">import java.util.Collection;
class="kw">import java.util.List;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class WorldEventCommand class="kw">extends AbstractCommandCollection {
class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
class="kw">private class="kw">static class="kw">final int MAX_SUGGESTIONS = 20;
class="kw">static class="kw">final ArgumentType<WorldEventAsset> ASSET_ARGUMENT_TYPE = new SingleArgumentType<WorldEventAsset>(
"server.commands.worldevent.argtype.asset.name", "server.commands.worldevent.argtype.asset.usage", "Example_World_event"
) {
@Nullable
class="kw">public WorldEventAsset parse(String var1, ParseResult var2) {
class="kw">return WorldEventAsset.ASSET_MAP.getAsset(var1);
}
@Override
class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
Set var5 = WorldEventAsset.ASSET_MAP.getAssetMap().keySet();
WorldEventCommand.suggest(var2, var4, var5);
}
};
class="kw">static class="kw">final ArgumentType<UUID> GLOBAL_EVENT_UUID_ARGUMENT_TYPE = new SingleArgumentType<UUID>(
"server.commands.worldevent.argtype.globalUuid.name", "server.commands.worldevent.argtype.globalUuid.usage", "550e8400-e29b-41d4-a716-446655440000"
) {
@Nullable
class="kw">public UUID parse(String var1, ParseResult var2) {
try {
class="kw">return UUID.fromString(var1);
} catch (IllegalArgumentException var4) {
class="kw">return null;
}
}
@Override
class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
try {
ObjectOpenHashSet var5 = new ObjectOpenHashSet();
for (World var7 : Universe.get().getWorlds().values()) {
WorldEventsConfig var8 = var7.getGameplayConfig().getPluginConfig().get(WorldEventsConfig.class);
if (var8 != null) {
for (WorldEventRecord var12 : var8.globalEvents()) {
if (var12.id() != null) {
String var13 = var12.id().toString();
if (var2.isEmpty() || var13.startsWith(var2)) {
var5.add(var13);
}
}
}
}
}
WorldEventCommand.suggest(var2, var4, var5);
} catch (Exception var14) {
((HytaleLogger.Api)((HytaleLogger.Api)WorldEventCommand.LOGGER.atWarning()).withCause(var14))
.log("Exception collecting global world-event UUID suggestions");
}
}
};
class="kw">static class="kw">final ArgumentType<UUID> RUNNING_EVENT_UUID_ARGUMENT_TYPE = new SingleArgumentType<UUID>(
"server.commands.worldevent.argtype.runningUuid.name", "server.commands.worldevent.argtype.runningUuid.usage", "550e8400-e29b-41d4-a716-446655440000"
) {
@Nullable
class="kw">public UUID parse(String var1, ParseResult var2) {
try {
class="kw">return UUID.fromString(var1);
} catch (IllegalArgumentException var4) {
class="kw">return null;
}
}
@Override
class="kw">public void suggest(@Nonnull CommandSender var1, @Nonnull String var2, int var3, @Nonnull SuggestionResult var4) {
try {
ObjectOpenHashSet var5 = new ObjectOpenHashSet();
for (World var7 : Universe.get().getWorlds().values()) {
WorldEventsConfig var8 = var7.getGameplayConfig().getPluginConfig().get(WorldEventsConfig.class);
if (var8 != null) {
Store var9 = var7.getEntityStore().getStore();
WorldEventManager var10 = var9.getResource(WorldEventManager.getResourceType());
var10.forEach(var5, (var1x, var2x) -> {
String var3 = var1x.uuid.toString();
if (var2.isEmpty() || var3.startsWith(var2)) {
var2x.add(var3);
}
});
}
}
WorldEventCommand.suggest(var2, var4, var5);
} catch (Exception var11) {
((HytaleLogger.Api)((HytaleLogger.Api)WorldEventCommand.LOGGER.atWarning()).withCause(var11))
.log("Exception collecting world-event UUID suggestions");
}
}
};
class="kw">public WorldEventCommand() {
super("worldevent", "server.commands.worldevent.desc");
this.setPermissionGroups("hytale:Admin");
this.addSubCommand(new CancelCommand());
this.addSubCommand(new ListCommand());
this.addSubCommand(new PanelCommand());
this.addSubCommand(new ResetCommand());
this.addSubCommand(new StartCommand());
}
class="kw">private class="kw">static void suggest(@Nonnull String var0, @Nonnull SuggestionResult var1, @Nonnull Collection<String> var2) {
List var3 = StringUtil.sortByFuzzyDistance(var0, var2);
int var4 = 0;
for (int var5 = Math.min(var3.size(), 20); var4 < var5; var4++) {
var1.suggest(var3.get(var4));
}
}
}