HubCommand class
Пакет: com.hypixel.hytale.builtin.creativehub.command
Файл: com/hypixel/hytale/builtin/creativehub/command/HubCommand.java
extends: AbstractPlayerCommand
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Transform |
var10 |
|
World |
var11 |
|
CreativeHubEntityConfig |
var2 |
|
World |
var3 |
|
CreativeHubWorldConfig |
var4 |
|
World |
var6 |
|
CreativeHubWorldConfig |
var7 |
|
World |
var8 |
|
ISpawnProvider |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var6 == null) |
|
|
if if(var3 != null) |
abstract |
|
super super("hub", "server.commands.hub.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.creativehub.command;
class="kw">import com.hypixel.hytale.builtin.creativehub.CreativeHubPlugin;
class="kw">import com.hypixel.hytale.builtin.creativehub.config.CreativeHubEntityConfig;
class="kw">import com.hypixel.hytale.builtin.creativehub.config.CreativeHubWorldConfig;
class="kw">import com.hypixel.hytale.builtin.instances.InstancesPlugin;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.vector.Transform;
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.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
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.spawn.ISpawnProvider;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class HubCommand class="kw">extends AbstractPlayerCommand {
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_NOT_IN_HUB_WORLD = Message.translation("server.commands.hub.notInHubWorld");
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_ALREADY_IN_HUB = Message.translation("server.commands.hub.alreadyInHub");
class="kw">public HubCommand() {
super("hub", "server.commands.hub.desc");
this.addAliases("cosmos", "crossroads");
this.setPermissionGroups("hytale:Builder");
}
@Override
class="kw">protected void execute(
@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
) {
World var6 = findParentHubWorld(var2, var3);
if (var6 == null) {
var4.sendMessage(MESSAGE_NOT_IN_HUB_WORLD);
} else {
CreativeHubWorldConfig var7 = CreativeHubWorldConfig.get(var6.getWorldConfig());
if (var7 != null && var7.getStartupInstance() != null) {
World var8 = CreativeHubPlugin.get().getActiveHubInstance(var6);
if (var5.equals(var8)) {
var4.sendMessage(MESSAGE_ALREADY_IN_HUB);
} else {
ISpawnProvider var9 = var6.getWorldConfig().getSpawnProvider();
Transform var10 = var9 != null ? var9.getSpawnPoint(var6, var4.getUuid()) : new Transform();
World var11 = CreativeHubPlugin.get().getOrSpawnHubInstance(var6, var7, var10);
InstancesPlugin.teleportPlayerToInstance(var3, var2, var11, null);
}
} else {
var4.sendMessage(MESSAGE_NOT_IN_HUB_WORLD);
}
}
}
@Nullable
class="kw">private class="kw">static World findParentHubWorld(@Nonnull Store<EntityStore> var0, @Nonnull Ref<EntityStore> var1) {
CreativeHubEntityConfig var2 = var0.getComponent(var1, CreativeHubEntityConfig.getComponentType());
if (var2 != null && var2.getParentHubWorldUuid() != null) {
World var3 = Universe.get().getWorld(var2.getParentHubWorldUuid());
if (var3 != null) {
CreativeHubWorldConfig var4 = CreativeHubWorldConfig.get(var3.getWorldConfig());
if (var4 != null && var4.getStartupInstance() != null) {
class="kw">return var3;
}
}
}
class="kw">return null;
}
}