diff --git a/plugin/src/main/java/com/denizenscript/denizen/Denizen.java b/plugin/src/main/java/com/denizenscript/denizen/Denizen.java index b3bbca55c7..145ce8e772 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/Denizen.java +++ b/plugin/src/main/java/com/denizenscript/denizen/Denizen.java @@ -4,12 +4,10 @@ import com.denizenscript.denizen.events.bukkit.SavesReloadEvent; 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.nms.NMSVersion; import com.denizenscript.denizen.objects.InventoryTag; import com.denizenscript.denizen.objects.NPCTag; import com.denizenscript.denizen.objects.PlayerTag; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.objects.properties.PropertyRegistry; import com.denizenscript.denizen.scripts.commands.BukkitCommandRegistry; import com.denizenscript.denizen.scripts.commands.player.ClickableCommand; @@ -88,16 +86,9 @@ public static Denizen getInstance() { public CommandManager commandManager; - public BukkitCommandRegistry commandRegistry; public TriggerRegistry triggerRegistry; public DenizenNPCHelper npcHelper; - @Deprecated - public BukkitCommandRegistry getCommandRegistry() { - return commandRegistry; - } - - public TagManager tagManager; public OldEventManager eventManager; public BukkitWorldScriptHelper worldScriptHelper; @@ -106,14 +97,8 @@ public BukkitCommandRegistry getCommandRegistry() { public ExCommandHandler exCommand; - public final static long startTime = System.currentTimeMillis(); - public DenizenCoreImplementation coreImplementation = new DenizenCoreImplementation(); - public SavableMapFlagTracker serverFlagMap; - - public long lastReloadTime; - /* * Sets up Denizen on start of the CraftBukkit server. */ @@ -170,9 +155,8 @@ else if (javaVersion.startsWith("9") || javaVersion.startsWith("1.9") || javaVer + " If this message appears with both Denizen and Spigot fully up-to-date, contact the Denizen team (via GitHub, Spigot, or Discord) to request an update be built."); getLogger().warning("-------------------------------------"); } - commandRegistry = new BukkitCommandRegistry(); + BukkitCommandRegistry commandRegistry = new BukkitCommandRegistry(); triggerRegistry = new TriggerRegistry(); - tagManager = new TagManager(); boolean citizensBork = false; try { // Activate dependencies @@ -338,7 +322,7 @@ else if (javaVersion.startsWith("9") || javaVersion.startsWith("1.9") || javaVer } try { AdjustCommand.specialAdjustables.put("server", ServerTagBase::adjustServer); - tagManager.registerCoreTags(); + TagManager.registerCoreTags(); CommonRegistries.registerMainTagHandlers(); eventManager = new OldEventManager(); // Register all the modern script events @@ -418,8 +402,6 @@ else if (javaVersion.startsWith("9") || javaVersion.startsWith("1.9") || javaVer } try { exCommand.processTagList(); - // Reload notes from file - NotableManager.reload(); // Process script files (events, etc). DenizenCore.postLoadScripts(); Debug.log(ChatColor.LIGHT_PURPLE + "+-------------------------+"); @@ -495,13 +477,10 @@ public void onDisable() { return; } hasDisabled = true; - ServerStopScriptEvent.instance.fire(); - NotableManager.save(); + DenizenCore.shutdown(); ScoreboardHelper._saveScoreboards(); InventoryScriptHelper._savePlayerInventories(); - commandRegistry.disableCoreMembers(); triggerRegistry.disableCoreMembers(); - DenizenCore.logInterceptor.standardOutput(); getLogger().log(Level.INFO, " v" + getDescription().getVersion() + " disabled."); Bukkit.getServer().getScheduler().cancelTasks(this); HandlerList.unregisterAll(this); @@ -533,8 +512,7 @@ public void reloadSaves() { ScoreboardHelper._recallScoreboards(); // Load maps from maps.yml DenizenMapManager.reloadMaps(); - // Reload server flags - serverFlagMap = SavableMapFlagTracker.loadFlagFile(new File(getDataFolder(), "server_flags").getPath()); + DenizenCore.reloadSaves(); if (worldFlags == null) { worldFlags = new WorldFlagHandler(); } @@ -555,14 +533,11 @@ public FileConfiguration getScoreboards() { } public void saveSaves(boolean canSleep) { - // Save notes - NotableManager.save(); // Save scoreboards to scoreboards.yml ScoreboardHelper._saveScoreboards(); // Save maps to maps.yml DenizenMapManager.saveMaps(); // Save server flags - serverFlagMap.saveToFile(new File(getDataFolder(), "server_flags").getPath()); try { scoreboardsConfig.save(scoreboardsConfigFile); } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java index 5a63300dfb..ac96337b51 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/BukkitScriptEvent.java @@ -2,7 +2,6 @@ import com.denizenscript.denizen.Denizen; import com.denizenscript.denizen.objects.*; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.scripts.containers.core.EntityScriptHelper; import com.denizenscript.denizen.scripts.containers.core.InventoryScriptHelper; import com.denizenscript.denizen.scripts.containers.core.ItemScriptHelper; @@ -12,6 +11,7 @@ import com.denizenscript.denizencore.flags.AbstractFlagTracker; import com.denizenscript.denizencore.objects.core.ScriptTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.tags.TagContext; import com.denizenscript.denizencore.utilities.Deprecations; import com.denizenscript.denizencore.utilities.debugging.Debug; @@ -109,12 +109,12 @@ public boolean couldMatchArea(String text) { if (text.startsWith("area_flagged:") || text.startsWith("biome:")) { return true; } - if (NotableManager.getSavedObject(text) instanceof AreaContainmentObject) { + if (NoteManager.getSavedObject(text) instanceof AreaContainmentObject) { return true; } if (isAdvancedMatchable(text)) { MatchHelper matcher = createMatcher(text); - for (Notable obj : NotableManager.nameToObject.values()) { + for (Notable obj : NoteManager.nameToObject.values()) { if (obj instanceof AreaContainmentObject && matcher.doesMatch(((AreaContainmentObject) obj).getNoteName())) { return true; } @@ -653,17 +653,17 @@ else if (lower.startsWith("chunk_flagged:")) { } else if (lower.startsWith("area_flagged:")) { String flagName = inputText.substring("area_flagged:".length()); - for (CuboidTag cuboid : NotableManager.getAllType(CuboidTag.class)) { + for (CuboidTag cuboid : NoteManager.getAllType(CuboidTag.class)) { if (cuboid.isInsideCuboid(location) && cuboid.flagTracker.hasFlag(flagName)) { return true; } } - for (EllipsoidTag ellipsoid : NotableManager.getAllType(EllipsoidTag.class)) { + for (EllipsoidTag ellipsoid : NoteManager.getAllType(EllipsoidTag.class)) { if (ellipsoid.contains(location) && ellipsoid.flagTracker.hasFlag(flagName)) { return true; } } - for (PolygonTag polygon : NotableManager.getAllType(PolygonTag.class)) { + for (PolygonTag polygon : NoteManager.getAllType(PolygonTag.class)) { if (polygon.doesContainLocation(location) && polygon.flagTracker.hasFlag(flagName)) { return true; } @@ -676,7 +676,7 @@ else if (lower.startsWith("biome:")) { } } if (lower.equals("cuboid")) { - for (CuboidTag cuboid : NotableManager.getAllType(CuboidTag.class)) { + for (CuboidTag cuboid : NoteManager.getAllType(CuboidTag.class)) { if (cuboid.isInsideCuboid(location)) { return true; } @@ -684,7 +684,7 @@ else if (lower.startsWith("biome:")) { return false; } else if (lower.equals("ellipsoid")) { - for (EllipsoidTag ellipsoid : NotableManager.getAllType(EllipsoidTag.class)) { + for (EllipsoidTag ellipsoid : NoteManager.getAllType(EllipsoidTag.class)) { if (ellipsoid.contains(location)) { return true; } @@ -692,7 +692,7 @@ else if (lower.equals("ellipsoid")) { return false; } else if (lower.equals("polygon")) { - for (PolygonTag polygon : NotableManager.getAllType(PolygonTag.class)) { + for (PolygonTag polygon : NoteManager.getAllType(PolygonTag.class)) { if (polygon.doesContainLocation(location)) { return true; } @@ -734,17 +734,17 @@ else if (PolygonTag.matches(inputText)) { } else if (isAdvancedMatchable(lower)) { MatchHelper matcher = createMatcher(lower); - for (CuboidTag cuboid : NotableManager.getAllType(CuboidTag.class)) { + for (CuboidTag cuboid : NoteManager.getAllType(CuboidTag.class)) { if (cuboid.isInsideCuboid(location) && matcher.doesMatch(cuboid.noteName)) { return true; } } - for (EllipsoidTag ellipsoid : NotableManager.getAllType(EllipsoidTag.class)) { + for (EllipsoidTag ellipsoid : NoteManager.getAllType(EllipsoidTag.class)) { if (ellipsoid.contains(location) && matcher.doesMatch(ellipsoid.noteName)) { return true; } } - for (PolygonTag polygon : NotableManager.getAllType(PolygonTag.class)) { + for (PolygonTag polygon : NoteManager.getAllType(PolygonTag.class)) { if (polygon.doesContainLocation(location) && matcher.doesMatch(polygon.noteName)) { return true; } @@ -923,7 +923,7 @@ public static boolean compareInventoryToMatch(InventoryTag inv, MatchHelper matc if (inv.getIdHolder() instanceof ScriptTag && matcher.doesMatch(((ScriptTag) inv.getIdHolder()).getName())) { return true; } - String notedId = NotableManager.getSavedId(inv); + String notedId = NoteManager.getSavedId(inv); if (notedId != null && matcher.doesMatch(notedId)) { return true; } @@ -936,7 +936,7 @@ public static boolean tryInventory(InventoryTag inv, String comparedto) { return true; } if (comparedto.equals("notable") || comparedto.equals("note")) { - return NotableManager.isSaved(inv); + return NoteManager.isSaved(inv); } if (comparedto.startsWith("inventory_flagged:")) { return inv.flagTracker != null && inv.flagTracker.hasFlag(comparedto.substring("inventory_flagged:".length())); diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java b/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java index 2332f4c769..6e928bef5c 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/ScriptEventRegistry.java @@ -200,7 +200,6 @@ public static void registerMainEvents() { } ScriptEvent.registerScriptEvent(new ServerPrestartScriptEvent()); ScriptEvent.registerScriptEvent(new ServerStartScriptEvent()); - ScriptEvent.registerScriptEvent(new ServerStopScriptEvent()); ScriptEvent.registerScriptEvent(new TabCompleteScriptEvent()); // Vehicle diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/entity/AreaEnterExitScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/entity/AreaEnterExitScriptEvent.java index c71c36faad..781e5b7aa7 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/entity/AreaEnterExitScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/entity/AreaEnterExitScriptEvent.java @@ -2,7 +2,6 @@ import com.denizenscript.denizen.events.BukkitScriptEvent; import com.denizenscript.denizen.objects.*; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData; import com.denizenscript.denizencore.flags.AbstractFlagTracker; @@ -10,6 +9,7 @@ import com.denizenscript.denizencore.objects.ObjectTag; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntryData; import com.denizenscript.denizencore.utilities.CoreUtilities; import org.bukkit.Location; @@ -297,17 +297,17 @@ public void processNewPosition(EntityTag entity, Location pos, Event eventCause) } HashSet inAreas = entitiesInArea.get(entity.getUUID()); if (doTrackAll || matchers != null || flagTracked != null) { - for (CuboidTag cuboid : NotableManager.getAllType(CuboidTag.class)) { + for (CuboidTag cuboid : NoteManager.getAllType(CuboidTag.class)) { if (anyMatch(cuboid.noteName, cuboid)) { processSingle(cuboid, entity, inAreas, pos, eventCause); } } - for (EllipsoidTag ellipsoid : NotableManager.getAllType(EllipsoidTag.class)) { + for (EllipsoidTag ellipsoid : NoteManager.getAllType(EllipsoidTag.class)) { if (anyMatch(ellipsoid.noteName, ellipsoid)) { processSingle(ellipsoid, entity, inAreas, pos, eventCause); } } - for (PolygonTag polygon : NotableManager.getAllType(PolygonTag.class)) { + for (PolygonTag polygon : NoteManager.getAllType(PolygonTag.class)) { if (anyMatch(polygon.noteName, polygon)) { processSingle(polygon, entity, inAreas, pos, eventCause); } @@ -315,7 +315,7 @@ public void processNewPosition(EntityTag entity, Location pos, Event eventCause) } else { for (String name : exactTracked) { - Notable obj = NotableManager.getSavedObject(name); + Notable obj = NoteManager.getSavedObject(name); if (!(obj instanceof AreaContainmentObject)) { Debug.echoError("Invalid area enter/exit event area '" + name + "'"); continue; diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java index cfc093761a..c1e2555a3d 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/player/PlayerWalksOverScriptEvent.java @@ -2,11 +2,11 @@ import com.denizenscript.denizen.objects.EntityTag; import com.denizenscript.denizen.objects.LocationTag; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData; import com.denizenscript.denizen.events.BukkitScriptEvent; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.ObjectTag; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntryData; import com.denizenscript.denizencore.utilities.CoreUtilities; import org.bukkit.event.EventHandler; @@ -86,7 +86,7 @@ public void onPlayerWalksOver(PlayerMoveEvent event) { if (EntityTag.isNPC(event.getPlayer())) { return; } - notable = NotableManager.getSavedId(new LocationTag(event.getTo()).getBlockLocation()); + notable = NoteManager.getSavedId(new LocationTag(event.getTo()).getBlockLocation()); if (notable == null) { return; } diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/server/ServerStopScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/server/ServerStopScriptEvent.java deleted file mode 100644 index 0fd3e75840..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/events/server/ServerStopScriptEvent.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.denizenscript.denizen.events.server; - -import com.denizenscript.denizen.events.BukkitScriptEvent; - -public class ServerStopScriptEvent extends BukkitScriptEvent { - - // <--[event] - // @Events - // shutdown - // - // @Regex ^on shutdown$ - // - // @Group Server - // - // @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. - // - // --> - - 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"; - } -} diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java index ed76aa9ce1..4e310a5ae0 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/BiomeTag.java @@ -162,7 +162,7 @@ public ObjectTag setPrefix(String prefix) { @Override public AbstractFlagTracker getFlagTracker() { - return new RedirectionFlagTracker(DenizenCore.getImplementation().getServerFlags(), "__biomes." + biome.getName().replace(".", "&dot")); + return new RedirectionFlagTracker(DenizenCore.serverFlagMap, "__biomes." + biome.getName().replace(".", "&dot")); } @Override diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/CuboidTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/CuboidTag.java index b3964787e5..bdf201bf50 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/CuboidTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/CuboidTag.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.objects; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizencore.flags.AbstractFlagTracker; @@ -12,6 +11,7 @@ import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; import com.denizenscript.denizencore.objects.notable.Note; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.tags.Attribute; import com.denizenscript.denizencore.tags.ObjectTagProcessor; import com.denizenscript.denizencore.tags.TagContext; @@ -85,7 +85,7 @@ public CuboidTag clone() { public static List getNotableCuboidsContaining(Location location) { List cuboids = new ArrayList<>(); - for (CuboidTag cuboid : NotableManager.getAllType(CuboidTag.class)) { + for (CuboidTag cuboid : NoteManager.getAllType(CuboidTag.class)) { if (cuboid.isInsideCuboid(location)) { cuboids.add(cuboid); } @@ -110,7 +110,7 @@ public static CuboidTag valueOf(String string, TagContext context) { if (CoreUtilities.toLowerCase(string).startsWith("cu@")) { string = string.substring("cu@".length()); } - Notable noted = NotableManager.getSavedObject(string); + Notable noted = NoteManager.getSavedObject(string); if (noted instanceof CuboidTag) { return (CuboidTag) noted; } @@ -631,12 +631,12 @@ public void makeUnique(String id) { CuboidTag toNote = clone(); toNote.noteName = id; toNote.flagTracker = new SavableMapFlagTracker(); - NotableManager.saveAs(toNote, id); + NoteManager.saveAs(toNote, id); } @Override public void forget() { - NotableManager.remove(this); + NoteManager.remove(this); noteName = null; flagTracker = null; } @@ -1322,7 +1322,7 @@ public static void registerTags() { // Gets the name of a noted CuboidTag. If the cuboid isn't noted, this is null. // --> registerTag("note_name", (attribute, cuboid) -> { - String noteName = NotableManager.getSavedId(cuboid); + String noteName = NoteManager.getSavedId(cuboid); if (noteName == null) { return null; } @@ -1382,7 +1382,7 @@ public ObjectTag getObjectAttribute(Attribute attribute) { } public void applyProperty(Mechanism mechanism) { - if (NotableManager.isExactSavedObject(this)) { + if (NoteManager.isExactSavedObject(this)) { Debug.echoError("Cannot apply properties to noted objects."); return; } diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/EllipsoidTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/EllipsoidTag.java index 9be686a8f1..5d9646d745 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/EllipsoidTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/EllipsoidTag.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.objects; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizencore.flags.AbstractFlagTracker; import com.denizenscript.denizencore.flags.FlaggableObject; @@ -8,6 +7,7 @@ import com.denizenscript.denizencore.objects.*; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.core.ListTag; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.tags.ObjectTagProcessor; import com.denizenscript.denizencore.objects.notable.Notable; import com.denizenscript.denizencore.objects.notable.Note; @@ -49,7 +49,7 @@ public class EllipsoidTag implements ObjectTag, Notable, Cloneable, AreaContainm public static List getNotableEllipsoidsContaining(Location location) { List ellipsoids = new ArrayList<>(); - for (EllipsoidTag ellipsoid : NotableManager.getAllType(EllipsoidTag.class)) { + for (EllipsoidTag ellipsoid : NoteManager.getAllType(EllipsoidTag.class)) { if (ellipsoid.contains(location)) { ellipsoids.add(ellipsoid); } @@ -80,7 +80,7 @@ public static EllipsoidTag valueOf(String string, TagContext context) { if (string.contains("@")) { return null; } - Notable noted = NotableManager.getSavedObject(string); + Notable noted = NoteManager.getSavedObject(string); if (noted instanceof EllipsoidTag) { return (EllipsoidTag) noted; } @@ -289,12 +289,12 @@ public void makeUnique(String id) { EllipsoidTag toNote = clone(); toNote.noteName = id; toNote.flagTracker = new SavableMapFlagTracker(); - NotableManager.saveAs(toNote, id); + NoteManager.saveAs(toNote, id); } @Override public void forget() { - NotableManager.remove(this); + NoteManager.remove(this); noteName = null; flagTracker = null; } @@ -581,7 +581,7 @@ else if (projZ >= projX && projZ >= projY) { // Gets the name of a noted EllipsoidTag. If the ellipsoid isn't noted, this is null. // --> registerTag("note_name", (attribute, ellipsoid) -> { - String noteName = NotableManager.getSavedId(ellipsoid); + String noteName = NoteManager.getSavedId(ellipsoid); if (noteName == null) { return null; } diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/EnchantmentTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/EnchantmentTag.java index c59b1581aa..dbac803931 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/EnchantmentTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/EnchantmentTag.java @@ -143,7 +143,7 @@ public String getCleanName() { @Override public AbstractFlagTracker getFlagTracker() { - return new RedirectionFlagTracker(DenizenCore.getImplementation().getServerFlags(), "__enchantments." + getCleanName().replace(".", "&dot")); + return new RedirectionFlagTracker(DenizenCore.serverFlagMap, "__enchantments." + getCleanName().replace(".", "&dot")); } @Override diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java index 8ab3f6b251..12e1dab3b7 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/InventoryTag.java @@ -17,7 +17,6 @@ import com.denizenscript.denizencore.objects.*; import com.denizenscript.denizen.nms.NMSHandler; import com.denizenscript.denizen.nms.abstracts.ImprovedOfflinePlayer; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.tags.BukkitTagContext; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.core.ListTag; @@ -25,6 +24,7 @@ import com.denizenscript.denizencore.objects.core.ScriptTag; import com.denizenscript.denizencore.objects.notable.Notable; import com.denizenscript.denizencore.objects.notable.Note; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.objects.properties.PropertyParser; import com.denizenscript.denizencore.scripts.ScriptRegistry; import com.denizenscript.denizencore.tags.Attribute; @@ -183,13 +183,13 @@ public void makeUnique(String id) { toNote.idHolder = new ElementTag(CoreUtilities.toLowerCase(getInventoryType().name())); } toNote.flagTracker = new SavableMapFlagTracker(); - NotableManager.saveAs(toNote, id); + NoteManager.saveAs(toNote, id); toNote.noteName = id; } @Override public void forget() { - NotableManager.remove(this); + NoteManager.remove(this); InventoryScriptHelper.notedInventories.remove(inventory); flagTracker = null; noteName = null; @@ -407,7 +407,7 @@ public static InventoryTag valueOf(String string, TagContext context) { trackTemporaryInventory(result); return result; } - Notable noted = NotableManager.getSavedObject(string); + Notable noted = NoteManager.getSavedObject(string); if (noted instanceof InventoryTag) { return (InventoryTag) noted; } @@ -438,7 +438,7 @@ public static boolean matches(String arg) { if (ScriptRegistry.containsScript(tid, InventoryScriptContainer.class)) { return true; } - if (NotableManager.getSavedObject(tid) instanceof InventoryTag) { + if (NoteManager.getSavedObject(tid) instanceof InventoryTag) { return true; } for (String idType : idTypes) { @@ -1110,7 +1110,7 @@ public InventoryTag setPrefix(String prefix) { @Override public String identify() { if (isUnique()) { - return "in@" + NotableManager.getSavedId(this); + return "in@" + NoteManager.getSavedId(this); } else { trackTemporaryInventory(this); @@ -1924,7 +1924,7 @@ else if (meta.hasDisplayName() && CoreUtilities.toLowerCase(meta.getDisplayName( // Gets the name of a noted InventoryTag. If the inventory isn't noted, this is null. // --> registerTag("note_name", (attribute, object) -> { - String noteName = NotableManager.getSavedId(object); + String noteName = NoteManager.getSavedId(object); if (noteName == null) { return null; } diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java index a9ce01cffb..5b296ae3ef 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java @@ -2,7 +2,6 @@ import com.denizenscript.denizen.events.BukkitScriptEvent; import com.denizenscript.denizen.nms.abstracts.BiomeNMS; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.objects.properties.material.MaterialDirectional; import com.denizenscript.denizen.objects.properties.material.MaterialHalf; import com.denizenscript.denizen.objects.properties.material.MaterialSwitchFace; @@ -29,6 +28,7 @@ import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; import com.denizenscript.denizencore.objects.notable.Note; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.tags.Attribute; import com.denizenscript.denizencore.tags.ObjectTagProcessor; import com.denizenscript.denizencore.tags.TagContext; @@ -119,7 +119,7 @@ public LocationTag clone() { ///////////////// public void makeUnique(String id) { - NotableManager.saveAs(this, id); + NoteManager.saveAs(this, id); } @Note("Locations") @@ -128,12 +128,12 @@ public String getSaveObject() { } public static String getSaved(LocationTag location) { - return NotableManager.getSavedId(location); + return NoteManager.getSavedId(location); } @Override public void forget() { - NotableManager.remove(this); + NoteManager.remove(this); } ////////////////// @@ -161,7 +161,7 @@ public static LocationTag valueOf(String string, TagContext context) { if (string.startsWith("l@")) { string = string.substring(2); } - Notable noted = NotableManager.getSavedObject(string); + Notable noted = NoteManager.getSavedObject(string); if (noted instanceof LocationTag) { return (LocationTag) noted; } @@ -2784,7 +2784,7 @@ else if (attribute.startsWith("unexplored_structure", 2) && attribute.hasContext // Gets the name of a noted LocationTag. If the location isn't noted, this is null. // --> registerTag("note_name", (attribute, object) -> { - String noteName = NotableManager.getSavedId((object)); + String noteName = NoteManager.getSavedId((object)); if (noteName == null) { return null; } diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/MaterialTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/MaterialTag.java index 9169b21e55..68322c58d4 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/MaterialTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/MaterialTag.java @@ -236,7 +236,7 @@ public boolean isTruthy() { @Override public AbstractFlagTracker getFlagTracker() { - return new RedirectionFlagTracker(DenizenCore.getImplementation().getServerFlags(), "__materials." + material.name().replace(".", "&dot")); + return new RedirectionFlagTracker(DenizenCore.serverFlagMap, "__materials." + material.name().replace(".", "&dot")); } @Override diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/PluginTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/PluginTag.java index 9fb60a46a3..d1b1402821 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/PluginTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/PluginTag.java @@ -150,7 +150,7 @@ public PluginTag setPrefix(String prefix) { @Override public AbstractFlagTracker getFlagTracker() { - return new RedirectionFlagTracker(DenizenCore.getImplementation().getServerFlags(), "__plugins." + plugin.getName().replace(".", "&dot")); + return new RedirectionFlagTracker(DenizenCore.serverFlagMap, "__plugins." + plugin.getName().replace(".", "&dot")); } @Override diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/PolygonTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/PolygonTag.java index 10467edfd8..446a6d5853 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/PolygonTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/PolygonTag.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.objects; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Settings; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizencore.flags.AbstractFlagTracker; @@ -11,6 +10,7 @@ import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; import com.denizenscript.denizencore.objects.notable.Note; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.tags.Attribute; import com.denizenscript.denizencore.tags.ObjectTagProcessor; import com.denizenscript.denizencore.tags.TagContext; @@ -126,7 +126,7 @@ public static PolygonTag valueOf(String string, TagContext context) { if (string.contains("@")) { return null; } - Notable saved = NotableManager.getSavedObject(string); + Notable saved = NoteManager.getSavedObject(string); if (saved instanceof PolygonTag) { return (PolygonTag) saved; } @@ -212,7 +212,7 @@ public String getNoteName() { public static List getNotedPolygonsContaining(Location location) { List polygons = new ArrayList<>(); - for (PolygonTag polygon : NotableManager.getAllType(PolygonTag.class)) { + for (PolygonTag polygon : NoteManager.getAllType(PolygonTag.class)) { if (polygon.doesContainLocation(location)) { polygons.add(polygon); } @@ -420,12 +420,12 @@ public void makeUnique(String id) { PolygonTag toNote = clone(); toNote.noteName = id; toNote.flagTracker = new SavableMapFlagTracker(); - NotableManager.saveAs(toNote, id); + NoteManager.saveAs(toNote, id); } @Override public void forget() { - NotableManager.remove(this); + NoteManager.remove(this); noteName = null; flagTracker = null; } @@ -561,7 +561,7 @@ public static void registerTags() { // Gets the name of a noted PolygonTag. If the polygon isn't noted, this is null. // --> registerTag("note_name", (attribute, polygon) -> { - String noteName = NotableManager.getSavedId(polygon); + String noteName = NoteManager.getSavedId(polygon); if (noteName == null) { return null; } @@ -718,7 +718,7 @@ public ObjectTag getObjectAttribute(Attribute attribute) { } public void applyProperty(Mechanism mechanism) { - if (NotableManager.isExactSavedObject(this)) { + if (NoteManager.isExactSavedObject(this)) { Debug.echoError("Cannot apply properties to noted objects."); return; } diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/notable/NotableManager.java b/plugin/src/main/java/com/denizenscript/denizen/objects/notable/NotableManager.java deleted file mode 100644 index 67c364f53f..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/notable/NotableManager.java +++ /dev/null @@ -1,197 +0,0 @@ -package com.denizenscript.denizen.objects.notable; - -import com.denizenscript.denizencore.DenizenCore; -import com.denizenscript.denizencore.utilities.YamlConfiguration; -import com.denizenscript.denizencore.utilities.debugging.Debug; -import com.denizenscript.denizencore.flags.FlaggableObject; -import com.denizenscript.denizencore.flags.SavableMapFlagTracker; -import com.denizenscript.denizencore.objects.ObjectFetcher; -import com.denizenscript.denizencore.objects.ObjectTag; -import com.denizenscript.denizencore.objects.notable.Notable; -import com.denizenscript.denizencore.objects.notable.Note; -import com.denizenscript.denizencore.tags.core.EscapeTagBase; -import com.denizenscript.denizencore.utilities.CoreUtilities; -import com.denizenscript.denizencore.utilities.text.StringHolder; - -import java.io.File; -import java.lang.reflect.Method; -import java.util.*; - -public class NotableManager { - - public static HashMap nameToObject = new HashMap<>(); - public static HashMap objectToName = new HashMap<>(); - public static HashMap> notesByType = new HashMap<>(); - - public static boolean isSaved(Notable object) { - return objectToName.containsKey(object); - } - - public static boolean isExactSavedObject(Notable object) { - String id = objectToName.get(object); - if (id == null) { - return false; - } - return nameToObject.get(id) == object; - } - - public static Notable getSavedObject(String id) { - return nameToObject.get(CoreUtilities.toLowerCase(id)); - } - - public static String getSavedId(Notable object) { - return objectToName.get(object); - } - - public static void saveAs(Notable object, String id) { - if (object == null) { - return; - } - id = CoreUtilities.toLowerCase(id); - Notable noted = nameToObject.get(id); - if (noted != null) { - noted.forget(); - } - nameToObject.put(id, object); - objectToName.put(object, id); - notesByType.get(object.getClass()).add(object); - } - - public static Notable remove(String id) { - id = CoreUtilities.toLowerCase(id); - Notable obj = nameToObject.get(id); - if (obj == null) { - return null; - } - nameToObject.remove(id); - objectToName.remove(obj); - notesByType.get(obj.getClass()).remove(obj); - return obj; - } - - public static void remove(Notable obj) { - String id = objectToName.get(obj); - nameToObject.remove(id); - objectToName.remove(obj); - notesByType.get(obj.getClass()).remove(obj); - } - - public static Set getAllType(Class type) { - return (Set) notesByType.get(type); - } - - private static void loadFromConfig() { - nameToObject.clear(); - for (Set set : notesByType.values()) { - set.clear(); - } - objectToName.clear(); - for (StringHolder key : getSaveConfig().getKeys(false)) { - Class clazz = namesToTypes.get(key.str); - YamlConfiguration section = getSaveConfig().getConfigurationSection(key.str); - if (section == null) { - continue; - } - for (StringHolder noteNameHolder : section.getKeys(false)) { - String noteName = noteNameHolder.str; - String note = EscapeTagBase.unEscape(noteName.replace("DOT", ".")); - String objText; - String flagText = null; - Object rawPart = section.get(noteName); - if (rawPart instanceof YamlConfiguration || rawPart instanceof Map) { - objText = section.getConfigurationSection(noteName).getString("object"); - flagText = section.getConfigurationSection(noteName).getString("flags"); - } - else { - objText = section.getString(noteName); - } - Notable obj = (Notable) ObjectFetcher.getObjectFrom(clazz, objText, CoreUtilities.errorButNoDebugContext); - if (obj != null) { - obj.makeUnique(note); - if (flagText != null && obj instanceof FlaggableObject) { - ((FlaggableObject) getSavedObject(note)).reapplyTracker(new SavableMapFlagTracker(flagText)); - } - } - else { - Debug.echoError("Note '" + note + "' failed to load!"); - } - } - } - } - - private static void saveToConfig() { - YamlConfiguration saveConfig = getSaveConfig(); - for (StringHolder key : saveConfig.getKeys(false)) { - saveConfig.set(key.str, null); - } - for (Map.Entry note : nameToObject.entrySet()) { - try { - saveConfig.set(typesToNames.get(getClass(note.getValue())) + "." + EscapeTagBase.escape(CoreUtilities.toLowerCase(note.getKey())), note.getValue().getSaveObject()); - } - catch (Exception e) { - Debug.echoError("Notable '" + note.getKey() + "' failed to save!"); - Debug.echoError(e); - } - } - } - - private static Class getClass(Notable note) { - for (Class clazz : typesToNames.keySet()) { - if (clazz.isInstance(note)) { - return clazz; - } - } - return null; - } - - private static YamlConfiguration saveConfig = null; - private static String saveFilePath = null; - - public static void reload() { - if (saveFilePath == null) { - saveFilePath = new File(DenizenCore.getImplementation().getDataFolder(), "notables.yml").getPath(); - } - saveConfig = YamlConfiguration.load(CoreUtilities.journallingLoadFile(saveFilePath)); - loadFromConfig(); - } - - public static YamlConfiguration getSaveConfig() { - if (saveConfig == null) { - reload(); - } - return saveConfig; - } - - public static void save() { - if (saveConfig == null || saveFilePath == null) { - return; - } - saveToConfig(); - if (nameToObject.isEmpty()) { - if (new File(saveFilePath).exists()) { - new File(saveFilePath).delete(); - } - } - else { - CoreUtilities.journallingFileSave(saveFilePath, saveConfig.saveToString(false)); - } - } - - /////////////////// - // Note Annotation Handler - /////////////////// - - public static Map typesToNames = new HashMap<>(); - public static Map namesToTypes = new HashMap<>(); - - public static void registerWithNotableManager(Class notable) { - for (Method method : notable.getMethods()) { - if (method.isAnnotationPresent(Note.class)) { - String note = method.getAnnotation(Note.class).value(); - typesToNames.put(notable, note); - namesToTypes.put(note, notable); - notesByType.put(notable, new HashSet<>()); - } - } - } -} diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java index 55165af1f6..57db50d91c 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/BukkitCommandRegistry.java @@ -82,7 +82,6 @@ public void registerCommands() { //core registerCommand(CooldownCommand.class); - registerCommand(NoteCommand.class); registerCommand(ResetCommand.class); registerCommand(ZapCommand.class); // entity diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/core/CooldownCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/core/CooldownCommand.java index 8e10e9aa07..1245b67e4a 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/core/CooldownCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/core/CooldownCommand.java @@ -5,6 +5,7 @@ import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.objects.PlayerTag; +import com.denizenscript.denizencore.DenizenCore; import com.denizenscript.denizencore.exceptions.InvalidArgumentsException; import com.denizenscript.denizencore.objects.Argument; import com.denizenscript.denizencore.objects.core.DurationTag; @@ -118,7 +119,7 @@ public void execute(ScriptEntry scriptEntry) { } public static DurationTag getCooldownDuration(PlayerTag player, String scriptName) { - TimeTag expires = Denizen.getInstance().serverFlagMap.getFlagExpirationTime("__interact_cooldown." + scriptName); + TimeTag expires = DenizenCore.serverFlagMap.getFlagExpirationTime("__interact_cooldown." + scriptName); if (expires != null) { return new DurationTag((expires.millis() - TimeTag.now().millis()) / 1000.0); } @@ -143,7 +144,7 @@ public static boolean checkCooldown(PlayerTag player, String scriptName) { public static void setCooldown(PlayerTag player, DurationTag duration, String scriptName, boolean global) { TimeTag cooldownTime = new TimeTag(TimeTag.now().millis() + duration.getMillis()); if (global) { - Denizen.getInstance().serverFlagMap.setFlag("__interact_cooldown." + scriptName, cooldownTime, cooldownTime); + DenizenCore.serverFlagMap.setFlag("__interact_cooldown." + scriptName, cooldownTime, cooldownTime); } else { player.getFlagTracker().setFlag("__interact_cooldown." + scriptName, cooldownTime, cooldownTime); diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/core/NoteCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/core/NoteCommand.java deleted file mode 100644 index 4febfc0a39..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/core/NoteCommand.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.denizenscript.denizen.scripts.commands.core; - -import com.denizenscript.denizencore.objects.notable.NoteManager; -import com.denizenscript.denizencore.utilities.debugging.Debug; -import com.denizenscript.denizencore.exceptions.InvalidArgumentsException; -import com.denizenscript.denizencore.objects.*; -import com.denizenscript.denizencore.objects.core.ElementTag; -import com.denizenscript.denizencore.objects.notable.Notable; -import com.denizenscript.denizencore.scripts.ScriptEntry; -import com.denizenscript.denizencore.scripts.commands.AbstractCommand; - -public class NoteCommand extends AbstractCommand { - - public NoteCommand() { - setName("note"); - setSyntax("note [/remove] [as:]"); - setRequiredArguments(2, 2); - isProcedural = false; - } - - // <--[command] - // @Name Note - // @Syntax note [/remove] [as:] - // @Required 2 - // @Maximum 2 - // @Short Adds or removes a named note of an object to the server. - // @Synonyms Notable - // @Group core - // @Guide https://guide.denizenscript.com/guides/advanced/notables.html - // - // @Description - // Add or remove a 'note' to the server, persistently naming an object that can be referenced in events or scripts. - // Only works for object types that are 'notable'. - // Noted objects are "permanent" versions of other ObjectTags. (See: <@link language ObjectTags>) - // Noted objects keep their properties when added. - // - // Notable object types: CuboidTag, EllipsoidTag, PolygonTag, LocationTag, InventoryTag - // - // @Tags - // ]> - // - // - // - // - // - // - // @Usage - // Use to note a cuboid. - // - note <[some_cuboid]> as:mycuboid - // - // @Usage - // Use to remove a noted cuboid. - // - note remove as:mycuboid - // - // @Usage - // Use to note a location. - // - note as:mylocation - // --> - - @Override - public void parseArgs(ScriptEntry scriptEntry) throws InvalidArgumentsException { - for (Argument arg : scriptEntry.getProcessedArgs()) { - if (arg.matchesPrefix("as", "i", "id") - && !scriptEntry.hasObject("id")) { - scriptEntry.addObject("id", arg.asElement()); - } - else if (arg.matches("remove") - && !scriptEntry.hasObject("object") - && !scriptEntry.hasObject("remove")) { - scriptEntry.addObject("remove", new ElementTag(true)); - } - else if (ObjectFetcher.canFetch(arg.getValue().split("@")[0]) - && !scriptEntry.hasObject("object") - && !scriptEntry.hasObject("remove")) { - scriptEntry.addObject("object", arg.object); - } - else { - arg.reportUnhandled(); - } - } - if (!scriptEntry.hasObject("id")) { - throw new InvalidArgumentsException("Must specify an id"); - } - if (!scriptEntry.hasObject("object") && !scriptEntry.hasObject("remove")) { - throw new InvalidArgumentsException("Must specify an object to note."); - } - if (!scriptEntry.hasObject("remove")) { - scriptEntry.addObject("remove", new ElementTag(false)); - } - } - - @Override - public void execute(ScriptEntry scriptEntry) { - ObjectTag object = scriptEntry.getObjectTag("object"); - ElementTag id = scriptEntry.getElement("id"); - ElementTag remove = scriptEntry.getElement("remove"); - if (scriptEntry.dbCallShouldDebug()) { - Debug.report(scriptEntry, getName(), object, id, remove); - } - if (remove.asBoolean()) { - Notable note = NoteManager.getSavedObject(id.asString()); - if (note != null) { - note.forget(); - Debug.echoDebug(scriptEntry, "Note '" + id.asString() + "' removed"); - } - else { - Debug.echoDebug(scriptEntry, id.asString() + " is not saved"); - } - return; - } - if (object instanceof ElementTag) { - String stringified = object.toString(); - object = ObjectFetcher.pickObjectFor(stringified, scriptEntry.context); - if (object == null) { - Debug.echoError("Failed to read the object '" + stringified + "' into a real object value."); - return; - } - } - if (!(object instanceof Notable)) { - Debug.echoError("Object '" + object + "' has type '" + object.getObjectType() + "' which is not a notable object type."); - return; - } - try { - ((Notable) object).makeUnique(id.asString()); - } - catch (Throwable ex) { - Debug.echoError("Something went wrong converting that object!"); - Debug.echoError(ex); - } - } -} diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/TeleportCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/TeleportCommand.java index c4e238186c..9668307156 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/TeleportCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/TeleportCommand.java @@ -1,7 +1,6 @@ package com.denizenscript.denizen.scripts.commands.entity; import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.objects.EntityTag; @@ -11,6 +10,7 @@ import com.denizenscript.denizencore.objects.ArgumentHelper; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; @@ -66,8 +66,8 @@ public TeleportCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/WalkCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/WalkCommand.java index 92e237580e..07fb70a2f3 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/WalkCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/entity/WalkCommand.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.scripts.commands.entity; import com.denizenscript.denizen.Denizen; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.utilities.depends.Depends; @@ -14,6 +13,7 @@ import com.denizenscript.denizencore.objects.ArgumentHelper; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; import com.denizenscript.denizencore.scripts.commands.Holdable; @@ -96,8 +96,8 @@ public WalkCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/item/InventoryCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/item/InventoryCommand.java index 6a7d117297..1d8131cd91 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/item/InventoryCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/item/InventoryCommand.java @@ -2,7 +2,6 @@ import com.denizenscript.denizen.nms.NMSHandler; import com.denizenscript.denizen.objects.*; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.scripts.containers.core.InventoryScriptHelper; import com.denizenscript.denizen.utilities.Conversion; import com.denizenscript.denizen.utilities.Utilities; @@ -11,6 +10,7 @@ import com.denizenscript.denizencore.exceptions.InvalidArgumentsException; import com.denizenscript.denizencore.objects.*; import com.denizenscript.denizencore.objects.core.*; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.objects.properties.PropertyParser; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; @@ -163,7 +163,7 @@ public void addCustomTabCompletions(String arg, Consumer addOne) { addOne.accept("dest:" + s); addOne.accept("destination:" + s); }; - for (InventoryTag inventory : (HashSet) ((HashSet) NotableManager.notesByType.get(InventoryTag.class))) { + for (InventoryTag inventory : (HashSet) ((HashSet) NoteManager.notesByType.get(InventoryTag.class))) { addAll.accept(inventory.noteName); } for (String script : InventoryScriptHelper.inventoryScripts.keySet()) { diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/player/CompassCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/player/CompassCommand.java index ade1f01db2..c6e8c0cdd7 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/player/CompassCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/player/CompassCommand.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.scripts.commands.player; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.objects.LocationTag; @@ -8,6 +7,7 @@ import com.denizenscript.denizencore.objects.Argument; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; import org.bukkit.Location; @@ -60,8 +60,8 @@ public CompassCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/AnimateChestCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/AnimateChestCommand.java index f17b96b984..895b6c313e 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/AnimateChestCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/AnimateChestCommand.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.scripts.commands.world; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.nms.NMSHandler; @@ -13,6 +12,7 @@ import com.denizenscript.denizencore.objects.ArgumentHelper; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; import org.bukkit.Sound; @@ -77,8 +77,8 @@ enum ChestAction {OPEN, CLOSE} @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ExplodeCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ExplodeCommand.java index fe5d37563f..a57cf38815 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ExplodeCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/ExplodeCommand.java @@ -1,7 +1,6 @@ package com.denizenscript.denizen.scripts.commands.world; import com.denizenscript.denizen.objects.EntityTag; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.objects.LocationTag; @@ -9,6 +8,7 @@ import com.denizenscript.denizencore.objects.Argument; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; @@ -69,8 +69,8 @@ public ExplodeCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/FireworkCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/FireworkCommand.java index fda68d9f09..da26cd2469 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/FireworkCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/FireworkCommand.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.scripts.commands.world; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Conversion; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; @@ -13,6 +12,7 @@ import com.denizenscript.denizencore.objects.ArgumentHelper; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; import com.denizenscript.denizencore.utilities.CoreUtilities; @@ -78,8 +78,8 @@ public FireworkCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/LightCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/LightCommand.java index 0a7796ea6c..de1cd75723 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/LightCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/LightCommand.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.scripts.commands.world; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.nms.NMSHandler; @@ -11,6 +10,7 @@ import com.denizenscript.denizencore.objects.core.DurationTag; import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; @@ -60,8 +60,8 @@ public LightCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SignCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SignCommand.java index f5a9f267b2..8d479eecd4 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SignCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SignCommand.java @@ -1,7 +1,6 @@ package com.denizenscript.denizen.scripts.commands.world; import com.denizenscript.denizen.objects.MaterialTag; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.objects.properties.material.MaterialDirectional; import com.denizenscript.denizen.utilities.blocks.MaterialCompat; import com.denizenscript.denizen.utilities.Utilities; @@ -13,6 +12,7 @@ import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; import org.bukkit.Material; @@ -68,8 +68,8 @@ public SignCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/StrikeCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/StrikeCommand.java index bc3a709788..2e71026baf 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/StrikeCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/StrikeCommand.java @@ -1,6 +1,5 @@ package com.denizenscript.denizen.scripts.commands.world; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.objects.LocationTag; import com.denizenscript.denizencore.exceptions.InvalidArgumentsException; @@ -8,6 +7,7 @@ import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.ArgumentHelper; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; @@ -51,8 +51,8 @@ public StrikeCommand() { @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SwitchCommand.java b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SwitchCommand.java index d01d9ff2b3..aa984eff42 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SwitchCommand.java +++ b/plugin/src/main/java/com/denizenscript/denizen/scripts/commands/world/SwitchCommand.java @@ -2,7 +2,6 @@ import com.denizenscript.denizen.Denizen; import com.denizenscript.denizen.objects.MaterialTag; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.objects.properties.material.MaterialSwitchable; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.objects.LocationTag; @@ -12,6 +11,7 @@ import com.denizenscript.denizencore.objects.core.ElementTag; import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.commands.AbstractCommand; import org.bukkit.Bukkit; @@ -87,8 +87,8 @@ private enum SwitchState {ON, OFF, TOGGLE} @Override public void addCustomTabCompletions(String arg, Consumer addOne) { - for (Notable note : NotableManager.notesByType.get(LocationTag.class)) { - addOne.accept(NotableManager.getSavedId(note)); + for (Notable note : NoteManager.notesByType.get(LocationTag.class)) { + addOne.accept(NoteManager.getSavedId(note)); } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/tags/core/ServerTagBase.java b/plugin/src/main/java/com/denizenscript/denizen/tags/core/ServerTagBase.java index dc9f8b71b5..ee89ef621d 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/tags/core/ServerTagBase.java +++ b/plugin/src/main/java/com/denizenscript/denizen/tags/core/ServerTagBase.java @@ -2,13 +2,13 @@ import com.denizenscript.denizen.events.BukkitScriptEvent; import com.denizenscript.denizen.objects.*; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.scripts.commands.server.BossBarCommand; import com.denizenscript.denizen.scripts.containers.core.AssignmentScriptContainer; import com.denizenscript.denizen.scripts.containers.core.CommandScriptHelper; import com.denizenscript.denizen.utilities.ScoreboardHelper; import com.denizenscript.denizen.utilities.Utilities; import com.denizenscript.denizen.utilities.VanillaTagHelper; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.utilities.debugging.Debug; import com.denizenscript.denizen.utilities.depends.Depends; import com.denizenscript.denizen.utilities.inventory.SlotHelper; @@ -485,7 +485,7 @@ else if (recipe instanceof CookingRecipe) { // See <@link tag FlaggableObject.has_flag> // --> if (attribute.startsWith("has_flag")) { - event.setReplacedObject(Denizen.getInstance().serverFlagMap.doHasFlagTag(attribute) + event.setReplacedObject(DenizenCore.serverFlagMap.doHasFlagTag(attribute) .getObjectAttribute(attribute.fulfill(1))); return; } @@ -496,7 +496,7 @@ else if (recipe instanceof CookingRecipe) { // See <@link tag FlaggableObject.flag_expiration> // --> if (attribute.startsWith("flag_expiration")) { - TimeTag exp = Denizen.getInstance().serverFlagMap.doFlagExpirationTag(attribute); + TimeTag exp = DenizenCore.serverFlagMap.doFlagExpirationTag(attribute); if (exp != null) { event.setReplacedObject(exp .getObjectAttribute(attribute.fulfill(1))); @@ -510,7 +510,7 @@ else if (recipe instanceof CookingRecipe) { // See <@link tag FlaggableObject.flag> // --> if (attribute.startsWith("flag")) { - ObjectTag flag = Denizen.getInstance().serverFlagMap.doFlagTag(attribute); + ObjectTag flag = DenizenCore.serverFlagMap.doFlagTag(attribute); if (flag != null) { event.setReplacedObject(flag .getObjectAttribute(attribute.fulfill(1))); @@ -524,7 +524,7 @@ else if (recipe instanceof CookingRecipe) { // See <@link tag FlaggableObject.list_flags> // --> if (attribute.startsWith("list_flags")) { - event.setReplacedObject(Denizen.getInstance().serverFlagMap.doListFlagsTag(attribute) + event.setReplacedObject(DenizenCore.serverFlagMap.doListFlagsTag(attribute) .getObjectAttribute(attribute.fulfill(1))); return; } @@ -535,7 +535,7 @@ else if (recipe instanceof CookingRecipe) { // See <@link tag FlaggableObject.flag_map> // --> if (attribute.startsWith("flag_map")) { - event.setReplacedObject(Denizen.getInstance().serverFlagMap.doFlagMapTag(attribute) + event.setReplacedObject(DenizenCore.serverFlagMap.doFlagMapTag(attribute) .getObjectAttribute(attribute.fulfill(1))); return; } @@ -996,9 +996,9 @@ else if (recipe instanceof CookingRecipe) { ListTag allNotables = new ListTag(); if (attribute.hasContext(1)) { String type = CoreUtilities.toLowerCase(attribute.getContext(1)); - for (Map.Entry typeClass : NotableManager.namesToTypes.entrySet()) { + for (Map.Entry typeClass : NoteManager.namesToTypes.entrySet()) { if (type.equals(CoreUtilities.toLowerCase(typeClass.getKey()))) { - for (Object notable : NotableManager.getAllType(typeClass.getValue())) { + for (Object notable : NoteManager.getAllType(typeClass.getValue())) { allNotables.addObject((ObjectTag) notable); } break; @@ -1006,7 +1006,7 @@ else if (recipe instanceof CookingRecipe) { } } else { - for (Notable notable : NotableManager.nameToObject.values()) { + for (Notable notable : NoteManager.nameToObject.values()) { allNotables.addObject((ObjectTag) notable); } } @@ -1061,12 +1061,12 @@ else if (recipe instanceof CookingRecipe) { // Returns the time the server started. // --> if (attribute.startsWith("started_time")) { - event.setReplacedObject(new TimeTag(Denizen.startTime) + event.setReplacedObject(new TimeTag(DenizenCore.startTime) .getObjectAttribute(attribute.fulfill(1))); } if (attribute.startsWith("start_time")) { Deprecations.timeTagRewrite.warn(attribute.context); - event.setReplacedObject(new DurationTag(Denizen.startTime / 50) + event.setReplacedObject(new DurationTag(DenizenCore.startTime / 50) .getObjectAttribute(attribute.fulfill(1))); } @@ -2141,7 +2141,7 @@ else if (attribute.startsWith("debug_enabled")) { // Returns the time that Denizen scripts were last reloaded. // --> else if (attribute.startsWith("last_reload")) { - event.setReplacedObject(new TimeTag(Denizen.getInstance().lastReloadTime).getObjectAttribute(attribute.fulfill(1))); + event.setReplacedObject(new TimeTag(DenizenCore.lastReloadTime).getObjectAttribute(attribute.fulfill(1))); } // <--[tag] @@ -2478,6 +2478,7 @@ public static void adjustServer(Mechanism mechanism) { // Immediately saves the Denizen saves files. // --> if (mechanism.matches("save")) { + DenizenCore.saveAll(); Denizen.getInstance().saveSaves(true); } diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/CommonRegistries.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/CommonRegistries.java index 5771923937..a2d4cf6843 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/CommonRegistries.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/CommonRegistries.java @@ -1,13 +1,13 @@ package com.denizenscript.denizen.utilities; import com.denizenscript.denizen.objects.*; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.tags.core.*; import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.utilities.depends.Depends; import com.denizenscript.denizencore.objects.ObjectFetcher; import com.denizenscript.denizencore.objects.ObjectTag; import com.denizenscript.denizencore.objects.core.ElementTag; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.utilities.CoreUtilities; import net.citizensnpcs.api.npc.NPC; import org.bukkit.*; @@ -133,12 +133,12 @@ private static void registerObjectTypes() { } private static void registerNotables() { - NotableManager.registerWithNotableManager(CuboidTag.class); - NotableManager.registerWithNotableManager(EllipsoidTag.class); - NotableManager.registerWithNotableManager(InventoryTag.class); - NotableManager.registerWithNotableManager(ItemTag.class); - NotableManager.registerWithNotableManager(LocationTag.class); - NotableManager.registerWithNotableManager(PolygonTag.class); + NoteManager.registerObjectTypeAsNotable(CuboidTag.class); + NoteManager.registerObjectTypeAsNotable(EllipsoidTag.class); + NoteManager.registerObjectTypeAsNotable(InventoryTag.class); + NoteManager.registerObjectTypeAsNotable(ItemTag.class); + NoteManager.registerObjectTypeAsNotable(LocationTag.class); + NoteManager.registerObjectTypeAsNotable(PolygonTag.class); } private static void registerObjectCheckers() { diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java index 2b7e93545e..170eef0702 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/LegacySavesUpdater.java @@ -4,6 +4,7 @@ import com.denizenscript.denizen.objects.NPCTag; import com.denizenscript.denizen.objects.PlayerTag; import com.denizenscript.denizen.utilities.debugging.Debug; +import com.denizenscript.denizencore.DenizenCore; import com.denizenscript.denizencore.flags.AbstractFlagTracker; import com.denizenscript.denizencore.objects.ObjectTag; import com.denizenscript.denizencore.objects.core.ElementTag; @@ -54,7 +55,7 @@ public static void updateLegacySaves() { Debug.log("==== Update global data ===="); YamlConfiguration globalSection = saveSection.getConfigurationSection("Global"); if (globalSection.contains("Flags")) { - applyFlags("Server", Denizen.getInstance().serverFlagMap, globalSection.getConfigurationSection("Flags")); + applyFlags("Server", DenizenCore.serverFlagMap, globalSection.getConfigurationSection("Flags")); } if (globalSection.contains("Scripts")) { YamlConfiguration scriptsSection = globalSection.getConfigurationSection("Scripts"); @@ -63,7 +64,7 @@ public static void updateLegacySaves() { if (scriptSection.contains("Cooldown Time")) { long time = Long.parseLong(scriptSection.getString("Cooldown Time")); TimeTag cooldown = new TimeTag(time); - Denizen.getInstance().serverFlagMap.setFlag("__interact_cooldown." + script.low, cooldown, cooldown); + DenizenCore.serverFlagMap.setFlag("__interact_cooldown." + script.low, cooldown, cooldown); } } } diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/command/DenizenCommandHandler.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/command/DenizenCommandHandler.java index 4e9d1109ea..b07b32e27b 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/command/DenizenCommandHandler.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/command/DenizenCommandHandler.java @@ -2,7 +2,6 @@ import com.denizenscript.denizen.Denizen; import com.denizenscript.denizen.nms.NMSHandler; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.command.manager.Command; import com.denizenscript.denizen.utilities.command.manager.CommandContext; import com.denizenscript.denizen.utilities.command.manager.Paginator; @@ -11,6 +10,7 @@ import com.denizenscript.denizen.utilities.debugging.Debug; import com.denizenscript.denizen.utilities.packets.NetworkInterceptHelper; import com.denizenscript.denizencore.DenizenCore; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptHelper; import com.denizenscript.denizencore.scripts.ScriptRegistry; import com.denizenscript.denizencore.scripts.containers.ScriptContainer; @@ -262,6 +262,7 @@ public void version(CommandContext args, CommandSender sender) throws CommandExc desc = "Saves the current state of Denizen/saves.yml.", modifiers = {"save"}, min = 1, max = 3, permission = "denizen.basic", flags = "s") public void save(CommandContext args, CommandSender sender) throws CommandException { + DenizenCore.saveAll(); Denizen.getInstance().saveSaves(true); Messaging.send(sender, "Denizen save data saved to disk from memory."); } @@ -276,7 +277,7 @@ public void reload(CommandContext args, CommandSender sender) throws CommandExce if (args.hasFlag('a')) { denizen.reloadConfig(); DenizenCore.reloadScripts(); - NotableManager.reload(); + NoteManager.reload(); denizen.reloadSaves(); Messaging.send(sender, "Denizen save data, config, and scripts reloaded from disk to memory."); if (ScriptHelper.hadError()) { @@ -291,7 +292,7 @@ public void reload(CommandContext args, CommandSender sender) throws CommandExce return; } else if (args.getString(1).equalsIgnoreCase("notes")) { - NotableManager.reload(); + NoteManager.reload(); Messaging.send(sender, "Denizen note data reloaded from disk to memory."); return; } diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/debugging/DebugSubmit.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/debugging/DebugSubmit.java index ae41ea5fad..932e84d01c 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/debugging/DebugSubmit.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/debugging/DebugSubmit.java @@ -97,7 +97,7 @@ public void run() { uc.getOutputStream().write(("pastetype=log" + "&response=micro&v=200&pastetitle=Denizen+Debug+Logs+From+" + URLEncoder.encode(ChatColor.stripColor(Bukkit.getServer().getMotd())) + "&pastecontents=" + URLEncoder.encode(("Java Version: " + System.getProperty("java.version") - + "\nUp-time: " + new DurationTag((System.currentTimeMillis() - Denizen.startTime) / 50).formatted(false) + + "\nUp-time: " + new DurationTag((System.currentTimeMillis() - DenizenCore.startTime) / 50).formatted(false) + "\nServer Version: " + Bukkit.getServer().getName() + " version " + Bukkit.getServer().getVersion() + "\nDenizen Version: Core: " + DenizenCore.VERSION + ", CraftBukkit: " + Denizen.getInstance().coreImplementation.getImplementationVersion() + "\nActive Plugins (" + pluginCount + "): " + pluginlist.substring(0, pluginlist.length() - 2) @@ -105,7 +105,7 @@ public void run() { + "\nOnline Players (" + playerCount + "): " + playerlist.substring(0, playerlist.length() - 2) + "\nTotal Players Ever: " + PlayerTag.getAllPlayers().size() + " (" + validPl + " valid, " + invalidPl + " invalid)" + "\nMode: " + (Bukkit.getServer().getOnlineMode() ? ChatColor.GREEN + "online" : (bungee ? ChatColor.YELLOW : ChatColor.RED) + "offline") + (bungee ? " (BungeeCord)" : "") - + "\nLast reload: " + new DurationTag((System.currentTimeMillis() - Denizen.getInstance().lastReloadTime) / 1000.0).formatted(false) + " ago" + + "\nLast reload: " + new DurationTag((System.currentTimeMillis() - DenizenCore.lastReloadTime) / 1000.0).formatted(false) + " ago" + "\n\n").replace(ChatColor.COLOR_CHAR, (char) 0x01)) + recording) .getBytes(StandardCharsets.UTF_8)); // Wait for a response from the server diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/implementation/DenizenCoreImplementation.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/implementation/DenizenCoreImplementation.java index f25e146de5..038b387e9a 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/implementation/DenizenCoreImplementation.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/implementation/DenizenCoreImplementation.java @@ -1,7 +1,6 @@ package com.denizenscript.denizen.utilities.implementation; import com.denizenscript.denizen.Denizen; -import com.denizenscript.denizen.objects.notable.NotableManager; import com.denizenscript.denizen.utilities.Settings; import com.denizenscript.denizen.events.bukkit.ScriptReloadEvent; import com.denizenscript.denizen.objects.*; @@ -20,6 +19,7 @@ import com.denizenscript.denizencore.objects.ObjectFetcher; import com.denizenscript.denizencore.objects.ObjectTag; import com.denizenscript.denizencore.objects.notable.Notable; +import com.denizenscript.denizencore.objects.notable.NoteManager; import com.denizenscript.denizencore.scripts.ScriptEntry; import com.denizenscript.denizencore.scripts.ScriptEntryData; import com.denizenscript.denizencore.scripts.containers.ScriptContainer; @@ -142,7 +142,6 @@ public void preScriptReload() { public void onScriptReload() { Depends.setupEconomy(); Bukkit.getServer().getPluginManager().callEvent(new ScriptReloadEvent()); - Denizen.getInstance().lastReloadTime = System.currentTimeMillis(); } @Override @@ -265,11 +264,6 @@ public String scriptQueueSpeed() { return Settings.scriptQueueSpeed(); } - @Override - public AbstractFlagTracker getServerFlags() { - return Denizen.getInstance().serverFlagMap; - } - @Override public TagContext getTagContext(ScriptContainer container) { return new BukkitTagContext(container); @@ -476,7 +470,7 @@ public FlaggableObject simpleWordToFlaggable(String word, ScriptEntry entry) { return Utilities.getEntryNPC(entry); } if (!word.contains("@")) { - Notable noted = NotableManager.getSavedObject(word); + Notable noted = NoteManager.getSavedObject(word); if (noted instanceof LocationTag) { return (LocationTag) noted; }