1
0
mirror of https://github.com/Zrips/Jobs.git synced 2025-02-21 23:01:20 +01:00

Fix for MythicMobs not working after jobs reload

This commit is contained in:
Zrips 2020-01-27 17:52:25 +02:00
parent 33c14e474c
commit 8e08543d83
2 changed files with 79 additions and 75 deletions

View File

@ -545,81 +545,6 @@ public class Jobs extends JavaPlugin {
reload(false);
}
/**
* Reloads all data
* @throws IOException
*/
public static void reload(boolean startup) throws IOException {
// unregister all registered listeners by this plugin and register again
if (!startup) {
org.bukkit.plugin.PluginManager pm = getInstance().getServer().getPluginManager();
HandlerList.unregisterAll(instance);
com.gamingmesh.jobs.CMIGUI.GUIManager.registerListener();
pm.registerEvents(new JobsListener(instance), instance);
pm.registerEvents(new JobsPaymentListener(instance), instance);
if (versionCheckManager.getVersion().isEqualOrHigher(Version.v1_14_R1)) {
pm.registerEvents(new JobsPayment14Listener(), instance);
}
if (getGCManager().useBlockProtection)
pm.registerEvents(PistonProtectionListener, instance);
if (HookManager.getMcMMOManager().CheckmcMMO()) {
HookManager.setMcMMOlistener();
}
}
if (saveTask != null) {
saveTask.shutdown();
saveTask = null;
}
if (paymentThread != null) {
paymentThread.shutdown();
paymentThread = null;
}
smanager = new SelectionManager();
if (dao != null) {
dao.closeConnections();
}
getGCManager().reload();
getLanguage().reload();
getConfigManager().reload();
getDBManager().getDB().loadAllJobsWorlds();
getDBManager().getDB().loadAllJobsNames();
FurnaceBrewingHandling.load();
ToggleBarHandling.load();
usedSlots.clear();
for (Job job : jobs) {
usedSlots.put(job, dao.getSlotsTaken(job));
}
getPlayerManager().reload();
getPermissionHandler().registerPermissions();
// set the system to auto save
if (getGCManager().getSavePeriod() > 0) {
saveTask = new DatabaseSaveThread(getGCManager().getSavePeriod());
saveTask.start();
}
// schedule payouts to buffered payments
paymentThread = new BufferedPaymentThread(getGCManager().getEconomyBatchDelay());
paymentThread.start();
dao.loadPlayerData();
// Schedule
if (getGCManager().enableSchedule) {
getScheduleManager().load();
getScheduleManager().start();
} else
getScheduleManager().cancel();
}
/**
* Executes clean shutdown
*/
@ -827,6 +752,84 @@ public class Jobs extends JavaPlugin {
}
}
/**
* Reloads all data
* @throws IOException
*/
public static void reload(boolean startup) throws IOException {
// unregister all registered listeners by this plugin and register again
if (!startup) {
org.bukkit.plugin.PluginManager pm = getInstance().getServer().getPluginManager();
HandlerList.unregisterAll(instance);
com.gamingmesh.jobs.CMIGUI.GUIManager.registerListener();
pm.registerEvents(new JobsListener(instance), instance);
pm.registerEvents(new JobsPaymentListener(instance), instance);
if (Version.isCurrentEqualOrHigher(Version.v1_14_R1)) {
pm.registerEvents(new JobsPayment14Listener(), instance);
}
if (getGCManager().useBlockProtection)
pm.registerEvents(getPistonProtectionListener(), instance);
if (HookManager.getMcMMOManager().CheckmcMMO()) {
HookManager.setMcMMOlistener();
}
if (HookManager.getMythicManager().Check()) {
HookManager.getMythicManager().registerListener();
}
}
if (saveTask != null) {
saveTask.shutdown();
saveTask = null;
}
if (paymentThread != null) {
paymentThread.shutdown();
paymentThread = null;
}
smanager = new SelectionManager();
if (dao != null) {
dao.closeConnections();
}
getGCManager().reload();
getLanguage().reload();
getConfigManager().reload();
getDBManager().getDB().loadAllJobsWorlds();
getDBManager().getDB().loadAllJobsNames();
FurnaceBrewingHandling.load();
ToggleBarHandling.load();
usedSlots.clear();
for (Job job : jobs) {
usedSlots.put(job, dao.getSlotsTaken(job));
}
getPlayerManager().reload();
getPermissionHandler().registerPermissions();
// set the system to auto save
if (getGCManager().getSavePeriod() > 0) {
saveTask = new DatabaseSaveThread(getGCManager().getSavePeriod());
saveTask.start();
}
// schedule payouts to buffered payments
paymentThread = new BufferedPaymentThread(getGCManager().getEconomyBatchDelay());
paymentThread.start();
dao.loadPlayerData();
// Schedule
if (getGCManager().enableSchedule) {
getScheduleManager().load();
getScheduleManager().start();
} else
getScheduleManager().cancel();
}
@Override
public void onDisable() {
if (instance == null)

View File

@ -11,6 +11,7 @@ import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.actions.MMKillInfo;
import com.gamingmesh.jobs.container.ActionType;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.Debug;
import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobDeathEvent;
import io.lumine.xikage.mythicmobs.mobs.MythicMob;