File tree Expand file tree Collapse file tree
api/src/main/java/fr/jamailun/ultimatespellsystem/api/bind
plugin/src/main/java/fr/jamailun/ultimatespellsystem/plugin/listeners Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -43,7 +43,13 @@ public enum ItemBindTrigger {
4343 /**
4444 * Player sneaking.
4545 */
46- SNEAK ;
46+ SNEAK ,
47+
48+ /**
49+ * Bow shoot with max power.
50+ */
51+ BOW_SHOOT_POWER ,
52+ ;
4753
4854 private final Set <ItemBindTrigger > children ;
4955
Original file line number Diff line number Diff line change 99import org .bukkit .event .EventPriority ;
1010import org .bukkit .event .Listener ;
1111import org .bukkit .event .entity .EntityDamageByEntityEvent ;
12+ import org .bukkit .event .entity .EntityShootBowEvent ;
1213import org .jetbrains .annotations .NotNull ;
1314
1415/**
1516 * Listen to attacks and trigger when required.
1617 */
1718public class AttackListener implements Listener {
1819
19- @ EventHandler (priority = EventPriority .HIGH )
20+ @ EventHandler (priority = EventPriority .HIGH , ignoreCancelled = true )
2021 void playerLeftClick (@ NotNull EntityDamageByEntityEvent event ) {
2122 if (!(event .getDamager () instanceof Player player ))
2223 return ;
@@ -27,4 +28,15 @@ void playerLeftClick(@NotNull EntityDamageByEntityEvent event) {
2728 }
2829 }
2930
31+ @ EventHandler (priority = EventPriority .HIGH , ignoreCancelled = true )
32+ void playerBowShoot (@ NotNull EntityShootBowEvent event ) {
33+ if (!(event .getEntity () instanceof Player player ))
34+ return ;
35+ if (event .getForce () < 1.0 )
36+ return ;
37+
38+ // Never cancel bow
39+ UltimateSpellSystem .getSpellsTriggerManager ().action (player , ItemBindTrigger .BOW_SHOOT_POWER );
40+ }
41+
3042}
You can’t perform that action at this time.
0 commit comments