MigratePrefabSpawn class

Пакет: com.hypixel.hytale.server.core.modules.prefabspawner

Файл: com/hypixel/hytale/server/core/modules/prefabspawner/PrefabSpawnerModule.java

extends: BlockModule.MigrationSystem

Поля (2)

МодификаторыТипИмя
UnknownComponents var4
PrefabSpawnerBlock var5

Методы (4)

МодификаторыВозвратСигнатура
public Query<ChunkStore> getQuerypublic Query<ChunkStore> getQuery()
if if(var5 != null)
public void onEntityAddpublic void onEntityAdd(@Nonnull Holder<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3)
public void onEntityRemovedpublic void onEntityRemoved(@Nonnull Holder<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.prefabspawner;

class="kw">import com.hypixel.hytale.common.plugin.PluginManifest;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.data.unknown.UnknownComponents;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.server.core.modules.block.BlockModule;
class="kw">import com.hypixel.hytale.server.core.modules.prefabspawner.commands.PrefabSpawnerCommand;
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.world.storage.ChunkStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class PrefabSpawnerModule class="kw">extends JavaPlugin {
   @Nonnull
   class="kw">public class="kw">static class="kw">final PluginManifest MANIFEST = PluginManifest.corePlugin(PrefabSpawnerModule.class).depends(BlockModule.class).build();
   class="kw">private class="kw">static PrefabSpawnerModule INSTANCE;
   class="kw">private ComponentType<ChunkStore, PrefabSpawnerBlock> prefabSpawnerBlockType;

   class="kw">public class="kw">static PrefabSpawnerModule get() {
      class="kw">return INSTANCE;
   }

   class="kw">public PrefabSpawnerModule(@Nonnull JavaPluginInit var1) {
      super(var1);
   }

   @Override
   class="kw">protected void setup() {
      INSTANCE = this;
      this.getCommandRegistry().registerCommand(new PrefabSpawnerCommand());
      this.prefabSpawnerBlockType = this.getChunkStoreRegistry().registerComponent(PrefabSpawnerBlock.class, "PrefabSpawner", PrefabSpawnerBlock.CODEC);
      this.getChunkStoreRegistry().registerSystem(new PrefabSpawnerModule.MigratePrefabSpawn());
   }

   class="kw">public ComponentType<ChunkStore, PrefabSpawnerBlock> getPrefabSpawnerBlockType() {
      class="kw">return this.prefabSpawnerBlockType;
   }

   class="kw">public class="kw">static class MigratePrefabSpawn class="kw">extends BlockModule.MigrationSystem {
      class="kw">public MigratePrefabSpawn() {
      }

      @Override
      class="kw">public void onEntityAdd(@Nonnull Holder<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3) {
         UnknownComponents var4 = var1.getComponent(ChunkStore.REGISTRY.getUnknownComponentType());
         assert var4 != null;
         PrefabSpawnerBlock var5 = var4.removeComponent("prefabspawner", PrefabSpawnerBlock.CODEC);
         if (var5 != null) {
            var1.putComponent(PrefabSpawnerBlock.getComponentType(), var5);
         }
      }

      @Override
      class="kw">public void onEntityRemoved(@Nonnull Holder<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3) {
      }

      @Nullable
      @Override
      class="kw">public Query<ChunkStore> getQuery() {
         class="kw">return ChunkStore.REGISTRY.getUnknownComponentType();
      }
   }
}