Skip to content

A recode of DiamondFire for Minestom [community edition]

Notifications You must be signed in to change notification settings

CNK12321/hyperstomCNKTestBracnh

 
 

Repository files navigation

Hyperstom

What is this?

Hyperstom is an open-source take on DiamondFire written using Minestom and Kotlin. A public instance is hosted at hyperstom.infernity.dev

Notable Features

Warning Most of these features are not implemented yet, as Hyperstom is under development.

World Plots

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.

Functional Paradigm

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

Advanced Types

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.

Runtime Errors

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.

Hosting a Local Instance

You can host a local instance of Hyperstom by doing the following:

Building from Source

  1. Clone the repository locally
  2. Make sure you have the needed dependencies installed (Kotlin & Gradle).
  3. Create the ./worlds directory. This is where plots will get stored.
  4. Run ./gradlew run
  5. A local instance is now hosted at 127.0.0.1:25565.

Using a JAR Download

Alternatively, you can download a JAR from us.

  1. Go to our GitHub releases page and install the latest version.
  2. Create the ./worlds directory in the JAR's folder.
  3. Run it with java -jar emeraldwater.jar
  4. A local instance is now hosted at 127.0.0.1:25565.

About

A recode of DiamondFire for Minestom [community edition]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%