Hyperstom is an open-source take on DiamondFire written using
Minestom and Kotlin. A public instance is hosted at hyperstom.infernity.dev
Warning Most of these features are not implemented yet, as Hyperstom is under development.
Each plot is hosted using 2 Minestom Instances - one for the coding area, and one for the building area. The building area sizes will include 128x128, 256x256, and 512x512. The coding area sizes will remain 20x128, but will have plenty of vertical area.
Hyperstom focuses in on the functional paradigm - this includes extra special features such as:
- Immutable Variables are variables that can not be changed after they are declared
- Higher-Order Functions are functions as arguments to other functions or codeblocks
Hyperstom introduces a few new types:
- Expressions allow you to easily get, interpolate, and change the types of values through your code.
- Functions are references to functions, described above.
- Iterators allow you to use the
Set Variable: Next Iteration
code action on them to get the next item in the list of values they iterate over. Iterators replace Lists. - Exceptions are errors thrown during the runtime of your code. See below for more information.
Hyperstom also throws errors during runtime if you do invalid actions such as:
- A codeblock with an invalid action
- Invalid arguments passed to a function or codeblock
- Illegal accesses to lists or dictionaries
- And more! These exceptions can be caught using the Try and Catch codeblocks.
You can host a local instance of Hyperstom by doing the following:
- Clone the repository locally
- Make sure you have the needed dependencies installed (Kotlin & Gradle).
- Create the
./worlds
directory. This is where plots will get stored. - Run
./gradlew run
- A local instance is now hosted at
127.0.0.1:25565
.
Alternatively, you can download a JAR from us.
- Go to our GitHub releases page and install the latest version.
- Create the
./worlds
directory in the JAR's folder. - Run it with
java -jar emeraldwater.jar
- A local instance is now hosted at
127.0.0.1:25565
.