Remove the DB power requirement loader

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-26 12:22:15 -04:00
1 parent 3f6c75b363
commit 15437246ce
1 file changed
-84
-84
View File
@@ -9,7 +9,6 @@
package engine.objects;
import engine.gameManager.DbManager;
import engine.gameManager.PowersManager;
import engine.parsers.objects.PowerGrant;
import engine.parsers.objects.RuneTemplate;
@@ -18,10 +17,6 @@ import engine.server.MBServerStatics;
import engine.util.Hasher;
import org.pmw.tinylog.Logger;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Map;
@@ -83,26 +78,7 @@ public class PowerReq extends AbstractGameObject implements Comparable<PowerReq>
this.skillReqs.put(Hasher.SBStringHash(entry.getKey()), entry.getValue().byteValue());
}
/**
* ResultSet Constructor
*/
public PowerReq(ResultSet rs) throws SQLException {
super(rs);
this.token = rs.getInt("powerToken");
this.powersBase = PowersManager.getPowerByToken(this.token);
this.level = rs.getShort("level");
int type = rs.getInt("type");
this.powerReqs = new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW);
this.skillReqs = new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW);
if (type == 1)
this.skillReqs.put(rs.getInt("requiredToken"), rs.getByte("requiredAmount"));
else if (type == 2)
this.powerReqs.put(rs.getInt("requiredToken"), rs.getByte("requiredAmount"));
}
public static ArrayList<PowerReq> getPowerReqsForRune(int id) {
// if (PowerReq.runePowers == null)
// fillRunePowers();
if (PowerReq.runePowers.containsKey(id))
return PowerReq.runePowers.get(id);
return new ArrayList<>();
@@ -135,58 +111,6 @@ public class PowerReq extends AbstractGameObject implements Comparable<PowerReq>
Logger.info("Loaded " + entryCount + " power requirements for " + PowerReq.runePowers.size() + " runes");
}
public static ConcurrentHashMap<Integer, ArrayList<PowerReq>> fillRunePowers() {
PowerReq.runePowers = new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW);
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM static_power_powerrequirement")) {
ResultSet rs = preparedStatement.executeQuery();
if (PowerReq.runePowers.size() > 0) {
return PowerReq.runePowers;
}
while (rs.next()) {
ArrayList<PowerReq> runePR = null;
int runeID = rs.getInt("runeID");
int token = rs.getInt("powerToken");
if (PowerReq.runePowers.containsKey(runeID))
runePR = PowerReq.runePowers.get(runeID);
else {
runePR = new ArrayList<>();
PowerReq.runePowers.put(runeID, runePR);
}
boolean found = false;
for (PowerReq pr : runePR) {
if (pr.token == token) {
int type = rs.getInt("type");
if (type == 1)
pr.addSkill(rs.getInt("requiredToken"), rs.getByte("requiredAmount"));
else
pr.addPower(rs.getInt("requiredToken"), rs.getByte("requiredAmount"));
found = true;
}
}
if (!found) {
PowerReq pr = new PowerReq(rs);
runePR.add(pr);
}
}
rs.close();
//order the lists by level so prerequisites are met
for (ArrayList<PowerReq> runePR : PowerReq.runePowers.values()) {
Collections.sort(runePR);
}
} catch (SQLException e) {
Logger.error("SQL Error number: " + e.getErrorCode(), e);
}
return PowerReq.runePowers;
}
/*
* Getters
*/
@@ -213,14 +137,6 @@ public class PowerReq extends AbstractGameObject implements Comparable<PowerReq>
return this.token;
}
private void addPower(int token, byte amount) {
this.powerReqs.put(token, amount);
}
private void addSkill(int token, byte amount) {
this.skillReqs.put(token, amount);
}
/*
* Database