Skip to main content

 Radon

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

Radon code

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] // this is c[2] which is 3

// To run commands just type them:
say hi

// Multi line commands are available, you can break the new line character with backslash:
execute       \
  as @a       \
  at @s       \
  run say hi

// If you want to define a variable with no initial value you just do this:
define int my_var

a += c[2] - (d[0][1] * 10) / (d[1][2] + 7) // Supports mathematical expressions

// You can break lines in expressions too!
val = 10 + \
 5 - 4 * \
 a + 5

fl = 10.5
fl += 5.23

a:@s = 10 // sets it for @s

a:@s // gets it from @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 {
    // This will run every tick
}

as @p at @s {
}

if (a == 1) {
} else if (a == 2) {
} else {
}

// Some more syntactic sugar for readability! (Optional)
if (a is 1 or b is 5) {

}

unless (a == 1) { // This is a shortcut for: if (a == 1) {} else { say hi }
  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)

// break and continue can be used in any loop like this:

loop {
    if (a == 1) break // Exits the loop
    if (a == 2) continue // Stops the loop and restarts from the first line of the loop
}

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) // it's 51

Metadata

Release files for radonmc 2.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for radonmc 2.2.5
File Size Uploaded Provenance Actions
radonmc-2.2.5.tar.gz 57.5 kB Without provenance Details for radonmc-2.2.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for radonmc 2.2.5
File Interpreter ABI Platform Actions
radonmc-2.2.5-py3-none-any.whl Python 3 none any Details for radonmc-2.2.5-py3-none-any.whl

Total release size: 120.8 kB

Release files / radonmc-2.2.5.tar.gz

Download URL radonmc-2.2.5.tar.gz
Size 57.5 kB
Tags Source
SHA-256 checksum
How to use checksums
51142878659eebe51e6b57561b8c3c954940f9d251482e1d924870adcaa8d884
BLAKE2b-256 checksum
How to use checksums
899cc52b1acc5d33f79f2d6f7bb2c3d3ec5c26c297220fd293d41bc9dfdb4fcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release files / radonmc-2.2.5-py3-none-any.whl

Download URL radonmc-2.2.5-py3-none-any.whl
Size 63.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e27ecedbfa51ea023606d21d100bf462db9d8c936aa660379226a8a854c14e2
BLAKE2b-256 checksum
How to use checksums
807aa34fe344a29802161374c1b59392b6a0269dbeb23cadcf460abfdda7ea0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Security for radonmc 2.2.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.2.5 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page