55import ch .njol .skript .lang .SkriptEvent ;
66import ch .njol .skript .lang .SkriptParser .ParseResult ;
77import ch .njol .skript .registrations .EventValues ;
8- import ch .njol .skript .util .Getter ;
98import com .sk89q .worldguard .session .MoveType ;
9+ import org .bukkit .entity .Player ;
10+ import org .bukkit .event .Event ;
1011import org .jetbrains .annotations .NotNull ;
1112import org .jetbrains .annotations .Nullable ;
1213import org .skriptlang .skriptworldguard .worldguard .RegionEnterLeaveEvent ;
1314import org .skriptlang .skriptworldguard .worldguard .WorldGuardRegion ;
14- import org .bukkit .entity .Player ;
15- import org .bukkit .event .Event ;
1615
1716public class EvtRegionEnterLeave extends SkriptEvent {
1817
@@ -27,24 +26,12 @@ public class EvtRegionEnterLeave extends SkriptEvent {
2726 "\t send \" You entered %region%\" " )
2827 .requiredPlugins ("WorldGuard 7" )
2928 .since ("1.0" );
30- EventValues .registerEventValue (RegionEnterLeaveEvent .class , WorldGuardRegion .class , new Getter <WorldGuardRegion , RegionEnterLeaveEvent >() {
31- @ Override
32- public WorldGuardRegion get (RegionEnterLeaveEvent event ) {
33- return event .getRegion ();
34- }
35- }, EventValues .TIME_NOW );
36- EventValues .registerEventValue (RegionEnterLeaveEvent .class , Player .class , new Getter <Player , RegionEnterLeaveEvent >() {
37- @ Override
38- public Player get (RegionEnterLeaveEvent event ) {
39- return event .getPlayer ();
40- }
41- }, EventValues .TIME_NOW );
42- EventValues .registerEventValue (RegionEnterLeaveEvent .class , MoveType .class , new Getter <MoveType , RegionEnterLeaveEvent >() {
43- @ Override
44- public MoveType get (RegionEnterLeaveEvent e ) {
45- return e .getMoveType ();
46- }
47- }, EventValues .TIME_NOW );
29+ EventValues .registerEventValue (RegionEnterLeaveEvent .class , WorldGuardRegion .class ,
30+ RegionEnterLeaveEvent ::getRegion , EventValues .TIME_NOW );
31+ EventValues .registerEventValue (RegionEnterLeaveEvent .class , Player .class ,
32+ RegionEnterLeaveEvent ::getPlayer , EventValues .TIME_NOW );
33+ EventValues .registerEventValue (RegionEnterLeaveEvent .class , MoveType .class ,
34+ RegionEnterLeaveEvent ::getMoveType , EventValues .TIME_NOW );
4835 }
4936
5037 private @ Nullable Literal <WorldGuardRegion > regions ;
@@ -59,14 +46,15 @@ public boolean init(Literal<?>[] args, int matchedPattern, @NotNull ParseResult
5946 }
6047
6148 @ Override
62- public boolean check (@ NotNull Event e ) {
63- RegionEnterLeaveEvent event = (RegionEnterLeaveEvent ) e ;
64- if (event .isEntering () != enter ) { // This is a region enter event, but we want a region leave event
49+ public boolean check (@ NotNull Event event ) {
50+ if (!(event instanceof RegionEnterLeaveEvent enterLeaveEvent ))
51+ return false ;
52+ if (enterLeaveEvent .isEntering () != enter ) { // This is a region enter event, but we want a region leave event
6553 return false ;
6654 } else if (regions == null ) { // There are no regions to check so it is valid
6755 return true ;
6856 }
69- return regions .check (event , region -> region .equals (event .getRegion ()));
57+ return regions .check (enterLeaveEvent , region -> region .equals (enterLeaveEvent .getRegion ()));
7058 }
7159
7260 @ Override
0 commit comments