- Jan 20, 2018
- 1,501
- 109
- 63
- 21
Calling methods
Syntax:
Example:
Methods may be used as effects, expressions, and conditions. If used as a condition, the condition will pass as long as the return value of the method is not false, null, or 0.
Calling non-public methods
If the method you're trying to invoke is not public, you must prefix the method name with the declaring class in brackets. Since an object may have a non-public method with the same name in multiple superclasses, you must explicitly specify where to find the method.
Example:
Calling overloaded methods
Generally, skript-reflect can infer the correct overloaded method to call from the arguments passed at runtime. If you need to use a certain implementation of a method, you may append a comma separated list to the end of the method name surrounded in brackets.
Example:
Calling fields
Syntax:
Calling non-public fields
If the field you're trying to use is not public, you must prefix the field name with the declaring class in brackets. Since an object may have a non-public field with the same name in multiple superclasses, you must explicitly specify where to find the field.
Example:
Calling constructors
Syntax:
Example:
Syntax:
Code:
%object%.<method name>(%objects%)
Code:
event-block.breakNaturally()
(last spawned creeper).setPowered(true)
player.giveExpLevels({_levels})
Methods may be used as effects, expressions, and conditions. If used as a condition, the condition will pass as long as the return value of the method is not false, null, or 0.
Calling non-public methods
If the method you're trying to invoke is not public, you must prefix the method name with the declaring class in brackets. Since an object may have a non-public method with the same name in multiple superclasses, you must explicitly specify where to find the method.
Example:
Code:
{_arraylist}.[java.util.ArrayList]fastRemove(1)
# or, if you have the declaring class imported:
{_arraylist}.[ArrayList]fastRemove(1)
Calling overloaded methods
Generally, skript-reflect can infer the correct overloaded method to call from the arguments passed at runtime. If you need to use a certain implementation of a method, you may append a comma separated list to the end of the method name surrounded in brackets.
Example:
Code:
System.out.println[java.lang.Object]({_something})
# or, if you have the parameter classes imported:
System.out.println[Object]({_something})
Math.max[int, int](0, {_value})
Calling fields
Syntax:
Code:
%object%.<descriptor>
Calling non-public fields
If the field you're trying to use is not public, you must prefix the field name with the declaring class in brackets. Since an object may have a non-public field with the same name in multiple superclasses, you must explicitly specify where to find the field.
Example:
Code:
{_hashmap}.[java.util.HashMap]modCount
# or, if you have the declaring class imported:
{_hashmap}.[HashMap]modCount
Calling constructors
Syntax:
Code:
[a] new %javatype%(%objects%)
Code:
new Location(player's world, 0, 0, 0)
Last edited: