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