@@ -92,20 +92,21 @@ public void setCancelled(boolean cancel) {
9292 }
9393 }
9494
95- private static void registerEvent (Class <? extends Event > event , EventPriority priority , boolean ignoreCancelled ) {
95+ private static void registerEvent (Class <? extends Event > event , EventPriority priority ) {
9696 PriorityListener listener = listeners [priority .ordinal ()];
9797 Set <Class <? extends Event >> events = listener .getEvents ();
9898
9999 if (!events .contains (event )) {
100100 events .add (event );
101101 Bukkit .getPluginManager ()
102- .registerEvent (event , listener , priority , executor , SkriptMirror .getInstance (), ignoreCancelled );
102+ .registerEvent (event , listener , priority , executor , SkriptMirror .getInstance (), false );
103103 }
104104
105105 }
106106
107107 private Class <? extends Event >[] classes ;
108108 private EventPriority priority ;
109+ private boolean ignoreCancelled ;
109110
110111 @ SuppressWarnings ("unchecked" )
111112 @ Override
@@ -126,18 +127,23 @@ public boolean init(Literal<?>[] args, int matchedPattern, SkriptParser.ParseRes
126127 priority = SkriptConfig .defaultEventPriority .value ();
127128 }
128129
129- boolean ignoreCancelled = (parseResult .mark & 1 ) != 1 ;
130+ ignoreCancelled = (parseResult .mark & 1 ) != 1 ;
130131
131132 for (Class <? extends Event > cls : classes ) {
132- registerEvent (cls , priority , ignoreCancelled );
133+ registerEvent (cls , priority );
133134 }
134135
135136 return true ;
136137 }
137138
138139 @ Override
139140 public boolean check (Event e ) {
140- Class <? extends Event > eventClass = ((BukkitEvent ) e ).getEvent ().getClass ();
141+ Event extractedEvent = ((BukkitEvent ) e ).getEvent ();
142+ Class <? extends Event > eventClass = extractedEvent .getClass ();
143+
144+ if (extractedEvent instanceof Cancellable && ((Cancellable ) extractedEvent ).isCancelled () && ignoreCancelled )
145+ return false ;
146+
141147 if (priority == ((BukkitEvent ) e ).getPriority ()) {
142148 for (Class <? extends Event > cls : classes ) {
143149 if (cls == eventClass ) {
0 commit comments