Radon
Radon is a programming language that gets compiled to Minecraft: Java Edition's mcfunction files.

Discord Server

Documentation
Documentation is available on GitHub Pages.
Usage
First install the package using:
pip install radonmc
Now run radon
while being inside your datapack's folder and that's it!
Syntax
a = 10
a += 10
a -= 10
a *= 10
a /= 10
a++
a--
b = 10.5
c = [1, 2, 3]
d = [c, c, c]
e = {"myKey": a, "myOtherKey": c, "myOtherOtherKey": d}
e.myOtherOtherKey[0][2]
say hi
execute \
as @a \
at @s \
run say hi
define int my_var
a += c[2] - (d[0][1] * 10) / (d[1][2] + 7)
val = 10 + \
5 - 4 * \
a + 5
fl = 10.5
fl += 5.23
a:@s = 10
a:@s
fn my_func(float x, float y, float z) {
tp @a $(x) $(y) $(z)
return x + y + z
}
my_func(1.3, 2.7, 3.3)
fn tick {
}
as @p at @s {
}
if (a == 1) {
} else if (a == 2) {
} else {
}
if (a is 1 or b is 5) {
}
unless (a == 1) {
say hi
}
schedule 1t {
}
loop {
}
for (i = 0; i < 10; i++) {
}
while (a == 1) {
}
until (a == 1) {
}
do {
} while (a == 1)
do {
} until (a == 1)
loop 1t {
}
for 1t (i = 0; i < 10; i++) {
}
while 1t (a == 1) {
}
until 1t (a == 1) {
}
do {
} while 1t (a == 1)
do {
} until 1t (a == 1)
loop {
if (a == 1) break
if (a == 2) continue
}
class MyClass {
a = 10
b = [1, 2, 3]
MyClass(int a) {
this.a = a
this.b[0] = 5
}
increaseTheA() {
this.a++
}
}
myInstance = MyClass(50)
myInstance.increaseTheA()
print(myInstance.a)