PortalDevice class

Пакет: com.hypixel.hytale.builtin.portals.components

Файл: com/hypixel/hytale/builtin/portals/components/PortalDevice.java

implements: Component<ChunkStore>

Поля (2)

МодификаторыТипИмя
World var1
PortalDevice var1

Методы (7)

МодификаторыВозвратСигнатура
public String getBaseBlockTypeKeyString getBaseBlockTypeKey()
static ComponentType<ChunkStore, PortalDevice> getComponentTypeComponentType<ChunkStore, PortalDevice> getComponentType()
public PortalDeviceConfig getConfigPortalDeviceConfig getConfig()
if if(this.destinationWorldUuid == null)
public boolean isLoadingWorldboolean isLoadingWorld()
public void setDestinationWorldvoid setDestinationWorld(@Nonnull World var1)
public void setPendingWorldvoid setPendingWorld(@Nullable CompletableFuture<Void> var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.portals.components;

class="kw">import com.hypixel.hytale.builtin.portals.PortalsPlugin;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
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.ChunkStore;
class="kw">import java.util.UUID;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class PortalDevice class="kw">implements Component<ChunkStore> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<PortalDevice> CODEC = BuilderCodec.builder(PortalDevice.class, PortalDevice::new)
      .append(new KeyedCodec<>("Config", PortalDeviceConfig.CODEC), (var0, var1) -> var0.config = var1, var0 -> var0.config)
      .add()
      .append(new KeyedCodec<>("BaseBlockType", Codec.STRING), (var0, var1) -> var0.baseBlockTypeKey = var1, var0 -> var0.baseBlockTypeKey)
      .add()
      .append(new KeyedCodec<>("DestinationWorld", Codec.UUID_BINARY), (var0, var1) -> var0.destinationWorldUuid = var1, var0 -> var0.destinationWorldUuid)
      .add()
      .build();
   class="kw">private PortalDeviceConfig config;
   class="kw">private String baseBlockTypeKey;
   class="kw">private UUID destinationWorldUuid;
   @Nullable
   class="kw">private CompletableFuture<Void> pendingWorld;

   class="kw">public class="kw">static ComponentType<ChunkStore, PortalDevice> getComponentType() {
      class="kw">return PortalsPlugin.getInstance().getPortalDeviceComponentType();
   }

   class="kw">private PortalDevice() {
   }

   class="kw">public PortalDevice(PortalDeviceConfig var1, String var2) {
      this.config = var1;
      this.baseBlockTypeKey = var2;
   }

   class="kw">public PortalDeviceConfig getConfig() {
      class="kw">return this.config;
   }

   class="kw">public String getBaseBlockTypeKey() {
      class="kw">return this.baseBlockTypeKey;
   }

   @Nullable
   class="kw">public BlockType getBaseBlockType() {
      class="kw">return BlockType.getAssetMap().getAsset(this.baseBlockTypeKey);
   }

   @Nullable
   class="kw">public UUID getDestinationWorldUuid() {
      class="kw">return this.destinationWorldUuid;
   }

   @Nullable
   class="kw">public World getDestinationWorld() {
      if (this.destinationWorldUuid == null) {
         class="kw">return null;
      }

      World var1 = Universe.get().getWorld(this.destinationWorldUuid);
      class="kw">return var1 != null && var1.isAlive() ? var1 : null;
   }

   class="kw">public void setDestinationWorld(@Nonnull World var1) {
      this.destinationWorldUuid = var1.getWorldConfig().getUuid();
   }

   class="kw">public boolean isLoadingWorld() {
      class="kw">return this.pendingWorld == null ? false : !this.pendingWorld.isDone();
   }

   class="kw">public void setPendingWorld(@Nullable CompletableFuture<Void> var1) {
      this.pendingWorld = var1;
   }

   @Override
   class="kw">public Component<ChunkStore> clone() {
      PortalDevice var1 = new PortalDevice();
      var1.config = this.config;
      var1.baseBlockTypeKey = this.baseBlockTypeKey;
      var1.destinationWorldUuid = this.destinationWorldUuid;
      var1.pendingWorld = this.pendingWorld;
      class="kw">return var1;
   }
}