NPCBeaconSpawnJob class
Пакет: com.hypixel.hytale.server.spawning.jobs
Файл: com/hypixel/hytale/server/spawning/jobs/NPCBeaconSpawnJob.java
extends: SpawnJob
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
protected |
int |
roleIndex |
|
Builder |
var1 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
beginProbingvoid beginProbing(@Nonnull PlayerRef var1, int var2, int var3, @Nullable FlockAsset var4) |
public |
int |
getFlockSizeint getFlockSize() |
public |
int |
getRoleIndexint getRoleIndex() |
public |
int |
getSpawnsThisRoundint getSpawnsThisRound() |
|
|
if if(var1 == null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.spawning.jobs;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.flock.config.FlockAsset;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.Builder;
class="kw">import com.hypixel.hytale.server.npc.role.Role;
class="kw">import com.hypixel.hytale.server.spawning.ISpawnableWithModel;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class NPCBeaconSpawnJob class="kw">extends SpawnJob {
class="kw">protected int roleIndex = Integer.MIN_VALUE;
@Nullable
class="kw">private Ref<EntityStore> player;
class="kw">private int spawnsThisRound;
class="kw">private int flockSize;
@Nullable
class="kw">private FlockAsset flockAsset;
class="kw">public NPCBeaconSpawnJob() {
}
class="kw">public int getRoleIndex() {
class="kw">return this.roleIndex;
}
@Nullable
class="kw">public Ref<EntityStore> getPlayer() {
class="kw">return this.player;
}
class="kw">public int getSpawnsThisRound() {
class="kw">return this.spawnsThisRound;
}
class="kw">public int getFlockSize() {
class="kw">return this.flockSize;
}
@Nullable
class="kw">public FlockAsset getFlockAsset() {
class="kw">return this.flockAsset;
}
@Override
class="kw">public boolean shouldTerminate() {
class="kw">return !this.player.isValid();
}
@Override
class="kw">public boolean budgetAvailable() {
class="kw">return true;
}
@Override
class="kw">public void reset() {
super.reset();
this.roleIndex = Integer.MIN_VALUE;
this.flockAsset = null;
}
@Nullable
@Override
class="kw">public ISpawnableWithModel getSpawnable() {
Builder var1 = NPCPlugin.get().tryGetCachedValidRole(this.roleIndex);
if (var1 == null) {
class="kw">return null;
} else if (!var1.isSpawnable()) {
throw new IllegalArgumentException("Spawn job: Role must be a spawnable (non-class="kw">abstract) type for spawning: " + NPCPlugin.get().getName(this.roleIndex));
} else if (!(var1 class="kw">instanceof ISpawnableWithModel)) {
throw new IllegalArgumentException("Spawn job: Need ISpawnableWithModel class="kw">interface for spawning: " + NPCPlugin.get().getName(this.roleIndex));
} else {
class="kw">return (ISpawnableWithModel)var1;
}
}
@Nullable
@Override
class="kw">public String getSpawnableName() {
class="kw">return NPCPlugin.get().getName(this.roleIndex);
}
class="kw">public void beginProbing(@Nonnull PlayerRef var1, int var2, int var3, @Nullable FlockAsset var4) {
super.beginProbing();
this.player = var1.getReference();
this.spawnsThisRound = var2;
this.roleIndex = var3;
this.flockAsset = var4;
this.flockSize = var4 != null ? var4.pickFlockSize() : 1;
}
}