Add TAKE_LECTERN_BOOK action.
Some checks failed
Build / build (push) Has been cancelled

This commit is contained in:
天クマ 2026-06-17 17:21:41 -03:00
commit 1fbc200936
6 changed files with 19 additions and 4 deletions

View file

@ -36,6 +36,8 @@ Triggered on `BlockBreakEvent` and `onEntityDamageByEntityEvent`, returns true w
### FORMBLOCK ### FORMBLOCK
Triggered on `BlockFormEvent` (ex. triggers when snow is formed from rain), returns true when the block being formed is in the provided list of materials. Triggered on `BlockFormEvent` (ex. triggers when snow is formed from rain), returns true when the block being formed is in the provided list of materials.
## ENDERMAN_ATTACK_PLAYER ### ENDERMAN_ATTACK_PLAYER
Triggered on `EndermanAttackPlayerEvent` (from actions other than hitting the Enderman), returns true. Triggered on `EndermanAttackPlayerEvent` (from actions other than hitting the Enderman), returns true.
### TAKE_LECTURN_BOOK
Triggered on `PlayerTakeLecturnBookEvent`, returns true.

View file

@ -5,6 +5,7 @@ import io.github.adrianvic.nemesiseye.policy.Action;
import org.bukkit.entity.HumanEntity; import org.bukkit.entity.HumanEntity;
import org.bukkit.event.block.BlockFormEvent; import org.bukkit.event.block.BlockFormEvent;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerTakeLecternBookEvent;
public class ModernEvents { public class ModernEvents {
public static void onInventoryClickEvent(InventoryClickEvent event) { public static void onInventoryClickEvent(InventoryClickEvent event) {
@ -29,4 +30,10 @@ public class ModernEvents {
boolean canceled = !Validator.can(event.getBlock().getWorld(), Action.FORMBLOCK, event); boolean canceled = !Validator.can(event.getBlock().getWorld(), Action.FORMBLOCK, event);
event.setCancelled(canceled); event.setCancelled(canceled);
} }
public static void onPlayerTakeLecternBookEvent(PlayerTakeLecternBookEvent event) {
if (!Validator.can(event.getPlayer().getWorld(), Action.TAKE_LECTERN_BOOK, event)) {
event.setCancelled(true);
}
}
} }

View file

@ -12,5 +12,6 @@ public enum Action {
GLYDE, GLYDE,
SPAWN, SPAWN,
ENDERMAN_ATTACK_PLAYER, ENDERMAN_ATTACK_PLAYER,
FORMBLOCK FORMBLOCK,
TAKE_LECTERN_BOOK
} }

View file

@ -2,7 +2,7 @@ package io.github.adrianvic.nemesiseye.policy;
import io.github.adrianvic.nemesiseye.Nemesis; import io.github.adrianvic.nemesiseye.Nemesis;
import io.github.adrianvic.nemesiseye.policy.handlers.*; import io.github.adrianvic.nemesiseye.policy.handlers.*;
import io.github.adrianvic.nemesiseye.policy.handlers.Boolean; import io.github.adrianvic.nemesiseye.policy.handlers.generic.Boolean;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -21,6 +21,7 @@ public class NodeHandlers {
handlers.put(Action.BREAK, new UseItem()); // TODO: implement place handler handlers.put(Action.BREAK, new UseItem()); // TODO: implement place handler
handlers.put(Action.INTERACTWITH, new InteractWith()); handlers.put(Action.INTERACTWITH, new InteractWith());
handlers.put(Action.ENDERMAN_ATTACK_PLAYER, new Boolean()); handlers.put(Action.ENDERMAN_ATTACK_PLAYER, new Boolean());
handlers.put(Action.TAKE_LECTERN_BOOK, new Boolean());
} }
public static NodeHandler get(Action type) { public static NodeHandler get(Action type) {

View file

@ -1,4 +1,4 @@
package io.github.adrianvic.nemesiseye.policy.handlers; package io.github.adrianvic.nemesiseye.policy.handlers.generic;
import io.github.adrianvic.nemesiseye.policy.Action; import io.github.adrianvic.nemesiseye.policy.Action;
import io.github.adrianvic.nemesiseye.policy.NodeHandler; import io.github.adrianvic.nemesiseye.policy.NodeHandler;

View file

@ -13,6 +13,7 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerTakeLecternBookEvent;
public class EventListener implements Listener { public class EventListener implements Listener {
@EventHandler @EventHandler
@ -53,4 +54,7 @@ public class EventListener implements Listener {
public void onBlockFormEvent(BlockFormEvent event) { public void onBlockFormEvent(BlockFormEvent event) {
ModernEvents.onBlockFormEvent(event); ModernEvents.onBlockFormEvent(event);
} }
@EventHandler
public void onPlayerTakeLecternBook(PlayerTakeLecternBookEvent event) { ModernEvents.onPlayerTakeLecternBookEvent(event); }
} }