88import ch .njol .skript .lang .SyntaxStringBuilder ;
99import ch .njol .util .coll .CollectionUtils ;
1010import com .destroystokyo .paper .event .entity .PreSpawnerSpawnEvent ;
11- import org .bukkit .Material ;
12- import org .bukkit .block .Block ;
1311import org .bukkit .entity .EntityType ;
1412import org .bukkit .event .Event ;
1513import org .bukkit .event .entity .EntityEvent ;
2624public class EvtSpawnerSpawn extends SkriptEvent {
2725
2826 public static void register (SyntaxRegistry registry ) {
29- Class <? extends Event >[] events = CollectionUtils .array (SpawnerSpawnEvent .class , PreSpawnerSpawnEvent . class );
30- String pattern = "[:pre] spawner spawn[ing] [of %-entitydatas%]" ;
27+ Class <? extends Event >[] events = CollectionUtils .array (SpawnerSpawnEvent .class );
28+ String pattern = "mob:mob spawner spawn[ing] [of %-entitydatas%]" ;
3129
3230 if (SpawnerUtils .IS_RUNNING_1_21 ) {
33- events = CollectionUtils .array (SpawnerSpawnEvent .class , PreSpawnerSpawnEvent . class , TrialSpawnerSpawnEvent .class );
34- pattern = "[:pre] [: trial] spawner spawn[ing] [of %-entitydatas%]" ;
31+ events = CollectionUtils .array (SpawnerSpawnEvent .class , TrialSpawnerSpawnEvent .class );
32+ pattern = "[:trial|:mob ] spawner spawn[ing] [of %-entitydatas%]" ;
3533 }
3634
3735 registry .register (BukkitRegistryKeys .EVENT , BukkitSyntaxInfos .Event .builder (EvtSpawnerSpawn .class , "Spawner Spawn" )
@@ -47,14 +45,15 @@ public static void register(SyntaxRegistry registry) {
4745 );
4846 }
4947
50- private boolean pre ;
5148 private boolean trial ;
49+ private boolean mob ;
5250 private Literal <EntityData <?>> entityDatas ;
5351
5452 @ Override
5553 public boolean init (Literal <?>[] args , int matchedPattern , ParseResult parseResult ) {
56- pre = parseResult .hasTag ("pre" );
5754 trial = parseResult .hasTag ("trial" );
55+ mob = parseResult .hasTag ("mob" );
56+ System .out .println (mob );
5857 //noinspection unchecked
5958 entityDatas = (Literal <EntityData <?>>) args [0 ];
6059 return true ;
@@ -63,12 +62,6 @@ public boolean init(Literal<?>[] args, int matchedPattern, ParseResult parseResu
6362
6463 @ Override
6564 public boolean check (Event event ) {
66- if (pre && event instanceof PreSpawnerSpawnEvent preEvent ) {
67- Block block = preEvent .getSpawnerLocation ().getBlock ();
68- if (trial && block .getType () != Material .TRIAL_SPAWNER )
69- return false ;
70- }
71-
7265 if (entityDatas != null ) {
7366 EntityType currentType = null ;
7467
@@ -90,23 +83,25 @@ public boolean check(Event event) {
9083 return false ;
9184 }
9285
93- if (pre ) {
94- return event instanceof PreSpawnerSpawnEvent ;
95- } else if (trial ) {
86+ if (trial ) {
9687 return event instanceof TrialSpawnerSpawnEvent ;
97- } else {
88+ } else if ( mob ) {
9889 return event instanceof SpawnerSpawnEvent ;
9990 }
91+
92+ return true ;
10093 }
10194
10295 @ Override
10396 public String toString (@ Nullable Event event , boolean debug ) {
10497 SyntaxStringBuilder builder = new SyntaxStringBuilder (event , debug );
10598
106- if (pre )
107- builder .append ("pre" );
108- if (trial )
99+ if (trial ) {
109100 builder .append ("trial" );
101+ } else if (mob ) {
102+ builder .append ("mob" );
103+ }
104+
110105 builder .append ("spawner spawn" );
111106 if (entityDatas != null )
112107 builder .append ("of" , entityDatas );
0 commit comments