@@ -55,6 +55,34 @@ private ExprExpression(ExprExpression<?> source, Class<? extends T>... types) {
5555 this .superType = (Class <T >) Utils .getSuperType (types );
5656 }
5757
58+ @ Override
59+ public boolean init (Expression <?>[] exprs , int matchedPattern , Kleenean isDelayed ,
60+ SkriptParser .ParseResult parseResult ) {
61+ if (!getParser ().isCurrentEvent (
62+ SyntaxParseEvent .class ,
63+ ConditionCheckEvent .class ,
64+ EffectTriggerEvent .class ,
65+ EventTriggerEvent .class ,
66+ ExpressionChangeEvent .class ,
67+ ExpressionGetEvent .class
68+ )) {
69+ Skript .error ("The expression 'expression' may only be used in a custom syntax." ,
70+ ErrorQuality .SEMANTIC_ERROR );
71+ return false ;
72+ }
73+
74+ index = Utils .parseInt (parseResult .regexes .get (0 ).group (0 ));
75+ if (index <= 0 ) {
76+ Skript .error ("The expression index must be a natural number." , ErrorQuality .SEMANTIC_ERROR );
77+ return false ;
78+ }
79+ index --;
80+
81+ plural = parseResult .mark == 1 ;
82+
83+ return true ;
84+ }
85+
5886 @ Override
5987 public T getSingle (Event e ) {
6088 T [] all = getAll (e );
@@ -164,37 +192,14 @@ public void change(Event e, Object[] delta, Changer.ChangeMode mode) {
164192 throw new UnsupportedOperationException ();
165193 }
166194
167-
168195 @ Override
169196 public String toString (Event e , boolean debug ) {
170197 return "expression " + (index + 1 );
171198 }
172199
173200 @ Override
174- public boolean init (Expression <?>[] exprs , int matchedPattern , Kleenean isDelayed ,
175- SkriptParser .ParseResult parseResult ) {
176- if (!getParser ().isCurrentEvent (
177- SyntaxParseEvent .class ,
178- ConditionCheckEvent .class ,
179- EffectTriggerEvent .class ,
180- EventTriggerEvent .class ,
181- ExpressionChangeEvent .class ,
182- ExpressionGetEvent .class
183- )) {
184- Skript .error ("The expression 'expression' may only be used in a custom syntax." ,
185- ErrorQuality .SEMANTIC_ERROR );
186- return false ;
187- }
188-
189- index = Utils .parseInt (parseResult .regexes .get (0 ).group (0 ));
190- if (index <= 0 ) {
191- Skript .error ("The expression index must be a natural number." , ErrorQuality .SEMANTIC_ERROR );
192- return false ;
193- }
194- index --;
195-
196- plural = parseResult .mark == 1 ;
197-
198- return true ;
201+ public String toString () {
202+ return toString (null , false );
199203 }
204+
200205}
0 commit comments