SpawnSuppressionController class

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

Файл: com/hypixel/hytale/server/spawning/suppression/component/SpawnSuppressionController.java

implements: Resource<EntityStore>

Поля (2)

МодификаторыТипИмя
final BuilderCodec<SpawnSuppressionController> CODEC
SpawnSuppressionController var1

Методы (2)

МодификаторыВозвратСигнатура
static ResourceType<EntityStore, SpawnSuppressionController> getResourceTypeResourceType<EntityStore, SpawnSuppressionController> getResourceType()
public Map<UUID, SpawnSuppressorEntry> getSpawnSuppressorMapMap<UUID, SpawnSuppressorEntry> getSpawnSuppressorMap()

Исходный код

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

class="kw">import com.hypixel.fastutil.longs.Long2ObjectConcurrentHashMap;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.map.ObjectMapCodec;
class="kw">import com.hypixel.hytale.component.Resource;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
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.SpawnSuppressorEntry;
class="kw">import java.util.Map;
class="kw">import java.util.UUID;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SpawnSuppressionController class="kw">implements Resource<EntityStore> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<SpawnSuppressionController> CODEC = BuilderCodec.builder(SpawnSuppressionController.class, SpawnSuppressionController::new)
      .append(
         new KeyedCodec<>(
            "SpawnSuppressorMap", new ObjectMapCodec<>(SpawnSuppressorEntry.CODEC, ConcurrentHashMap::new, UUID::toString, UUID::fromString, false)
         ),
         (var0, var1) -> var0.spawnSuppressorMap = var1,
         var0 -> var0.spawnSuppressorMap
      )
      .add()
      .build();
   class="kw">private class="kw">final Long2ObjectConcurrentHashMap<ChunkSuppressionEntry> chunkSuppressionMap = new Long2ObjectConcurrentHashMap<>(
      true, ChunkUtil.indexChunk(Integer.MIN_VALUE, Integer.MIN_VALUE)
   );
   class="kw">private Map<UUID, SpawnSuppressorEntry> spawnSuppressorMap = new ConcurrentHashMap<>();

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

   class="kw">public class="kw">static ResourceType<EntityStore, SpawnSuppressionController> getResourceType() {
      class="kw">return SpawningPlugin.get().getSpawnSuppressionControllerResourceType();
   }

   class="kw">public Map<UUID, SpawnSuppressorEntry> getSpawnSuppressorMap() {
      class="kw">return this.spawnSuppressorMap;
   }

   @Nonnull
   class="kw">public Long2ObjectConcurrentHashMap<ChunkSuppressionEntry> getChunkSuppressionMap() {
      class="kw">return this.chunkSuppressionMap;
   }

   @Nonnull
   @Override
   class="kw">public Resource<EntityStore> clone() {
      SpawnSuppressionController var1 = new SpawnSuppressionController();
      var1.chunkSuppressionMap.putAll(this.chunkSuppressionMap);
      var1.spawnSuppressorMap.putAll(this.spawnSuppressorMap);
      class="kw">return var1;
   }
}