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