macrocompile
v1.0.4
Published
Compile a macromod script and its dependencies into one large inlined script
Downloads
16
Maintainers
Readme
macrocompile
A command line tool to automatically "recompile" macromod scripts when a change in any script dependency is detected. By "compile" we refer to the process of recursive inline-replacement of dependent scripts, removal of comments and whitespace, and the obfuscation of variable names.
Installation
Using npm:
npm i macrocompile -g
Usage
From command line:
macrocompile
Or:
macrocompile -i
To only run compilation for the specified scripts once, not watching for file changes.
Configuration
You must configure the file %node_path%/npm_modules/macrocompile/config.json before running. It comes with a default set of options:
| Option | Default | Description | | ---------------- | ------- | ------------------------------------------------------------------- | | removeWhitespace | true | Controls whether whitespace is removed | | obfuscate | true | Whether variables are renamed to shorter forms | | blockFormat | true | Puts multiple statements on one line, up to a maximum width | | maxWidth | 70 | Maximum width of each combined line, except for original long lines |
As well, the scripts you wish to compile, as well as their compiled-version name, must be specified as an array of objects, and a path to your scripts folder:
"scriptsFolder":
"C:\\Users\\YOUR USERNAME HERE\\AppData\\Roaming\\.minecraft\\liteconfig\\common\\macros\\",
"scripts": [
{
"name": "digBot_source.txt",
"compiledName": "digBot.txt"
},
{
"name": "fooBot_source.txt",
"compiledName": "fooBot.txt"
}
],
Purpose
Beyond a certain level of nesting, macromod scripts develop strange bugs that arise from the script runtime agent itself. To prevent this, the script is compiled into one large file that has no external dependencies.