The Meaning of Life, the Universe, and Everything.
Join Date:
8/18/2011
Posts:
45
Member Details
Hi everyone! Since Minecraft 1.9 changed commandblocks immensly I came up with this completely new programming language I'll call MPL.
Although this is still not finished, the features that are implemented already work very well.
The project is writen in Java, is open source and hosted on GitHub. The Github-Wiki even contains a minimalistic tutorial.
Here you can see a small demo program:
The basic idea is that you can define multiple processes and call them via start.
Every process can be either repeating or impulse and relates to a command chain.
With waitfor you can wait for another process to call notify.
With stop you can stop a repeating process or the process you are currently in if you don't provide a name.
With intercept you can redirect process calls (start) to somewhere else.
Every command can have modifers like impulse, repeat, conditional, needs redstone and invert.
There is also support for if and else, although nested if's are not under test yet:
The system that will be generated can be imported into minecraft via one commandblock.
To use the system you first have to install it. This can be done by placing a redstone block next to the lower commandblock at the lowest x and z coordinates. I will probably add json signs for convenience later.
Similary you can uninstall a system by placing a redstoneblock next to the commandblock above the installation commandblock.
To start a process you need to execute a command like this: /ececute @e[name=my_process_name] ~ ~ ~ /setblock ~ ~ ~ redstone_block
If you want to try it for yourself, here are a few more samples!
Please remember that this is still in an early state and contains a few bugs.
Any feedback, especially regarding the syntax and useability would be greatly appreciated!
Known bugs:
* Undo/redo can crash the application
Fixed bugs:
* Sometimes the generated commands produce unwanted loops
Planned:
* loops
* Debug mode where you can set breakpoints
* The option of delegating waitfor to another process
It is completed in the sence, that it is fully functional and super awesome. I might still add some features in the future.
Because of the size of aperturecraft vanilla it does not fit into a single command and I didn't feel like splitting it into 5 commands or something like that.
It is completed in the sence, that it is fully functional and super awesome. I might still add some features in the future.
Because of the size of aperturecraft vanilla it does not fit into a single command and I didn't feel like splitting it into 5 commands or something like that.
Oh man really like the idea!! I want to see it soon!
You know that you are lazy when you do a program to write a program
Haha I love that saying!!! I really am lazy in that regard.
You can already try it out. The only really bad bugs are that nested if doesn't work and if you use processes there is a slight chance to create loops.
But there are a lot of features planned (besides the bug fixes of course).
If you try it out, make sure to leave me all your suggestions!!!
As in if you don't decide to add naming the blocks as a command, just rename them to the name of the file.
Ah yea I might do that, but this will use up more characters of the one command that get's generated.
On the other hand most real Programs don't use /say anyway and /tellraw doesn't use the name of the command,
so do you really think anyone would use that feature?
How do you imagine the Syntax for renaming a command block?
For example how would you rename the following commandblock to "I am a command block":
Ah yea I might do that, but this will use up more characters of the one command that get's generated.
On the other hand most real Programs don't use /say anyway and /tellraw doesn't use the name of the command,
so do you really think anyone would use that feature?
How do you imagine the Syntax for renaming a command block?
For example how would you rename the following commandblock to "I am a command block":
repeat, always active: /say I can say something
It would probably be part of each process declaration.
Unless tellraw can print text, then yes, many people use CMD block "say" for their commands. (E.g. crafting instructions for 1CMD VMods)
Hi everyone! Since Minecraft 1.9 changed commandblocks immensly I came up with this completely new programming language I'll call MPL.
Although this is still not finished, the features that are implemented already work very well.
The project is writen in Java, is open source and hosted on GitHub. The Github-Wiki even contains a minimalistic tutorial.
Here you can see a small demo program:
The basic idea is that you can define multiple processes and call them via start.
Every process can be either repeating or impulse and relates to a command chain.
With waitfor you can wait for another process to call notify.
With stop you can stop a repeating process or the process you are currently in if you don't provide a name.
With intercept you can redirect process calls (start) to somewhere else.
Every command can have modifers like impulse, repeat, conditional, needs redstone and invert.
There is also support for if and else, although nested if's are not under test yet:
The system that will be generated can be imported into minecraft via one commandblock.
To use the system you first have to install it. This can be done by placing a redstone block next to the lower commandblock at the lowest x and z coordinates. I will probably add json signs for convenience later.
Similary you can uninstall a system by placing a redstoneblock next to the commandblock above the installation commandblock.
To start a process you need to execute a command like this: /ececute @e[name=my_process_name] ~ ~ ~ /setblock ~ ~ ~ redstone_block
If you want to try it for yourself, here are a few more samples!
Please remember that this is still in an early state and contains a few bugs.
Any feedback, especially regarding the syntax and useability would be greatly appreciated!
Known bugs:
* Undo/redo can crash the application
Fixed bugs:
* Sometimes the generated commands produce unwanted loops
Planned:
* loops
* Debug mode where you can set breakpoints
* The option of delegating waitfor to another process
* A complete documentation on Github
AWESOME WORK WOW NICE JOB BUDS I CAN DO MUCH WORK WITH THIS EASILY, ILL try this out today!
Thank you very much! So how did it go? Are there any improvements you would suggest?
kinda like a better tutorial for it... i mean i coudnt program much with it coz i didnt understand it properly
Working on that!
Is ApertureCraftVanilla completed yet? If so, what's the result one command? .
nice
It is completed in the sence, that it is fully functional and super awesome. I might still add some features in the future.
Because of the size of aperturecraft vanilla it does not fit into a single command and I didn't feel like splitting it into 5 commands or something like that.
Instead there is a world/schematic that can be downloaded from github: https://github.com/Adrodoc55/ApertureCraftVanilla/releases
what is apertureCraftVanilla?
look here: http://www.minecraftforum.net/forums/minecraft-discussion/redstone-discussion-and/redstone-creations/2335586-portal-gun-in-vanilla-minecraft-aperturecraft
I'd recommend adding support for naming the command blocks for the "say" commands and/or having it default to the program name.
Naming the commandblocks is a good idea, but what do you mean with having a default for the program name?
Oh man really like the idea!! I want to see it soon!
You know that you are lazy when you do a program to write a program
Haha I love that saying!!! I really am lazy in that regard.
You can already try it out. The only really bad bugs are that nested if doesn't work and if you use processes there is a slight chance to create loops.
But there are a lot of features planned (besides the bug fixes of course).
If you try it out, make sure to leave me all your suggestions!!!
As in if you don't decide to add naming the blocks as a command, just rename them to the name of the file.
Ah yea I might do that, but this will use up more characters of the one command that get's generated.
On the other hand most real Programs don't use /say anyway and /tellraw doesn't use the name of the command,
so do you really think anyone would use that feature?
How do you imagine the Syntax for renaming a command block?
For example how would you rename the following commandblock to "I am a command block":
repeat, always active: /say I can say something
It would probably be part of each process declaration.
Unless tellraw can print text, then yes, many people use CMD block "say" for their commands. (E.g. crafting instructions for 1CMD VMods)