Skip to content

Commit

Permalink
move 'on shutdown' to a scriptevent
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Nov 15, 2020
1 parent da75252 commit d73d2e8
Show file tree
Hide file tree
Showing 12 changed files with 49 additions and 54 deletions.
41 changes: 7 additions & 34 deletions plugin/src/main/java/com/denizenscript/denizen/Denizen.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.denizenscript.denizen.events.core.*;
import com.denizenscript.denizen.events.server.ServerPrestartScriptEvent;
import com.denizenscript.denizen.events.server.ServerStartScriptEvent;
import com.denizenscript.denizen.events.server.ServerStopScriptEvent;
import com.denizenscript.denizen.flags.FlagManager;
import com.denizenscript.denizen.objects.EntityTag;
import com.denizenscript.denizen.objects.InventoryTag;
Expand All @@ -31,7 +32,6 @@
import com.denizenscript.denizen.utilities.debugging.Debug;
import com.denizenscript.denizen.utilities.depends.Depends;
import com.denizenscript.denizen.utilities.entity.DenizenEntityType;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizen.utilities.implementation.DenizenCoreImplementation;
import com.denizenscript.denizen.utilities.maps.DenizenMapManager;
import com.denizenscript.denizen.utilities.packets.DenizenPacketHandler;
Expand All @@ -44,7 +44,6 @@
import com.denizenscript.denizencore.DenizenCore;
import com.denizenscript.denizencore.events.OldEventManager;
import com.denizenscript.denizencore.objects.ObjectFetcher;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptHelper;
import com.denizenscript.denizencore.scripts.ScriptRegistry;
import com.denizenscript.denizencore.scripts.commands.core.AdjustCommand;
Expand All @@ -68,8 +67,6 @@

