Files
Server/src/engine/mobileAI/Threads/MobRespawnThread.java
T

55 lines
2.0 KiB
Java
Raw Normal View History

2023-08-01 19:19:39 -05:00
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
2023-08-01 20:13:23 -05:00
package engine.mobileAI.Threads;
2023-09-13 11:17:06 -04:00
2023-08-01 19:19:39 -05:00
import engine.gameManager.ZoneManager;
import engine.objects.Mob;
import engine.objects.Zone;
import org.pmw.tinylog.Logger;
public class MobRespawnThread implements Runnable {
public MobRespawnThread() {
Logger.info(" MobRespawnThread thread has started!");
}
@Override
public void run() {
2023-08-02 08:07:41 -04:00
while (true) {
try {
2023-09-13 11:17:06 -04:00
for (Zone zone : ZoneManager.getAllZones())
2023-08-02 08:07:41 -04:00
if (zone.respawnQue.isEmpty() == false && zone.lastRespawn + 100 < System.currentTimeMillis()) {
2023-08-01 19:50:52 -05:00
Mob respawner = zone.respawnQue.iterator().next();
2023-08-02 08:07:41 -04:00
if (respawner == null)
continue;
2023-08-01 19:50:52 -05:00
respawner.respawn();
zone.respawnQue.remove(respawner);
zone.lastRespawn = System.currentTimeMillis();
}
2023-08-02 08:07:41 -04:00
} catch (Exception e) {
Logger.error(e);
2023-08-01 19:19:39 -05:00
}
2023-08-02 08:07:41 -04:00
2023-08-01 19:19:39 -05:00
}
}
public static void startRespawnThread() {
Thread respawnThread;
2023-08-01 19:27:46 -05:00
respawnThread = new Thread(new MobRespawnThread());
2023-08-01 19:19:39 -05:00
respawnThread.setName("respawnThread");
respawnThread.start();
}
}