SpawnMarkerSuppressionSystem class

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

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

extends: RefSystem<EntityStore>

Поля (9)

МодификаторыТипИмя
final ComponentType<EntityStore, SpawnMarkerEntity> spawnMarkerEntityComponentType
SpawnSuppressionController var5
SpawnSuppression var5
SpawnMarkerEntity var6
double var6
TransformComponent var7
UUIDComponent var8
double var8
Map var9

Методы (1)

МодификаторыВозвратСигнатура
if if(var5 == null)

Исходный код

Показать/скрыть
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.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
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.assets.spawnsuppression.SpawnSuppression;
class="kw">import com.hypixel.hytale.server.spawning.spawnmarkers.SpawnMarkerEntity;
class="kw">import com.hypixel.hytale.server.spawning.suppression.SpawnSuppressorEntry;
class="kw">import com.hypixel.hytale.server.spawning.suppression.component.SpawnSuppressionController;
class="kw">import java.util.Map;
class="kw">import java.util.UUID;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SpawnMarkerSuppressionSystem class="kw">extends RefSystem<EntityStore> {
   class="kw">private class="kw">final ComponentType<EntityStore, SpawnMarkerEntity> spawnMarkerEntityComponentType;
   class="kw">private class="kw">final ResourceType<EntityStore, SpawnSuppressionController> spawnSuppressionControllerResourceType;
   class="kw">private class="kw">final ComponentType<EntityStore, UUIDComponent> uuidComponentType = UUIDComponent.getComponentType();
   class="kw">private class="kw">final ComponentType<EntityStore, TransformComponent> transformComponentType = TransformComponent.getComponentType();
   @Nonnull
   class="kw">private class="kw">final Query<EntityStore> query;

   class="kw">public SpawnMarkerSuppressionSystem(ComponentType<EntityStore, SpawnMarkerEntity> var1, ResourceType<EntityStore, SpawnSuppressionController> var2) {
      this.spawnMarkerEntityComponentType = var1;
      this.spawnSuppressionControllerResourceType = var2;
      this.query = Query.and(var1, this.uuidComponentType, this.transformComponentType);
   }

   @Override
   class="kw">public void onEntityAdded(
      @Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
   ) {
      SpawnSuppressionController var5 = var3.getResource(this.spawnSuppressionControllerResourceType);
      SpawnMarkerEntity var6 = var3.getComponent(var1, this.spawnMarkerEntityComponentType);
      TransformComponent var7 = var4.getComponent(var1, this.transformComponentType);
      UUIDComponent var8 = var4.getComponent(var1, this.uuidComponentType);
      Map var9 = var5.getSpawnSuppressorMap();
      var9.forEach((var3x, var4x) -> {
         SpawnSuppression var5 = SpawnSuppression.getAssetMap().getAsset(var4x.getSuppressionId());
         if (var5 == null) {
            throw new NullPointerException(String.format("No such suppression with ID %s", var4x.getSuppressionId()));
         }

         if (var5.isSuppressSpawnMarkers()) {
            double var6 = var5.getRadius();
            double var8 = var6 * var6;
            if (var7.getPosition().distanceSquared(var4x.getPosition()) <= var8 && var6.isSuppressedBy(var5)) {
               var6.suppress(var3x);
               SpawningPlugin.get().getLogger().at(Level.FINEST).log("Suppressing spawn marker %s on add/load", var8.getUuid());
            }
         }
      });
   }

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

   @Nonnull
   @Override
   class="kw">public Query<EntityStore> getQuery() {
      class="kw">return this.query;
   }
}