Skip to content
A pre-processor to write Minecraft Functions more efficiently.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
src
test
.gitignore
Changelog.md
Features.md
LICENSE
README.md
Todo.md
gulpfile.js
index.js
package-lock.json
package.json
yarn.lock

README.md

mcs: Minecraft Script

npm license

A pre-processor to write Minecraft Functions more efficiently.

Try it with the Online Editor!

Check out the changelog for a list of new features!

Latest Compatible Minecraft Version: 1.12

Note: I called it Script because it has a syntax similar to JavaScript.

Documentation

Learn how to write in Minecraft Script in the Wiki.

Installation

mcs has been tested with node and as a standalone (web) script. Though it should also support CommonJS (node, browserify) and AMD (RequireJS).

Node

Installation via npm:

$ npm install mcs

> var mcs = require('mcs');
> mcs('function hello { say hello world; }');

Alternatively you can install mcs globally so that it may be run from the command line.

$ npm install mcs -g
$ mcs ./input.mcs ./output/

Standalone/Script

Add to your html

<script src="https://unpkg.com/mcs"></script>

Or include it manually

Download mcs.min.js

Add to your html

<script src="path/to/mcs.min.js"></script>

Usage

JS

var input = 'function hello { say hello world; }'
var result = mcs(input)
// result = { "_namespace": { "_type": "namespace", "hello": { "_type": "function", "value": "say hello world\n" } } }

mcs() takes one required argument, the input (string to convert), and returns a JSON object with namespaces, groups, and functions (you can differentiate them using _type).

CLI

$ mcs [input] [output (optional)]

Using mcs in the CLI takes one require argument, the input file (.mcs file), and outputs to the (optional) output directory. If no output directory is given, ./ is used.

TODO

Check out the current todo list here.

Contributing

  1. Create an issue and describe your idea
  2. Fork it
  3. Checkout this repository
  4. Install the dependencies npm install or yarn
  5. Edit the files in /src
  6. Test your changes with
# Use your own input/output
$ npm run build
$ node index.js [input] [output]


# Alternatively:
# Use test/new_syntax.mcs as input, and test/output/ as output
$ npm run test

# Build the source files AND use test/new_syntax.mcs as input, and test/output/ as output
$ npm run bnt

# Autocompile/build whenever you change the src files (instead of npm run build)
$ gulp
  1. You can also test your changes on the web by copying the dist/mcs.min.js file after building
  2. Once done, create a pull request

Authors

Made by Pandawan.
Thanks to @coolsa for contributing. Thanks to Andrew Mast and Chris Smith for helping out and providing feedback!

License

Please see the LICENSE file

mcs is not affiliated with Minecraft or Mojang AB.

You can’t perform that action at this time.