SpadeMC / Spade

A programming language for Minecraft commands

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spade logo

Ever wanted to do something crazy with command blocks but the notation seemed too horrendous? Ever wanted to make an adventure map which reacts to events? Ever wanted to write code which uses both Minecraft commands and a server plugin?

If so, Spade may help! Spade is an approachable programming language which can compile down to both mcfunctions, and Java, making it much easier to take total and unquestionable command of all parts of your Minecraft world.

Features

  • A simple, unified syntax with similarities to other common languages
  • Syntactic sugaring to allow useful tasks to be used by the programmer with minimal effort
  • A strict type-system to catch errors before runtime and without affecting performance (better than Java)
  • A single language which can be run both on the server and client sides
  • A compiler that can run on any common operating system (Windows, MacOS and Linux)

Installation

Download (Super Easy)

We maintain installers for Windows, MacOS and Linux on our releases page.

Build from Scratch (Hard, just for development)

If you'd like to build directly from the source code, you will need a number of smaller tools. Whip up the terminal, and make sure the following are installed:

  • git distributed version-control system
  • stack build tool for Haskell
  • make GNU generic build system
  • alex Haskell lexical analyser generator
  • happy Haskell parser generator
  • m4 GNU macro language
  • stylish-haskell Haskell code formatter
  • hlint Haskell linter
  • refactor Haskell linter auto fixing

Then, download our code and compile it:

git clone --recurse-submodules https://github.com/SpadeMC/Spade
cd Spade
make

Once this succeeds, the compiler can be run:

./spade

Use ./spade --help to get more help.

To install, run:

make install

Et voilĂ ! One (custom) version of spade.

License

Spade is developed under the MIT license.

Authors

Ed and Josh have been playing Minecraft since 2012 and probably need to go outside more. We are both Computer Scientists whose specialisms include formal languages and systems development, compiler design and programming language principles.

We are not affiliated with Mojang AB.

About

A programming language for Minecraft commands

License:MIT License


Languages

Language:Haskell 86.9%Language:Makefile 11.6%Language:M4 1.5%