WildernessPlugin class
Пакет: com.hypixel.hytale.builtin.adventure.wilderness
Файл: com/hypixel/hytale/builtin/adventure/wilderness/WildernessPlugin.java
extends: JavaPlugin
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
static |
WildernessPlugin |
instance |
|
|
instance |
|
String |
var3 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
WildernessPlugin |
getWildernessPlugin get() |
public |
ResourceType<ChunkStore, WildernessVisitor.ChunkVisitor> |
getChunkResourceTypeResourceType<ChunkStore, WildernessVisitor.ChunkVisitor> getChunkResourceType() |
public |
ResourceType<EntityStore, WildernessVisitor.EntityVisitor> |
getEntityResourceTypeResourceType<EntityStore, WildernessVisitor.EntityVisitor> getEntityResourceType() |
public |
ComponentType<EntityStore, Wilderness> |
getWildernessComponentTypeComponentType<EntityStore, Wilderness> getWildernessComponentType() |
public |
ResourceType<ChunkStore, WildernessTracker> |
getWildernessTrackerResourceTypeResourceType<ChunkStore, WildernessTracker> getWildernessTrackerResourceType() |
static |
void |
onGameplayConfigLoadedvoid onGameplayConfigLoaded(@Nonnull LoadedAssetsEvent<String, GameplayConfig, AssetMap<String, GameplayConfig>> var0) |
static |
void |
onStartWorldvoid onStartWorld(@Nonnull StartWorldEvent var0) |
abstract |
|
reloadTracker reloadTracker(var2) |
abstract |
|
super super(var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.wilderness;
class="kw">import com.hypixel.hytale.assetstore.AssetMap;
class="kw">import com.hypixel.hytale.assetstore.event.LoadedAssetsEvent;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.component.Wilderness;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.component.WildernessLocation;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.resource.WildernessTracker;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.resource.WildernessVisitor;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.system.WildernessEntitySystems;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.system.WildernessTrackerSystems;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.condition.location.EventLocation;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.GameplayConfig;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
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.events.StartWorldEvent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import javax.annotation.Nonnull;
class="kw">public class WildernessPlugin class="kw">extends JavaPlugin {
class="kw">protected class="kw">static WildernessPlugin instance;
class="kw">protected ComponentType<EntityStore, Wilderness> wildernessComponentType;
class="kw">protected ResourceType<ChunkStore, WildernessTracker> wildernessTrackerResourceType;
class="kw">protected ResourceType<ChunkStore, WildernessVisitor.ChunkVisitor> chunkStoreResourceType;
class="kw">protected ResourceType<EntityStore, WildernessVisitor.EntityVisitor> entityStoreResourceType;
class="kw">public WildernessPlugin(@Nonnull JavaPluginInit var1) {
super(var1);
instance = this;
}
@Override
class="kw">protected void setup() {
this.wildernessComponentType = this.getEntityStoreRegistry().registerComponent(Wilderness.class, Wilderness::new);
this.wildernessTrackerResourceType = this.getChunkStoreRegistry().registerResource(WildernessTracker.class, WildernessTracker::new);
this.chunkStoreResourceType = this.getChunkStoreRegistry().registerResource(WildernessVisitor.ChunkVisitor.class, WildernessVisitor.ChunkVisitor::new);
this.entityStoreResourceType = this.getEntityStoreRegistry()
.registerResource(WildernessVisitor.EntityVisitor.class, WildernessVisitor.EntityVisitor::new);
this.getChunkStoreRegistry().registerSystem(new WildernessTrackerSystems.EntityAddRemove());
this.getChunkStoreRegistry().registerSystem(new WildernessTrackerSystems.ComponentAddRemove());
this.getEntityStoreRegistry().registerSystem(new WildernessEntitySystems.AddSystem(this.wildernessComponentType));
this.getEntityStoreRegistry()
.registerSystem(
new WildernessEntitySystems.TickSystem(this.wildernessComponentType, TransformComponent.getComponentType(), this.wildernessTrackerResourceType)
);
this.getEventRegistry().registerGlobal(StartWorldEvent.class, WildernessPlugin::onStartWorld);
this.getEventRegistry().register(LoadedAssetsEvent.class, GameplayConfig.class, WildernessPlugin::onGameplayConfigLoaded);
this.getCodecRegistry(GameplayConfig.PLUGIN_CODEC).register(WildernessConfig.class, "Wilderness", WildernessConfig.CODEC);
this.getCodecRegistry(EventLocation.Config.TYPE_CODEC).register("WildernessLocation", WildernessLocation.Config.class, WildernessLocation.Config.CODEC);
}
class="kw">public ComponentType<EntityStore, Wilderness> getWildernessComponentType() {
class="kw">return this.wildernessComponentType;
}
class="kw">public ResourceType<ChunkStore, WildernessTracker> getWildernessTrackerResourceType() {
class="kw">return this.wildernessTrackerResourceType;
}
class="kw">public ResourceType<ChunkStore, WildernessVisitor.ChunkVisitor> getChunkResourceType() {
class="kw">return this.chunkStoreResourceType;
}
class="kw">public ResourceType<EntityStore, WildernessVisitor.EntityVisitor> getEntityResourceType() {
class="kw">return this.entityStoreResourceType;
}
@Nonnull
class="kw">public class="kw">static CompletableFuture<WildernessTracker> reloadTracker(@Nonnull World var0) {
class="kw">return CompletableFuture.completedFuture(var0).thenApplyAsync(WildernessTrackerSystems::reload, var0);
}
class="kw">public class="kw">static WildernessPlugin get() {
class="kw">return instance;
}
class="kw">protected class="kw">static void onStartWorld(@Nonnull StartWorldEvent var0) {
reloadTracker(var0.getWorld());
}
class="kw">protected class="kw">static void onGameplayConfigLoaded(@Nonnull LoadedAssetsEvent<String, GameplayConfig, AssetMap<String, GameplayConfig>> var0) {
for (World var2 : Universe.get().getWorlds().values()) {
String var3 = var2.getWorldConfig().getGameplayConfig();
if (var0.getLoadedAssets().containsKey(var3)) {
reloadTracker(var2);
}
}
}
}