ChunkSuppressionSystems class

Пакет: com.hypixel.hytale.server.spawning.suppression.system

Файл: com/hypixel/hytale/server/spawning/suppression/system/ChunkSuppressionSystems.java

Поля (16)

МодификаторыТипИмя
private static final ComponentType<ChunkStore, BlockChunk> COMPONENT_TYPE
private final ComponentType<ChunkStore, ChunkSuppressionEntry> chunkSuppressionEntryComponentType
private final ComponentType<ChunkStore, ChunkSuppressionEntry> chunkSuppressionEntryComponentType
private final ResourceType<ChunkStore, ChunkSuppressionQueue> chunkSuppressionQueueResourceType
private final ResourceType<EntityStore, SpawnSuppressionController> spawnSuppressionControllerResourceType
ChunkSuppressionEntry var10
Ref var11
ChunkSuppressionQueue var4
World var5
List var5
SpawnSuppressionController var6
BlockChunk var7
Entry var7
long var8
Ref var8
List var9

Методы (9)

МодификаторыВозвратСигнатура
public ChunkAddedpublic ChunkAdded(ComponentType<ChunkStore, ChunkSuppressionEntry> var1, ResourceType<EntityStore, SpawnSuppressionController> var2)
public Tickingpublic Ticking(ComponentType<ChunkStore, ChunkSuppressionEntry> var1, ResourceType<ChunkStore, ChunkSuppressionQueue> var2)
abstract for for(int var6 = 0; var6 < var5.size()
abstract for for(int var10 = 0; var10 < var9.size()
public Query<ChunkStore> getQuerypublic Query<ChunkStore> getQuery()
if if(var10 != null)
public void onEntityAddedpublic void onEntityAdded(@Nonnull Ref<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
public void onEntityRemovepublic void onEntityRemove(@Nonnull Ref<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
public void tickpublic void tick(float var1, int var2, @Nonnull Store<ChunkStore> var3)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.spawning.suppression.system;

class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.component.system.tick.TickingSystem;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.BlockChunk;
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 com.hypixel.hytale.server.spawning.SpawningPlugin;
class="kw">import com.hypixel.hytale.server.spawning.suppression.component.ChunkSuppressionEntry;
class="kw">import com.hypixel.hytale.server.spawning.suppression.component.ChunkSuppressionQueue;
class="kw">import com.hypixel.hytale.server.spawning.suppression.component.SpawnSuppressionController;
class="kw">import java.util.List;
class="kw">import java.util.Map.Entry;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ChunkSuppressionSystems {
   class="kw">public ChunkSuppressionSystems() {
   }

   class="kw">public class="kw">static class ChunkAdded class="kw">extends RefSystem<ChunkStore> {
      class="kw">private class="kw">static class="kw">final ComponentType<ChunkStore, BlockChunk> COMPONENT_TYPE = BlockChunk.getComponentType();
      class="kw">private class="kw">final ComponentType<ChunkStore, ChunkSuppressionEntry> chunkSuppressionEntryComponentType;
      class="kw">private class="kw">final ResourceType<EntityStore, SpawnSuppressionController> spawnSuppressionControllerResourceType;

      class="kw">public ChunkAdded(ComponentType<ChunkStore, ChunkSuppressionEntry> var1, ResourceType<EntityStore, SpawnSuppressionController> var2) {
         this.chunkSuppressionEntryComponentType = var1;
         this.spawnSuppressionControllerResourceType = var2;
      }

      @Override
      class="kw">public Query<ChunkStore> getQuery() {
         class="kw">return COMPONENT_TYPE;
      }

      @Override
      class="kw">public void onEntityAdded(
         @Nonnull Ref<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
         World var5 = var3.getExternalData().getWorld();
         SpawnSuppressionController var6 = var5.getEntityStore().getStore().getResource(this.spawnSuppressionControllerResourceType);
         BlockChunk var7 = var4.getComponent(var1, COMPONENT_TYPE);
         long var8 = var7.getIndex();
         ChunkSuppressionEntry var10 = var6.getChunkSuppressionMap().get(var8);
         if (var10 != null) {
            var4.addComponent(var1, this.chunkSuppressionEntryComponentType, var10);
            SpawningPlugin.get().getLogger().at(Level.FINEST).log("Annotated chunk index %s on load", var8);
         }
      }

      @Override
      class="kw">public void onEntityRemove(
         @Nonnull Ref<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
      }
   }

   class="kw">public class="kw">static class Ticking class="kw">extends TickingSystem<ChunkStore> {
      class="kw">private class="kw">final ComponentType<ChunkStore, ChunkSuppressionEntry> chunkSuppressionEntryComponentType;
      class="kw">private class="kw">final ResourceType<ChunkStore, ChunkSuppressionQueue> chunkSuppressionQueueResourceType;

      class="kw">public Ticking(ComponentType<ChunkStore, ChunkSuppressionEntry> var1, ResourceType<ChunkStore, ChunkSuppressionQueue> var2) {
         this.chunkSuppressionEntryComponentType = var1;
         this.chunkSuppressionQueueResourceType = var2;
      }

      @Override
      class="kw">public void tick(float var1, int var2, @Nonnull Store<ChunkStore> var3) {
         ChunkSuppressionQueue var4 = var3.getResource(this.chunkSuppressionQueueResourceType);
         List var5 = var4.getToAdd();
         if (!var5.isEmpty()) {
            for (int var6 = 0; var6 < var5.size(); var6++) {
               Entry var7 = var5.get(var6);
               Ref var8 = var7.getKey();
               if (var8.isValid()) {
                  var3.putComponent(var8, this.chunkSuppressionEntryComponentType, var7.getValue());
                  SpawningPlugin.get().getLogger().at(Level.FINEST).log("Annotated chunk %s from queue", var8);
               }
            }

            var5.clear();
         }

         List var9 = var4.getToRemove();
         if (!var9.isEmpty()) {
            for (int var10 = 0; var10 < var9.size(); var10++) {
               Ref var11 = var9.get(var10);
               if (var11.isValid()) {
                  var3.tryRemoveComponent(var11, this.chunkSuppressionEntryComponentType);
                  SpawningPlugin.get().getLogger().at(Level.FINEST).log("Removed annotation from chunk %s from queue", var11);
               }
            }

            var9.clear();
         }
      }
   }
}