Infinite parkour is a datapack that generates parkour as you go.
Check out BCG's videos
This project uses a custom build tool OfekN made (MinecraftScript.jar)
And a updater by MrBooks36
There are a couple of batch files for you to use:
build.bat
- builds the project once.buildzip.bat
- builds the project once, will also produce a zip file.autobuild.bat
automatically builds when the code changes, doesn't create a zip file.clean.bat
deletes all generated files.
Minecraft script is a pretty simple preprocessor to help with datapack development, here are all the features:
You can declare multiple functions within a file like so
/foo
say hello world
/bar
execute as @a at @s run tp @s ~ ~1 ~
/baz
say this is another function
This produces 3 functions, each with only 1 command.
You can declare anonymous functions by nesting, the preprocessor will change it to function {namespace}:{path}/internal{n}
execute as @a run
say hello
say world
This will produce two functions:
func.mcfunction
execute as @a run function ns:func/internal0
func/internal0.mcfunction
say hello
say world
You can continue the previous command with the prefix +
, this is useful for long commands and for anonymous macros.
execute in minecraft:nether
+ positioned 100 100 100
+ as @n[type=hoglin]
+ run say Hello
execute if
execute if entity @s[tag=evil] run return 1
say I am not evil.
return 0
+ run
say I am evil!
%EMPTY%
$say $(word)
+ with storage ns:path
# %EMPTY% will be converted to nothing. The generated code will be:
# function ns:func/internal0 with storage ns:path
Currently custom macros aren't supported, there are 3 macros:
%EMPTY%
- will be converted into empty text:%FILE%
- will be converted into a function call of the filefunction <namespace>:<path>
%FUNC%
- will be converted into a function call of the functionfunction <namespace>:<path>/<innerpath>
Using the new jar, (MinecraftScriptJSON.jar) all JSON files found inside of the ./src
folder will become imported at the bottom of load.mcfunction
after every compile.
These will be inserted into storage, under the namespace used for this data pack.