[WIP] Start breakout of mcmmo plugin

This commit starts work on the seperation of mcmmo and platform logic,
there is still a fair amount of work to go before this will compile,
down the line (potentially much further), bukkit logic will be stripped
out of -core
This commit is contained in:
Shane Freeder
2019-10-09 21:53:04 +01:00
parent 1fbcf698c6
commit eee09d8d76
7 changed files with 104 additions and 11 deletions

View File

@ -16,6 +16,8 @@ import com.gmail.nossr50.database.DatabaseManagerFactory;
import com.gmail.nossr50.datatypes.skills.subskills.acrobatics.Roll;
import com.gmail.nossr50.listeners.*;
import com.gmail.nossr50.locale.LocaleManager;
import com.gmail.nossr50.mcmmo.api.McMMOApi;
import com.gmail.nossr50.mcmmo.api.platform.PlatformProvider;
import com.gmail.nossr50.party.PartyManager;
import com.gmail.nossr50.runnables.SaveTimerTask;
import com.gmail.nossr50.runnables.backups.CleanBackupFilesTask;
@ -65,8 +67,9 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
public class mcMMO extends JavaPlugin {
public class mcMMO implements McMMOApi {
/* Managers */
private ChunkManager placeStore;
private ConfigManager configManager;
@ -123,18 +126,23 @@ public class mcMMO extends JavaPlugin {
// XP Event Check
private boolean xpEventEnabled;
private PlatformProvider platformProvider;
public mcMMO(PlatformProvider platformProvider) {
this.platformProvider = platformProvider;
}
/**
* Things to be run when the plugin is enabled.
*/
@Override
public void onEnable() {
try {
getLogger().setFilter(new LogFilter(this));
platformProvider.getLogger().setFilter(new LogFilter(this));
//TODO: Disgusting...
MetadataConstants.metadataValue = new FixedMetadataValue(this, true);
PluginManager pluginManager = getServer().getPluginManager();
PluginManager pluginManager = platformProvider.getServer().getPluginManager();
healthBarPluginEnabled = pluginManager.getPlugin("HealthBar") != null;
//Init Permission Tools
@ -299,7 +307,6 @@ public class mcMMO extends JavaPlugin {
perkUtils = new PerkUtils(this);
}
@Override
public void onLoad()
{
if(getServer().getPluginManager().getPlugin("WorldGuard") != null) {
@ -316,7 +323,6 @@ public class mcMMO extends JavaPlugin {
/**
* Things to be run when the plugin is disabled.
*/
@Override
public void onDisable() {
try {
userManager.saveAll(); // Make sure to save player information if the server shuts down
@ -333,10 +339,7 @@ public class mcMMO extends JavaPlugin {
e.printStackTrace();
}
debug("Canceling all tasks...");
getServer().getScheduler().cancelTasks(this); // This removes our tasks
debug("Unregister all events...");
HandlerList.unregisterAll(this); // Cancel event registrations
platformProvider.tearDown();
if (getConfigManager().getConfigAutomatedBackups().isZipBackupsEnabled()) {
// Remove other tasks BEFORE starting the Backup, or we just cancel it straight away.
@ -568,6 +571,10 @@ public class mcMMO extends JavaPlugin {
getLogger().info("[Debug] " + message);
}
@Deprecated
public Logger getLogger() {
return platformProvider.getLogger();
}
/**
* Setup the various storage file paths
*/

File diff suppressed because it is too large Load Diff