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);
}
}