ReturnToHubButtonUI class
Пакет: com.hypixel.hytale.builtin.creativehub.ui
Файл: com/hypixel/hytale/builtin/creativehub/ui/ReturnToHubButtonUI.java
Поля (13)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
ANCHOR_ID |
|
UICommandBuilder |
var2 |
|
CreativeHubEntityConfig |
var2 |
|
UIEventBuilder |
var3 |
|
World |
var3 |
|
World |
var3 |
|
CreativeHubWorldConfig |
var4 |
|
CreativeHubWorldConfig |
var4 |
|
World |
var5 |
|
World |
var6 |
|
ISpawnProvider |
var7 |
|
Transform |
var8 |
|
World |
var9 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
clearvoid clear(@Nonnull PlayerRef var0) |
static |
void |
executeReturnToHubvoid executeReturnToHub(@Nonnull PlayerRef var0, @Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) |
|
|
if if(!var1) |
|
|
if if(var3 != null) |
|
|
if if(var3 != null) |
static |
void |
registervoid register() |
static |
void |
sendvoid send(@Nonnull PlayerRef var0) |
static |
void |
sendvoid send(@Nonnull PlayerRef var0, boolean var1) |
abstract |
|
send send(var0, false) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.creativehub.ui;
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.protocol.packets.interface_.CustomUIEventBindingType;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.UpdateAnchorUI;
class="kw">import com.hypixel.hytale.server.core.modules.anchoraction.AnchorActionModule;
class="kw">import com.hypixel.hytale.server.core.ui.builder.EventData;
class="kw">import com.hypixel.hytale.server.core.ui.builder.UICommandBuilder;
class="kw">import com.hypixel.hytale.server.core.ui.builder.UIEventBuilder;
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="kw">final class ReturnToHubButtonUI {
class="kw">public class="kw">static class="kw">final String ANCHOR_ID = "MapServerContent";
class="kw">public class="kw">static class="kw">final String ACTION_RETURN_TO_HUB = "returnToHub";
class="kw">private ReturnToHubButtonUI() {
}
class="kw">public class="kw">static void register() {
AnchorActionModule.get().register("returnToHub", ReturnToHubButtonUI::executeReturnToHub);
}
class="kw">public class="kw">static void send(@Nonnull PlayerRef var0) {
send(var0, false);
}
class="kw">public class="kw">static void send(@Nonnull PlayerRef var0, boolean var1) {
UICommandBuilder var2 = new UICommandBuilder();
var2.append("Hud/ReturnToHubButton.ui");
var2.set("#ReturnToHubButton.Disabled", var1);
UIEventBuilder var3 = new UIEventBuilder();
if (!var1) {
var3.addEventBinding(CustomUIEventBindingType.Activating, "#ReturnToHubButton", EventData.of("action", "returnToHub"), false);
}
var0.getPacketHandler().writeNoCache(new UpdateAnchorUI("MapServerContent", true, var2.getCommands(), var3.getEvents()));
}
class="kw">public class="kw">static void clear(@Nonnull PlayerRef var0) {
var0.getPacketHandler().writeNoCache(new UpdateAnchorUI("MapServerContent", true, null, null));
}
class="kw">public class="kw">static void executeReturnToHub(@Nonnull PlayerRef var0, @Nonnull Ref<EntityStore> var1, @Nonnull Store<EntityStore> var2) {
World var3 = findParentHubWorld(var2, var1);
if (var3 != null) {
CreativeHubWorldConfig var4 = CreativeHubWorldConfig.get(var3.getWorldConfig());
if (var4 != null && var4.getStartupInstance() != null) {
World var5 = var2.getExternalData().getWorld();
World var6 = CreativeHubPlugin.get().getActiveHubInstance(var3);
if (!var5.equals(var6)) {
ISpawnProvider var7 = var3.getWorldConfig().getSpawnProvider();
Transform var8 = var7 != null ? var7.getSpawnPoint(var3, var0.getUuid()) : new Transform();
World var9 = CreativeHubPlugin.get().getOrSpawnHubInstance(var3, var4, var8);
InstancesPlugin.teleportPlayerToInstance(var1, var2, var9, null);
}
}
}
}
@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;
}
}