Skip to content

SkillAPI updated to Fabled #448

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Docs/BukkitPlugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Supported Plugins: (And the sources we acquired Jar files from.)
- CrackShot (https://www.spigotmc.org/resources/crackshot-guns.48301/)
- EffectLib (https://dev.bukkit.org/projects/effectlib)
- EssentialsX (https://www.spigotmc.org/resources/essentialsx.9089/)
- Fabled (https://www.spigotmc.org/resources/fabled-an-rpg-engine-by-magemonkey-studio-formerly-proskillapi.91913/)
- Factions (https://www.spigotmc.org/resources/factions3-for-1-13.63602/)
- GriefPrevention (https://www.spigotmc.org/resources/griefprevention.1884/)
- Jobs Reborn (https://www.spigotmc.org/resources/jobs-reborn.4216/)
Expand All @@ -35,7 +36,6 @@ Supported Plugins: (And the sources we acquired Jar files from.)
- Residence (https://zrips.net/Residence/)
- Sentinel (https://www.spigotmc.org/resources/sentinel.22017/)
- ShopKeepers (https://www.spigotmc.org/resources/shopkeepers.80756/)
- SkillAPI (http://dev.bukkit.org/bukkit-plugins/skillapi/)
- TerrainControl/OpenTerrainGenerator (https://github.com/PG85/OpenTerrainGenerator)
- Towny (https://github.com/TownyAdvanced/Towny)
- TownyChat (https://github.com/TownyAdvanced/Towny)
Expand Down
14 changes: 7 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,13 @@
<scope>system</scope>
<systemPath>${basedir}/lib/EssentialsX.jar</systemPath>
</dependency>
<dependency>
<groupId>studio.magemonkey</groupId>
<artifactId>fabled</artifactId>
<version>1.0.4-R0.52-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${basedir}/lib/Fabled.jar</systemPath>
</dependency>
<dependency>
<groupId>com.massivecraft</groupId>
<artifactId>MassiveCore</artifactId>
Expand Down Expand Up @@ -316,13 +323,6 @@
<scope>system</scope>
<systemPath>${basedir}/lib/Shopkeepers.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sucy</groupId>
<artifactId>SkillAPI</artifactId>
<version>3.37</version>
<scope>system</scope>
<systemPath>${basedir}/lib/SkillAPI.jar</systemPath>
</dependency>
<dependency>
<groupId>com.khorn</groupId>
<artifactId>TerrainControl</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ public void registerCoreBridges() {
registerBridge("CrackShot", () -> new CrackShotBridge());
registerBridge("EffectLib", () -> new EffectLibBridge());
registerBridge("Essentials", () -> new EssentialsBridge());
registerBridge("Fabled", () -> new FabledBridge());
registerBridge("Factions", () -> new FactionsBridge());
registerBridge("GriefPrevention", () -> new GriefPreventionBridge());
registerBridge("Jobs", () -> new JobsBridge());
Expand All @@ -150,7 +151,6 @@ public void registerCoreBridges() {
registerBridge("Residence", () -> new ResidenceBridge());
registerBridge("Sentinel", () -> new SentinelBridge());
registerBridge("Shopkeepers", () -> new ShopkeepersBridge());
registerBridge("SkillAPI", () -> new SkillAPIBridge());
registerBridge("TerrainControl", () -> new TerrainControlBridge());
registerBridge("Towny", () -> new TownyBridge());
registerBridge("TownyChat", () -> new TownyChatBridge());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.denizenscript.depenizen.bukkit.bridges;

import com.denizenscript.denizencore.tags.TagManager;
import com.denizenscript.depenizen.bukkit.properties.fabled.FabledPlayerExtensions;
import com.denizenscript.depenizen.bukkit.Bridge;
import com.denizenscript.depenizen.bukkit.events.fabled.*;
import com.denizenscript.depenizen.bukkit.objects.fabled.FabledClassTag;
import com.denizenscript.denizencore.events.ScriptEvent;
import com.denizenscript.denizencore.objects.ObjectFetcher;

public class FabledBridge extends Bridge {

@Override
public void init() {
ObjectFetcher.registerWithObjectFetcher(FabledClassTag.class, FabledClassTag.tagProcessor);
FabledPlayerExtensions.register();
ScriptEvent.registerScriptEvent(FabledPlayerUnlocksSkillScriptEvent.class);
ScriptEvent.registerScriptEvent(FabledPlayerUpgradesSkillScriptEvent.class);
ScriptEvent.registerScriptEvent(FabledPlayerDowngradesSkillScriptEvent.class);
ScriptEvent.registerScriptEvent(FabledPlayerLevelsUpScriptEvent.class);

// <--[tag]
// @attribute <fabledclass[<class>]>
// @returns FabledClassTag
// @plugin Depenizen, Fabled
// @description
// Returns the fabledclass tag with the given name.
// Refer to <@link objecttype FabledClassTag> for more information.
// -->
TagManager.registerTagHandler(FabledClassTag.class, FabledClassTag.class, "fabledclass", (attribute, param) -> {
return param;
});
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package com.denizenscript.depenizen.bukkit.events.fabled;

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.scripts.ScriptEntryData;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import studio.magemonkey.fabled.api.event.PlayerSkillDowngradeEvent;

public class FabledPlayerDowngradesSkillScriptEvent extends BukkitScriptEvent implements Listener {

// <--[event]
// @Events
// fabled player downgrades
//
// @Location true
//
// @Cancellable true
//
// @Triggers when a player downgrades a skill in Fabled.
//
// @Switch skill:<skill> to only process the event if the skill matches the specified matcher.
//
// @Context
// <context.level> returns the level the player went down to.
// <context.refund> returns how much the player was refunded.
// <context.skill> returns the name of the skill downgraded.
//
// @Plugin Depenizen, Fabled
//
// @Player Always.
//
// @Group Depenizen
//
// -->

public FabledPlayerDowngradesSkillScriptEvent() {
registerCouldMatcher("fabled player downgrades");
}

public PlayerSkillDowngradeEvent event;

@Override
public boolean matches(ScriptPath path) {
if (!runGenericSwitchCheck(path, "skill", event.getDowngradedSkill().toString())) {
return false;
}
if (!runInCheck(path, event.getPlayerData().getPlayer().getLocation())) {
return false;
}
return super.matches(path);
}

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(event.getPlayerData().getPlayer());
}

@Override
public ObjectTag getContext(String name) {
return switch (name) {
case "level" -> new ElementTag(event.getDowngradedSkill().getLevel());
case "refund" -> new ElementTag(event.getRefund());
case "skill" -> new ElementTag(event.getDowngradedSkill().getData().getName(), true);
default -> super.getContext(name);
};
}

@EventHandler
public void onFabledPlayerDowngradesSkill(PlayerSkillDowngradeEvent event) {
this.event = event;
fire(event);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package com.denizenscript.depenizen.bukkit.events.fabled;

import com.denizenscript.depenizen.bukkit.objects.fabled.FabledClassTag;
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.scripts.ScriptEntryData;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import studio.magemonkey.fabled.api.event.PlayerLevelUpEvent;

public class FabledPlayerLevelsUpScriptEvent extends BukkitScriptEvent implements Listener {

// <--[event]
// @Events
// fabled player levels up
//
// @Location true
//
// @Triggers when a player levels up in Fabled.
//
// @Context
// <context.level> returns the level the player went up to.
// <context.gained> returns how many levels the player gained.
// <context.class> returns the FabledClass the player is leveling up in.
//
// @Plugin Depenizen, Fabled
//
// @Player Always.
//
// @Group Depenizen
//
// -->

public FabledPlayerLevelsUpScriptEvent() {
registerCouldMatcher("fabled player levels up");
}

public PlayerLevelUpEvent event;

@Override
public boolean matches(ScriptPath path) {
if (!runInCheck(path, event.getPlayerData().getPlayer().getLocation())) {
return false;
}
return super.matches(path);
}

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(event.getPlayerData().getPlayer());
}

@Override
public ObjectTag getContext(String name) {
return switch (name) {
case "level" -> new ElementTag(event.getLevel());
case "gained" -> new ElementTag(event.getAmount());
case "class" -> new FabledClassTag(event.getPlayerClass().getData());
default -> super.getContext(name);
};
}

@EventHandler
public void onFabledPlayerLevelsUp(PlayerLevelUpEvent event) {
this.event = event;
fire(event);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package com.denizenscript.depenizen.bukkit.events.fabled;

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.scripts.ScriptEntryData;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import studio.magemonkey.fabled.api.event.PlayerSkillUnlockEvent;

public class FabledPlayerUnlocksSkillScriptEvent extends BukkitScriptEvent implements Listener {

// <--[event]
// @Events
// fabled player unlocks skill
//
// @Location true
//
// @Triggers when a player unlocks a skill in Fabled.
//
// @Switch name:<skill> to only process the event if the skill matches the specified matcher.
//
// @Context
// <context.skill> returns the name of the skill unlocked.
//
// @Plugin Depenizen, Fabled
//
// @Player Always.
//
// @Group Depenizen
//
// -->

public FabledPlayerUnlocksSkillScriptEvent() {
registerCouldMatcher("fabled player unlocks skill");
}

public PlayerSkillUnlockEvent event;

@Override
public boolean matches(ScriptPath path) {
if (!runGenericSwitchCheck(path, "name", event.getUnlockedSkill().toString())) {
return false;
}
if (!runInCheck(path, event.getPlayerData().getPlayer().getLocation())) {
return false;
}
return super.matches(path);
}

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(event.getPlayerData().getPlayer());
}

@Override
public ObjectTag getContext(String name) {
return switch (name) {
case "skill" -> new ElementTag(event.getUnlockedSkill().getData().getName(), true);
default -> super.getContext(name);
};
}

@EventHandler
public void onFabledPlayerUnlocksSkill(PlayerSkillUnlockEvent event) {
this.event = event;
fire(event);
}
}
Loading