Per-world Creeper settings complete

- Added per-world Block Damage settings
- Added per-world Entity Damage settings
- Added creeper_settings database support
- Added world-specific Creeper menus
- Added automatic world registration/default inheritance
- Split Creeper listeners
- Updated Creeper behavior to use world settings
- Removed obsolete global Creeper indicators
- Adopted logger-based error reporting standard
This commit is contained in:
BigPappa committed 2026-06-15 07:01:47 -05:00
1 parent ebf030b192
commit 73a0ef8ae6
23 files changed
+1203 -73

No files matched your search

@@ -1,19 +1,16 @@
package com.rsscripting.serveradmin;
import com.rsscripting.serveradmin.dao.*;
import com.rsscripting.serveradmin.database.DatabaseManager;
import com.rsscripting.serveradmin.database.SettingsDAO;
import com.rsscripting.serveradmin.commands.RSAdminCommand;
import com.rsscripting.serveradmin.keepinventory.KeepInventoryDAO;
import com.rsscripting.serveradmin.listeners.CreeperBlockDamageListener;
import com.rsscripting.serveradmin.security.SecurityManager;
import com.rsscripting.serveradmin.listeners.InventoryListener;
import com.rsscripting.serveradmin.listeners.CreeperEntityDamageListener;
import com.rsscripting.serveradmin.update.GitHubUpdateChecker;
import com.rsscripting.serveradmin.listeners.WorldLoadListener;
import com.rsscripting.serveradmin.creeper.CreeperSettingsDAO;
import com.rsscripting.serveradmin.settings.SettingKey;
import com.rsscripting.serveradmin.worlds.WorldsDAO;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.Bukkit;
import org.bukkit.World;
@@ -29,6 +26,7 @@ public class RSServerAdmin extends JavaPlugin {
private SecurityManager securityManager;
private WorldsDAO worldsDAO;
private CreeperSettingsDAO creeperSettingsDAO;
private EquipmentDropSettingsDAO equipmentDropSettingsDAO;
@Override
public void onEnable() {
@@ -62,6 +60,11 @@ public class RSServerAdmin extends JavaPlugin {
databaseManager
);
equipmentDropSettingsDAO =
new EquipmentDropSettingsDAO(
databaseManager
);
securityManager = new SecurityManager(this);
boolean keepInventoryDefault =
@@ -96,6 +99,10 @@ public class RSServerAdmin extends JavaPlugin {
entityDamageDefault
);
equipmentDropSettingsDAO.ensureWorldExists(
world.getName()
);
}
if (getCommand("rsadmin") != null) {
@@ -188,4 +195,11 @@ public class RSServerAdmin extends JavaPlugin {
return creeperSettingsDAO;
}
public EquipmentDropSettingsDAO
getEquipmentDropSettingsDAO() {
return equipmentDropSettingsDAO;
}
}