Skip to content

Commit a1c51ee

Browse files
authored
Add Groovy call operator to log (#323)
* allow groovy call operator for log * add example in experiments * note not to use this method in java code
1 parent 9642e6d commit a1c51ee

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

examples/postInit/custom/experiments.groovy

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
def ore_iron = ore('ingotIron')
55
def item_iron = item('minecraft:iron_ingot')
6-
log.info(item_iron in ore_iron) // true
7-
log.info(item_iron in item_iron) // true
8-
log.info(ore_iron in item_iron) // false
9-
log.info(item_iron << ore_iron) // true
10-
log.info((item_iron * 3) << ore_iron) // false
11-
log.info(ore_iron >> item_iron) // true
12-
log.info(ore_iron >> (item_iron * 3)) // false
6+
log(item_iron in ore_iron) // true
7+
log(item_iron in item_iron) // true
8+
log(ore_iron in item_iron) // false
9+
log(item_iron << ore_iron) // true
10+
log((item_iron * 3) << ore_iron) // false
11+
log(ore_iron >> item_iron) // true
12+
log(ore_iron >> (item_iron * 3)) // false
1313

1414
file('config/').eachFile { file ->
1515
println file.path

src/main/java/com/cleanroommc/groovyscript/api/GroovyLog.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,28 @@ static Msg msg(String msg, Object... args) {
5555
return GroovyLogImpl.msg(msg, args);
5656
}
5757

58+
/**
59+
* Allows Groovy to use {@code log('text')} to print an info message by using Groovy's call operator overloading.
60+
* <p>
61+
* Should be avoided in Java code.
62+
*
63+
* @see #info(String, Object...)
64+
*/
65+
default void call(String msg, Object... args) {
66+
info(msg, args);
67+
}
68+
69+
/**
70+
* Allows Groovy to use {@code log('text')} to print an info message by using Groovy's call operator overloading.
71+
* <p>
72+
* Should be avoided in Java code.
73+
*
74+
* @see #info(Object)
75+
*/
76+
default void call(Object obj) {
77+
info(obj);
78+
}
79+
5880
/**
5981
* Determines whether debug messages should be ignored.
6082
*

0 commit comments

Comments
 (0)