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