[WIP] PluginMaker

Hello everyone! This is my submission to the plugin competition, PluginMaker. In short, PluginMaker turns Minecraft into a makeshift development environment for any kind of Java program.
The code is kept in a sort of sandbox,where each player’s code is separated, player’s can’t edit each other’s code. And a player’s sandbox is cleared when the plugin is successfully compiled into a working jarfile.

Commands:

  • /pm add <code> - Adds a line of code to the end of your sandbox
  • /pm edit <line> <newCode> - Changes the code at the line number specified, to the new code.
  • /pm view - Views all the code currently in your sandbox.
  • /pm compile <verbose> - Attempts to compile the contents of the player’s sandbox into a jarfile. If the compilation fails, the sandbox will not be cleared, and the player has the option of passing true as an argument to the command to view verbose output of the compilation process. If the compilation completes successfully, the plugin can be found in config/pluginmaker/plugins/compiledPlugins/.

Permissions:

  • pm.edit - Permission to edit lines
  • pm.add - Permission to add lines to an existing sandbox (Or start a new one)
  • pm.view - Permission to view the full source in your sandbox
  • pm.compile - Permission to compile your sandbox into a functioning jarfile

Currently, the plugin has to be packaged with zipped maven binaries, in order to allow compilation with Maven, these binaries are unzipped, and placed in the root of config/pluginmaker when the plugin is first run.

Details:

If you find any issues, please make an issue on the Github page, and I’ll move to fix it as soon as possible.

2 Likes

grumbles about security

Otherwise it’s a nice concept

I’ll see about making an option to save full, original source code in a separate file, that would probably aid in the security aspect