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:
1 parent
9ca8039268
commit
ebf030b192
12 files changed
+1318
-86
No files matched your search
@@ -4,12 +4,13 @@ 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.CreeperListener;
|
||||
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;
|
||||
@@ -27,6 +28,7 @@ public class RSServerAdmin extends JavaPlugin {
|
||||
private SettingsDAO settingsDAO;
|
||||
private SecurityManager securityManager;
|
||||
private WorldsDAO worldsDAO;
|
||||
private CreeperSettingsDAO creeperSettingsDAO;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
@@ -41,13 +43,24 @@ public class RSServerAdmin extends JavaPlugin {
|
||||
|
||||
databaseManager.connect();
|
||||
|
||||
settingsDAO = new SettingsDAO(databaseManager);
|
||||
settingsDAO = new SettingsDAO(
|
||||
databaseManager
|
||||
);
|
||||
|
||||
settingsDAO.initializeDefaults();
|
||||
|
||||
keepInventoryDAO = new KeepInventoryDAO(databaseManager);
|
||||
keepInventoryDAO = new KeepInventoryDAO(
|
||||
databaseManager
|
||||
);
|
||||
|
||||
worldsDAO = new WorldsDAO(databaseManager);
|
||||
worldsDAO = new WorldsDAO(
|
||||
databaseManager
|
||||
);
|
||||
|
||||
creeperSettingsDAO =
|
||||
new CreeperSettingsDAO(
|
||||
databaseManager
|
||||
);
|
||||
|
||||
securityManager = new SecurityManager(this);
|
||||
|
||||
@@ -67,6 +80,22 @@ public class RSServerAdmin extends JavaPlugin {
|
||||
keepInventoryDefault
|
||||
);
|
||||
|
||||
boolean blockDamageDefault =
|
||||
settingsDAO.getDefault(
|
||||
SettingKey.CREEPER_BLOCK_DAMAGE
|
||||
);
|
||||
|
||||
boolean entityDamageDefault =
|
||||
settingsDAO.getDefault(
|
||||
SettingKey.CREEPER_ENTITY_DAMAGE
|
||||
);
|
||||
|
||||
creeperSettingsDAO.ensureWorldExists(
|
||||
world.getName(),
|
||||
blockDamageDefault,
|
||||
entityDamageDefault
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
if (getCommand("rsadmin") != null) {
|
||||
@@ -89,7 +118,7 @@ public class RSServerAdmin extends JavaPlugin {
|
||||
);
|
||||
|
||||
getServer().getPluginManager().registerEvents(
|
||||
new CreeperListener(),
|
||||
new CreeperBlockDamageListener(),
|
||||
this
|
||||
);
|
||||
|
||||
@@ -149,10 +178,14 @@ public class RSServerAdmin extends JavaPlugin {
|
||||
return settingsDAO;
|
||||
}
|
||||
public WorldsDAO getWorldsDAO() {
|
||||
return worldsDAO;}
|
||||
return worldsDAO;
|
||||
}
|
||||
public SecurityManager getSecurityManager() {
|
||||
|
||||
return securityManager;
|
||||
}
|
||||
public CreeperSettingsDAO getCreeperSettingsDAO() {
|
||||
return creeperSettingsDAO;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user