Skip to content

Commit

Permalink
MythicKeys support
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Jan 17, 2022
1 parent 0049f61 commit cdbe1d4
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib
Submodule lib updated 1 files
+ mythickeysplugin.jar
7 changes: 7 additions & 0 deletions pom.xml
Expand Up @@ -192,6 +192,13 @@
<scope>system</scope>
<systemPath>${basedir}/lib/MobArena.jar</systemPath>
</dependency>
<dependency>
<groupId>eu.asangarin</groupId>
<artifactId>mythickeys</artifactId>
<version>1.1.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/mythickeysplugin.jar</systemPath>
</dependency>
<dependency>
<groupId>io.lumine.xikage</groupId>
<artifactId>mythicmobs</artifactId>
Expand Down
Expand Up @@ -108,6 +108,7 @@ public void registerCoreBridges() {
registerBridge("MagicSpells", () -> new MagicSpellsBridge());
registerBridge("mcMMO", () -> new McMMOBridge());
registerBridge("MobArena", () -> new MobArenaBridge());
registerBridge("MythicKeysPlugin", () -> new MythicKeysBridge());
registerBridge("MythicMobs", () -> new MythicMobsBridge());
registerBridge("NoCheatPlus", () -> new NoCheatPlusBridge());
registerBridge("NoteBlockAPI", () -> new NoteBlockAPIBridge());
Expand Down
@@ -0,0 +1,13 @@
package com.denizenscript.depenizen.bukkit.bridges;

import com.denizenscript.denizencore.events.ScriptEvent;
import com.denizenscript.depenizen.bukkit.Bridge;
import com.denizenscript.depenizen.bukkit.events.mythickeys.MythicKeysKeyPressScriptEvent;

public class MythicKeysBridge extends Bridge {

@Override
public void init() {
ScriptEvent.registerScriptEvent(MythicKeysKeyPressScriptEvent.class);
}
}
@@ -0,0 +1,78 @@
package com.denizenscript.depenizen.bukkit.events.mythickeys;

import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
import eu.asangarin.mythickeys.api.MythicKeyPressEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

public class MythicKeysKeyPressScriptEvent extends BukkitScriptEvent implements Listener {

// <--[event]
// @Events
// mythickeys key pressed
//
// @Location true
//
// @Switch id:<id> to only process the event if the specific key ID was pressed.
//
// @Triggers when a key was pressed by a client running MythicKeys, if that key is in the MythicKeys config.
//
// @Context
// <context.id> Returns the ID of the key pressed.
//
// @Player Always.
//
// @Plugin Depenizen, MythicKeys
//
// @Group Depenizen
//
// -->

public MythicKeysKeyPressScriptEvent() {
instance = this;
registerCouldMatcher("mythickeys key pressed");
registerSwitches("id");
}

public static MythicKeysKeyPressScriptEvent instance;
public MythicKeyPressEvent event;

@Override
public boolean matches(ScriptPath path) {
if (!runGenericSwitchCheck(path, "id", String.valueOf(event.getId()))) {
return false;
}
if (!runInCheck(path, event.getPlayer().getLocation())) {
return false;
}
return super.matches(path);
}

@Override
public String getName() {
return "MythicKeysKeyPressed";
}

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

@Override
public ObjectTag getContext(String name) {
if (name.equals("id")) {
return new ElementTag(event.getId());
}
return super.getContext(name);
}

@EventHandler
public void onKeyPress(MythicKeyPressEvent event) {
this.event = event;
fire(event);
}
}
1 change: 1 addition & 0 deletions src/main/resources/plugin.yml
Expand Up @@ -21,6 +21,7 @@ softdepend:
- mcMMO
- MobArena
- MythicMobs
- MythicKeysPlugin
- NoCheatPlus
- NoteBlockAPI
- OpenTerrainGenerator
Expand Down

0 comments on commit cdbe1d4

Please sign in to comment.