mirror of
https://github.com/asofold/CompatNoCheatPlus.git
synced 2024-11-27 12:45:18 +01:00
Merge pull request #9 from TheComputerGeek2/master
Magicspells compatibility
This commit is contained in:
commit
37487f0dbe
@ -19,6 +19,7 @@ import me.asofold.bpl.cncp.hooks.generic.HookBlockPlace;
|
|||||||
import me.asofold.bpl.cncp.hooks.generic.HookEntityDamageByEntity;
|
import me.asofold.bpl.cncp.hooks.generic.HookEntityDamageByEntity;
|
||||||
import me.asofold.bpl.cncp.hooks.generic.HookInstaBreak;
|
import me.asofold.bpl.cncp.hooks.generic.HookInstaBreak;
|
||||||
import me.asofold.bpl.cncp.hooks.generic.HookPlayerClass;
|
import me.asofold.bpl.cncp.hooks.generic.HookPlayerClass;
|
||||||
|
import me.asofold.bpl.cncp.hooks.generic.HookPlayerInteract;
|
||||||
import me.asofold.bpl.cncp.utils.TickTask2;
|
import me.asofold.bpl.cncp.utils.TickTask2;
|
||||||
import me.asofold.bpl.cncp.utils.Utils;
|
import me.asofold.bpl.cncp.utils.Utils;
|
||||||
|
|
||||||
@ -194,6 +195,7 @@ public class CompatNoCheatPlus extends JavaPlugin implements Listener {
|
|||||||
new HookBlockPlace(),
|
new HookBlockPlace(),
|
||||||
new HookInstaBreak(),
|
new HookInstaBreak(),
|
||||||
new HookEntityDamageByEntity(),
|
new HookEntityDamageByEntity(),
|
||||||
|
new HookPlayerInteract()
|
||||||
}){
|
}){
|
||||||
builtinHooks.add(hook);
|
builtinHooks.add(hook);
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,8 @@ public class HookBlockBreak extends ClassExemptionHook implements Listener {
|
|||||||
"ArtificialBlockBreakEvent",
|
"ArtificialBlockBreakEvent",
|
||||||
// mcMMO
|
// mcMMO
|
||||||
"FakeBlockBreakEvent",
|
"FakeBlockBreakEvent",
|
||||||
|
// MagicSpells
|
||||||
|
"MagicSpellsBlockBreakEvent"
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,9 @@ public class HookBlockPlace extends ClassExemptionHook implements Listener{
|
|||||||
super("block-place.");
|
super("block-place.");
|
||||||
defaultClasses.addAll(Arrays.asList(new String[]{
|
defaultClasses.addAll(Arrays.asList(new String[]{
|
||||||
// MachinaCraft
|
// MachinaCraft
|
||||||
"ArtificialBlockPlaceEvent"
|
"ArtificialBlockPlaceEvent",
|
||||||
|
// MagicSpells
|
||||||
|
"MagicSpellsBlockPlaceEvent"
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,9 @@ public class HookEntityDamageByEntity extends ClassExemptionHook implements
|
|||||||
super("entity-damage-by-entity.");
|
super("entity-damage-by-entity.");
|
||||||
defaultClasses.addAll(Arrays.asList(new String[] {
|
defaultClasses.addAll(Arrays.asList(new String[] {
|
||||||
// CrackShot
|
// CrackShot
|
||||||
"WeaponDamageEntityEvent", }));
|
"WeaponDamageEntityEvent",
|
||||||
|
// MagicSpells
|
||||||
|
"MagicSpellsEntityDamageByEntityEvent" }));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,58 @@
|
|||||||
|
package me.asofold.bpl.cncp.hooks.generic;
|
||||||
|
|
||||||
|
import fr.neatmonster.nocheatplus.checks.CheckType;
|
||||||
|
import me.asofold.bpl.cncp.config.compatlayer.CompatConfig;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wrap player interact events to exempt players from checks by comparison of event class names.
|
||||||
|
* Uses mc_dev's format for exemption based upon class names.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class HookPlayerInteract extends ClassExemptionHook implements Listener{
|
||||||
|
|
||||||
|
public HookPlayerInteract() {
|
||||||
|
super("player-interact.");
|
||||||
|
defaultClasses.addAll(Arrays.asList(new String[]{
|
||||||
|
// MagicSpells
|
||||||
|
"MagicSpellsPlayerInteractEvent"
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getHookName() {
|
||||||
|
return "Interact(default)";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getHookVersion() {
|
||||||
|
return "1.0";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Listener[] getListeners() {
|
||||||
|
return new Listener[]{this};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void applyConfig(CompatConfig cfg, String prefix) {
|
||||||
|
super.applyConfig(cfg, prefix);
|
||||||
|
if (classes.isEmpty()) enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.LOWEST)
|
||||||
|
final void onPlayerInteractLowest(final PlayerInteractEvent event){
|
||||||
|
checkExempt(event.getPlayer(), event.getClass(), CheckType.BLOCKINTERACT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
|
final void onPlayerInteractMonitor(final PlayerInteractEvent event){
|
||||||
|
checkUnexempt(event.getPlayer(), event.getClass(), CheckType.BLOCKINTERACT);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user