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