package net.sf.l2j.gameserver.instancemanager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Logger;
import net.sf.l2j.Config;
import net.sf.l2j.L2DatabaseFactory;
public class RaidBossInfoManager
{
private static final Logger _log = Logger.getLogger(RaidBossInfoManager.class.getName());
private final Map<Integer, Long> _raidBosses;
public static RaidBossInfoManager getInstance()
{
return SingletonHolder._instance;
}
protected RaidBossInfoManager()
{
_raidBosses = new ConcurrentHashMap<>();
load();
}
public void load()
{
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
PreparedStatement statement;
ResultSet rs;
statement = con.prepareStatement("SELECT boss_id, respawn_time FROM grandboss_data UNION SELECT boss_id, respawn_time FROM raidboss_spawnlist ORDER BY boss_id");
rs = statement.executeQuery();
while (rs.next())
{
int bossId = rs.getInt("boss_id");
if (Config.LIST_RAID_BOSS_IDS.contains(bossId))
_raidBosses.put(bossId, rs.getLong("respawn_time"));
}
rs.close();
statement.close();
}
catch (Exception e)
{
e.printStackTrace();
}
_log.info("RaidBossInfoManager: Loaded " + _raidBosses.size() + " instances.");
}
public void updateRaidBossInfo(int bossId, long respawnTime)
{
_raidBosses.put(bossId, respawnTime);
}
public long getRaidBossRespawnTime(int bossId)
{
return _raidBosses.get(bossId);
}
private static class SingletonHolder
{
protected static final RaidBossInfoManager _instance = new RaidBossInfoManager();
}
}
if (Config.LIST_RAID_BOSS_IDS.contains(bossId))
Config.java
public static List<Integer> LIST_RAID_BOSS_IDS;
LIST_RAID_BOSS_IDS = new ArrayList<>();
for (String val : RAID_BOSS_IDS.split(","))
{
int npcId = Integer.parseInt(val);
LIST_RAID_BOSS_IDS.add(npcId);
}
SELLING EMPTY TELEGRAM BOTS WITH AGE
Registration date: November 2024
High-quality & clean bots — no subscribers, no bans, created on fresh IPs.
y rested and reliable — perfect for:
— Telegram search ranking
— any technical or marketing tasks
Delivery options:
tdata, by phone number, ownership transfer, or via tokens.
Current price list:
From 3 pcs — $3 each
From 20 pcs — $2.5 each
From 60 pcs — $2.3 each
From 100 pcs — $2.2 each
From 400 pcs — $1.9 each
Over 15,000+ bots available — ready for instant delivery.
Contact on Telegram: t.me/smmtg_link
My project is based on this files i bought data files from dude, got good support everything was perfect, yea needed to spend some time editing but still you have really good extensions for interlude server from here.
Question
NickTs
package net.sf.l2j.gameserver.instancemanager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger; import net.sf.l2j.Config; import net.sf.l2j.L2DatabaseFactory; public class RaidBossInfoManager { private static final Logger _log = Logger.getLogger(RaidBossInfoManager.class.getName()); private final Map<Integer, Long> _raidBosses; public static RaidBossInfoManager getInstance() { return SingletonHolder._instance; } protected RaidBossInfoManager() { _raidBosses = new ConcurrentHashMap<>(); load(); } public void load() { try (Connection con = L2DatabaseFactory.getInstance().getConnection()) { PreparedStatement statement; ResultSet rs; statement = con.prepareStatement("SELECT boss_id, respawn_time FROM grandboss_data UNION SELECT boss_id, respawn_time FROM raidboss_spawnlist ORDER BY boss_id"); rs = statement.executeQuery(); while (rs.next()) { int bossId = rs.getInt("boss_id"); if (Config.LIST_RAID_BOSS_IDS.contains(bossId)) _raidBosses.put(bossId, rs.getLong("respawn_time")); } rs.close(); statement.close(); } catch (Exception e) { e.printStackTrace(); } _log.info("RaidBossInfoManager: Loaded " + _raidBosses.size() + " instances."); } public void updateRaidBossInfo(int bossId, long respawnTime) { _raidBosses.put(bossId, respawnTime); } public long getRaidBossRespawnTime(int bossId) { return _raidBosses.get(bossId); } private static class SingletonHolder { protected static final RaidBossInfoManager _instance = new RaidBossInfoManager(); } }Config.java
public static List<Integer> LIST_RAID_BOSS_IDS; LIST_RAID_BOSS_IDS = new ArrayList<>(); for (String val : RAID_BOSS_IDS.split(",")) { int npcId = Integer.parseInt(val); LIST_RAID_BOSS_IDS.add(npcId); }Need someones help please!
aCis 364
7 answers to this question
Recommended Posts