From caf64504245de85ce6c047fd24a00b1cc4de237e Mon Sep 17 00:00:00 2001 From: MCSamuel Date: Mon, 16 Mar 2026 08:08:23 -0700 Subject: [PATCH 1/2] Added --- .../bukkit/bridges/MagicSpellsBridge.java | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java b/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java index 6bc54dd79..928675893 100644 --- a/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java +++ b/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java @@ -1,14 +1,43 @@ package com.denizenscript.depenizen.bukkit.bridges; -import com.denizenscript.depenizen.bukkit.events.magicspells.*; -import com.denizenscript.depenizen.bukkit.properties.magicspells.MagicSpellsPlayerProperties; -import com.denizenscript.depenizen.bukkit.Bridge; import com.denizenscript.denizen.objects.PlayerTag; import com.denizenscript.denizencore.events.ScriptEvent; +import com.denizenscript.denizencore.objects.core.ElementTag; +import com.denizenscript.denizencore.objects.core.ListTag; import com.denizenscript.denizencore.objects.properties.PropertyParser; +import com.denizenscript.denizencore.tags.PseudoObjectTagBase; +import com.denizenscript.denizencore.tags.TagManager; +import com.denizenscript.depenizen.bukkit.Bridge; +import com.denizenscript.depenizen.bukkit.events.magicspells.*; +import com.denizenscript.depenizen.bukkit.properties.magicspells.MagicSpellsPlayerProperties; +import com.nisovin.magicspells.MagicSpells; public class MagicSpellsBridge extends Bridge { + static class MagicSpellsTagBase extends PseudoObjectTagBase { + + public static MagicSpellsTagBase instance; + + public MagicSpellsTagBase() { + instance = this; + TagManager.registerStaticTagBaseHandler(MagicSpellsTagBase.class, "magicspells", (t) -> instance); + } + + public void register() { + + // <--[tag] + // @attribute + // @returns ListTag + // @plugin Depenizen, MagicSpells + // @description + // Returns a list of all registered spells. + // --> + tagProcessor.registerTag(ListTag.class, "list_spells", (attribute, object) -> { + return new ListTag(MagicSpells.spells(), spell -> new ElementTag(spell.getName(), true)); + }); + } + } + @Override public void init() { PropertyParser.registerProperty(MagicSpellsPlayerProperties.class, PlayerTag.class); @@ -16,5 +45,6 @@ public void init() { ScriptEvent.registerScriptEvent(SpellCastedScriptEvent.class); ScriptEvent.registerScriptEvent(ManaChangeScriptEvent.class); ScriptEvent.registerScriptEvent(SpellLearnScriptEvent.class); + new MagicSpellsTagBase(); } } From 747ea6dda8523f9063cf3aed272f443468c2b573 Mon Sep 17 00:00:00 2001 From: MCSamuel Date: Mon, 16 Mar 2026 14:51:49 -0700 Subject: [PATCH 2/2] changed tag name --- .../depenizen/bukkit/bridges/MagicSpellsBridge.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java b/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java index 928675893..2ddd7b411 100644 --- a/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java +++ b/src/main/java/com/denizenscript/depenizen/bukkit/bridges/MagicSpellsBridge.java @@ -26,13 +26,13 @@ public MagicSpellsTagBase() { public void register() { // <--[tag] - // @attribute + // @attribute // @returns ListTag // @plugin Depenizen, MagicSpells // @description // Returns a list of all registered spells. // --> - tagProcessor.registerTag(ListTag.class, "list_spells", (attribute, object) -> { + tagProcessor.registerTag(ListTag.class, "spells", (attribute, object) -> { return new ListTag(MagicSpells.spells(), spell -> new ElementTag(spell.getName(), true)); }); }