import java.io.*;
import java.net.URLDecoder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
Expand All @@ -81,11 +78,7 @@ public class Denizen extends JavaPlugin {

public static boolean supportsPaper = false;

private CommandManager commandManager;

public CommandManager getCommandManager() {
return commandManager;
}
public CommandManager commandManager;

/*
* Denizen Registries
Expand All @@ -109,14 +102,10 @@ public TriggerRegistry getTriggerRegistry() {
/*
* Denizen Managers
*/
private FlagManager flagManager = new FlagManager(this);
private TagManager tagManager = new TagManager();
private NotableManager notableManager = new NotableManager();
private OldEventManager eventManager;

public OldEventManager eventManager() {
return eventManager;
}
public FlagManager flagManager = new FlagManager(this);
public TagManager tagManager = new TagManager();
public NotableManager notableManager = new NotableManager();
public OldEventManager eventManager;

public FlagManager flagManager() {
return flagManager;
Expand Down Expand Up @@ -483,23 +472,7 @@ public void onDisable() {
}
hasDisabled = true;

// <--[event]
// @Events
// shutdown
//
// @Regex ^on shutdown$
//
// @Warning not all plugins will be loaded and delayed scripts will be dropped.
// Also note that this event is not guaranteed to always run (eg if the server crashes).
//
// @Triggers when the server is shutting down.
//
// @Context
// None.
//
// -->
HashMap<String, ObjectTag> context = new HashMap<>();
OldEventManager.doEvents(Arrays.asList("shutdown"), new BukkitScriptEntryData(null, null), context);
ServerStopScriptEvent.instance.fire();

// Disable the log interceptor... otherwise bad things on /reload
/*if (logInterceptor != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ public static void registerMainEvents() {
}
ScriptEvent.registerScriptEvent(new ServerPrestartScriptEvent());
ScriptEvent.registerScriptEvent(new ServerStartScriptEvent());
ScriptEvent.registerScriptEvent(new ServerStopScriptEvent());
ScriptEvent.registerScriptEvent(new TabCompleteScriptEvent());

// Vehicle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.events.ScriptEvent;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.containers.core.WorldScriptContainer;

public class ServerPrestartScriptEvent extends BukkitScriptEvent {
Expand Down Expand Up @@ -40,11 +39,6 @@ public String getName() {
return "ServerPrestart";
}

@Override
public ObjectTag getContext(String name) {
return super.getContext(name);
}

public void specialHackRunEvent() {
for (WorldScriptContainer container : ScriptEvent.worldContainers) {
if (container.contains("events.on server prestart")) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.denizenscript.denizen.events.server;

import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.objects.ObjectTag;

public class ServerStartScriptEvent extends BukkitScriptEvent {

Expand Down Expand Up @@ -35,9 +34,4 @@ public boolean couldMatch(ScriptPath path) {
public String getName() {
return "ServerStart";
}

@Override
public ObjectTag getContext(String name) {
return super.getContext(name);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.denizenscript.denizen.events.server;

import com.denizenscript.denizen.events.BukkitScriptEvent;

public class ServerStopScriptEvent extends BukkitScriptEvent {

// <--[event]
// @Events
// shutdown
//
// @Regex ^on shutdown$
//
// @Warning not all plugins will be loaded and delayed scripts will be dropped.
// Also note that this event is not guaranteed to always run (eg if the server crashes).
//
// @Triggers when the server is shutting down.
//
// @Context
// None.
//
// -->

public ServerStopScriptEvent() {
instance = this;
}

public static ServerStopScriptEvent instance;

@Override
public boolean couldMatch(ScriptPath path) {
if (!path.eventLower.startsWith("shutdown")) {
return false;
}
return true;
}

@Override
public String getName() {
return "ServerShutdown";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
import com.denizenscript.denizen.objects.NPCTag;
import com.denizenscript.denizen.objects.PlayerTag;
import com.denizenscript.denizen.scripts.containers.core.AssignmentScriptContainer;
import com.denizenscript.denizen.utilities.DenizenAPI;
import com.denizenscript.denizen.utilities.debugging.Debug;
import com.denizenscript.denizen.utilities.Settings;
import com.denizenscript.denizen.npc.DenizenNPCHelper;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptRegistry;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.denizenscript.denizen.events.bukkit.ScriptReloadEvent;
import com.denizenscript.denizen.objects.NPCTag;
import com.denizenscript.denizen.tags.BukkitTagContext;
import com.denizenscript.denizen.utilities.DenizenAPI;
import com.denizenscript.denizen.utilities.debugging.Debug;
import com.denizenscript.denizencore.scripts.ScriptRegistry;
import com.denizenscript.denizencore.tags.TagManager;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.denizenscript.denizen.npc.traits;

import com.denizenscript.denizen.objects.NPCTag;
import com.denizenscript.denizen.utilities.DenizenAPI;
import com.denizenscript.denizen.utilities.debugging.Debug;
import com.denizenscript.denizen.nms.NMSHandler;
import com.denizenscript.denizen.nms.interfaces.FishingHelper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.denizenscript.denizen.events.bukkit.ExhaustedNPCEvent;
import com.denizenscript.denizen.objects.NPCTag;
import com.denizenscript.denizen.utilities.DenizenAPI;
import net.citizensnpcs.api.ai.event.NavigationBeginEvent;
import net.citizensnpcs.api.ai.event.NavigationCancelEvent;
import net.citizensnpcs.api.ai.event.NavigationCompleteEvent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.denizenscript.denizen.objects.NPCTag;
import com.denizenscript.denizen.tags.BukkitTagContext;
import com.denizenscript.denizen.utilities.DenizenAPI;
import com.denizenscript.denizencore.tags.TagManager;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.trait.Trait;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.denizenscript.denizen.nms.NMSHandler;
import com.denizenscript.denizen.objects.NPCTag;
import com.denizenscript.denizen.utilities.DenizenAPI;
import net.citizensnpcs.api.persistence.Persist;
import net.citizensnpcs.api.trait.Trait;
import org.bukkit.entity.EntityType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import com.denizenscript.denizen.utilities.DenizenAPI;
import com.denizenscript.denizen.utilities.debugging.Debug;
import com.denizenscript.denizen.utilities.Settings;
import com.denizenscript.denizen.npc.DenizenNPCHelper;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import net.citizensnpcs.api.command.exception.CommandException;
Expand Down

0 comments on commit d73d2e8

Please sign in to comment.