BeaconSpawnWrapper class

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

Файл: com/hypixel/hytale/server/spawning/wrappers/BeaconSpawnWrapper.java

extends: SpawnWrapper<BeaconNPCSpawn>

Поля (3)

МодификаторыТипИмя
WeightedMap.Builder var2
double var7
double var8

Методы (4)

МодификаторыВозвратСигнатура
public double getBeaconRadiusdouble getBeaconRadius()
public double getMinDistanceFromPlayerSquareddouble getMinDistanceFromPlayerSquared()
public double getSpawnRadiusdouble getSpawnRadius()
public double getTargetDistanceFromPlayerSquareddouble getTargetDistanceFromPlayerSquared()

Исходный код

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

class="kw">import com.hypixel.hytale.common.map.IWeightedMap;
class="kw">import com.hypixel.hytale.common.map.WeightedMap;
class="kw">import com.hypixel.hytale.server.spawning.assets.spawns.config.BeaconNPCSpawn;
class="kw">import com.hypixel.hytale.server.spawning.assets.spawns.config.RoleSpawnParameters;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BeaconSpawnWrapper class="kw">extends SpawnWrapper<BeaconNPCSpawn> {
   @Nonnull
   class="kw">private class="kw">final IWeightedMap<RoleSpawnParameters> weightedRoles;
   class="kw">private class="kw">final double minDistanceFromPlayerSquared;
   class="kw">private class="kw">final double targetDistanceFromPlayerSquared;

   class="kw">public BeaconSpawnWrapper(@Nonnull BeaconNPCSpawn var1) {
      super(BeaconNPCSpawn.getAssetMap().getIndex(var1.getId()), var1);
      WeightedMap.Builder var2 = WeightedMap.builder(RoleSpawnParameters.EMPTY_ARRAY);

      for (RoleSpawnParameters var6 : var1.getNPCs()) {
         if (!this.hasInvalidNPC(var6.getId())) {
            var2.put(var6, var6.getWeight());
         }
      }

      this.weightedRoles = var2.build();
      double var7 = var1.getMinDistanceFromPlayer();
      this.minDistanceFromPlayerSquared = var7 * var7;
      double var8 = var1.getTargetDistanceFromPlayer();
      this.targetDistanceFromPlayerSquared = var8 * var8;
   }

   class="kw">public double getMinDistanceFromPlayerSquared() {
      class="kw">return this.minDistanceFromPlayerSquared;
   }

   class="kw">public double getTargetDistanceFromPlayerSquared() {
      class="kw">return this.targetDistanceFromPlayerSquared;
   }

   class="kw">public double getBeaconRadius() {
      class="kw">return this.spawn.getBeaconRadius();
   }

   class="kw">public double getSpawnRadius() {
      class="kw">return this.spawn.getSpawnRadius();
   }

   @Nullable
   class="kw">public RoleSpawnParameters pickRole(Random var1) {
      class="kw">return this.weightedRoles.size() == 0 ? null : this.weightedRoles.get(var1);
   }
}