shulker 0.1.0

A programming language designed for the DiamondFire Minecraft server.
shulker-0.1.0 is not a library.

Blackstone

Blackstone is a programming language designed to help create plots on the MCDiamondFire Minecraft server.

Community Links

Discord DF Website For ease of use with Blackstone, we recommend downloading the Recode Mod.

Installation

Building from Source

You can install the compiler using the Cargo toolchain.

cargo install shulker

It will automatically handle building from source for you.

Releases Page

You can also install it through our Releases page on the sidebar. During official releases, we will compile binaries for Windows & Linux.

Features

Code Blocks

  • Player Event
  • Player Action
  • If Player
  • Entity Event
  • Entity Action
  • If Entity
  • Game Action
  • If Game
  • Set Variable
  • If Variable
  • Repeat
  • Function
  • Call Function
  • Process
  • Start Process
  • Else
  • Select Object
  • NOT Functionality

Values

  • Items (Vanilla, not customizable)
  • Text
  • Number
  • Variable
  • Location
  • Sound
  • Vector
  • Sound
  • Particle
  • Potion
  • Game Value

Bonus / Planned Features

  • Function Parameters
  • Object-Oriented Programming
  • Compiler-Enforced Strong Typing
  • Tests
  • Customizable Items

Note that none of the bonus features are guaranteed to be implemented. We do think they would be useful, though.

Shulker / Compiler Commands

  • version
  • init
  • build (script)
  • build-all
  • build-stdout (script)
  • build_test
  • add (package)

DFS Suggestions

None yet! Let us know if there's some cool ones you'd like to see in our Discord!

Special Thanks

todo!()

Documentation

All code must be inside an Event, Function, or Procedure. Here's some basic examples:

playerEvent(Join) {
    //supports comments too!
    default.sendMessage("Hello world!");
}

func FunnyFunction {
    // variables must be manually scoped - local, game, or save
    var game.joke = "Among us";
    // defaults to local
    var list = ["a", "b", "c"];
    // default.sendMessage(...) == print(...)
    default.sendMessage(joke);
}