mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2024-11-26 04:25:37 +01:00
Move Listeners
This commit is contained in:
parent
48f9226d27
commit
f07be132f8
@ -53,6 +53,9 @@ import com.onarandombox.MultiverseCore.commands.WhoCommand;
|
||||
import com.onarandombox.MultiverseCore.configuration.DefaultConfiguration;
|
||||
import com.onarandombox.MultiverseCore.configuration.MVConfigMigrator;
|
||||
import com.onarandombox.MultiverseCore.configuration.MVCoreConfigMigrator;
|
||||
import com.onarandombox.MultiverseCore.listeners.MVEntityListener;
|
||||
import com.onarandombox.MultiverseCore.listeners.MVPlayerListener;
|
||||
import com.onarandombox.MultiverseCore.listeners.MVPluginListener;
|
||||
import com.onarandombox.utils.DebugLog;
|
||||
import com.onarandombox.utils.DestinationFactory;
|
||||
import com.onarandombox.utils.ExactDestination;
|
||||
|
@ -13,6 +13,9 @@ public class DefaultConfiguration {
|
||||
|
||||
public DefaultConfiguration(File folder, String name, MVConfigMigrator migrator) {
|
||||
File actual = new File(folder, name);
|
||||
if(actual.exists() && migrator.createdDefaults.contains(name)) {
|
||||
actual.delete();
|
||||
}
|
||||
// If defaults have been created, and we're being called again, we should try to migrate
|
||||
if (!actual.exists() && !migrator.migrate(name, folder)) {
|
||||
|
||||
@ -28,8 +31,8 @@ public class DefaultConfiguration {
|
||||
while ((length = input.read(buf)) > 0) {
|
||||
output.write(buf, 0, length);
|
||||
}
|
||||
migrator.createdDefaults.add(name);
|
||||
|
||||
// MultiverseCore.log.info(MultiverseCore.logPrefix + "Default config file written: " + name);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
|
@ -12,7 +12,7 @@ import org.bukkit.util.config.Configuration;
|
||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||
|
||||
public abstract class MVConfigMigrator {
|
||||
|
||||
public List<String> createdDefaults = new ArrayList<String>();
|
||||
public abstract boolean migrate(String name, File folder);
|
||||
|
||||
protected final void migrateListItem(Configuration newConfig, Configuration oldConfig, String key, String oldProperty, String newProperty) {
|
||||
@ -27,15 +27,11 @@ public abstract class MVConfigMigrator {
|
||||
|
||||
protected final File detectMultiverseFolders(File folder, MultiverseCore core) {
|
||||
File oldFolder = null;
|
||||
|
||||
core.log(Level.INFO, "Starting Multiverse Configuration Migrator(MVCM)!");
|
||||
// They still have MV 1 installed! Good!
|
||||
if (core.getServer().getPluginManager().getPlugin("MultiVerse") != null) {
|
||||
core.log(Level.INFO, "Found MultiVerse 1. Starting Config Migration...");
|
||||
Plugin plugin = core.getServer().getPluginManager().getPlugin("MultiVerse");
|
||||
// We found MV1, but it's enabled, get the data folder, then disable it!
|
||||
if (!core.getServer().getPluginManager().isPluginEnabled("MultiVerse")) {
|
||||
core.getServer().getPluginManager().disablePlugin(plugin);
|
||||
}
|
||||
oldFolder = plugin.getDataFolder();
|
||||
} else {
|
||||
// They didn't have MV 1 enabled... let's try and find the folder...
|
||||
|
@ -1,10 +1,12 @@
|
||||
package com.onarandombox.MultiverseCore;
|
||||
package com.onarandombox.MultiverseCore.listeners;
|
||||
|
||||
import org.bukkit.event.block.BlockDamageEvent;
|
||||
import org.bukkit.event.block.BlockListener;
|
||||
import org.bukkit.event.block.BlockPhysicsEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
|
||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||
|
||||
//import org.bukkit.event.block.BlockRightClickEvent;
|
||||
|
||||
public class MVBlockListener extends BlockListener {
|
@ -1,4 +1,4 @@
|
||||
package com.onarandombox.MultiverseCore;
|
||||
package com.onarandombox.MultiverseCore.listeners;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -19,6 +19,9 @@ import org.bukkit.event.entity.EntityListener;
|
||||
import org.bukkit.event.entity.EntityRegainHealthEvent;
|
||||
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
|
||||
|
||||
import com.onarandombox.MultiverseCore.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||
|
||||
//import org.bukkit.event.entity.ExplosionPrimedEvent;
|
||||
|
||||
public class MVEntityListener extends EntityListener {
|
@ -1,4 +1,4 @@
|
||||
package com.onarandombox.MultiverseCore;
|
||||
package com.onarandombox.MultiverseCore.listeners;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
@ -11,6 +11,9 @@ import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
|
||||
import com.fernferret.allpay.GenericBank;
|
||||
import com.onarandombox.MultiverseCore.MVTeleport;
|
||||
import com.onarandombox.MultiverseCore.MVWorld;
|
||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||
import com.onarandombox.MultiverseCore.event.MVRespawnEvent;
|
||||
|
||||
public class MVPlayerListener extends PlayerListener {
|
@ -0,0 +1,61 @@
|
||||
package com.onarandombox.MultiverseCore.listeners;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.bukkit.event.server.PluginDisableEvent;
|
||||
import org.bukkit.event.server.PluginEnableEvent;
|
||||
import org.bukkit.event.server.ServerListener;
|
||||
|
||||
import com.fernferret.allpay.AllPay;
|
||||
import com.nijikokun.bukkit.Permissions.Permissions;
|
||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||
|
||||
public class MVPluginListener extends ServerListener {
|
||||
|
||||
MultiverseCore plugin;
|
||||
|
||||
public MVPluginListener(MultiverseCore plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
/**
|
||||
* Keep an eye out for Plugins which we can utilize.
|
||||
*/
|
||||
@Override
|
||||
public void onPluginEnable(PluginEnableEvent event) {
|
||||
/**
|
||||
* Check to see if Permissions was just enabled
|
||||
*/
|
||||
if (event.getPlugin().getDescription().getName().equals("Permissions")) {
|
||||
this.plugin.ph.setPermissions(((Permissions) this.plugin.getServer().getPluginManager().getPlugin("Permissions")).getHandler());
|
||||
this.plugin.log(Level.INFO, "- Attached to Permissions");
|
||||
}
|
||||
// Let AllPay handle all econ plugin loadings, only go for econ plugins we support
|
||||
if (Arrays.asList(AllPay.validEconPlugins).contains(event.getPlugin().getDescription().getName())) {
|
||||
this.plugin.setBank(this.plugin.getBanker().loadEconPlugin());
|
||||
}
|
||||
if (event.getPlugin().getDescription().getName().equals("MultiVerse")) {
|
||||
if (event.getPlugin().isEnabled()) {
|
||||
this.plugin.getServer().getPluginManager().disablePlugin(event.getPlugin());
|
||||
this.plugin.log(Level.WARNING, "I just disabled the old version of Multiverse for you. You should remove the JAR now, your configs have been migrated.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* We'll check if any of the plugins we rely on decide to Disable themselves.
|
||||
*/
|
||||
@Override
|
||||
public void onPluginDisable(PluginDisableEvent event) {
|
||||
/**
|
||||
* Check to see if Permissions just disabled.
|
||||
*/
|
||||
if (event.getPlugin().getDescription().getName().equals("Permissions")) {
|
||||
this.plugin.log(Level.INFO, "Permissions disabled");
|
||||
this.plugin.ph.setPermissions(null);
|
||||
}
|
||||
// TODO: Disable econ when it disables.
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user