MCreator Plugin Builder - Plugin development made easy

Started by NerdyPuzzle on

Topic category: Plugins and third-party tools

MCreator Plugin Builder - Plugin development made easy
Fri, 07/19/2024 - 12:32 (edited)

MCreator Plugin Builder is a program that allows the user to easily create MCreator plugins, only requiring you to know how to code in Java. This concept has been attempted before, but none have so far been as simple to use as this, nor offering as many features.


Disclaimer

This project is not official. It is not affiliated with the respective owners and maintainers of MCreator and Pylo.


Features

MCreator Plugin Builder includes support for various options. Here is a summary of most of its capabilities:

 

Procedure blocks


Procedure mutators

Global triggers


Blockly categories


Datalists


Translations


APIs


Model animations


Mod elements


Git integration


Variable types


Overriding generator templates


Testing in MCreator



These are all of Plugin Builder's capabilities at this time. 

An example plugin project can be cloned using the link https://github.com/NerdyPuzzle/Example-plugin-project.git

The latest version of Plugin Builder can be found here


Changelog

Release 2.0
-Updated global trigger generated code to work with the 1.20.6+ neoforge event system
-Added a search bar to filter plugin files

Release 1.8
-Added the option to make new variable types

Release 1.7
-Fixed deleting global triggers or procedures crashing the program
-Fixed global trigger custom dependencies always being lowercase named

Release 1.6
-Fixed a bug that caused procedure template code to replace the code of other procedures
-Procedures can now be coded manually too like global triggers

Release 1.5
-Fixed global triggers not exporting code properly
-Global triggers can now have new custom dependencies
-Improved the procedure template text editor

Release 1.4
-Global triggers and procedures now support the damage source variable
-Global triggers and procedures now save as json in plugin builder projects
-Refactored old hardcoded systems in preparation of new plugin builder features

Release 1.3
-Fixed color selectors generating color codes incorrectly in some cases
-Fixed procedure blocks not working when using statements in some cases
-Fixed the copy code button providing incorrect code for statements
-Fixed procedure blocks not working with custom categories in some cases
-Fixed mod elements not generating java code
-Added the logic, math and text procedure categories
-Mod elements no longer require a manual installation of java 17 to compile

Release 1.2
-You can now make procedure block mutators
-Blockly categories can now be subcategories of other categories
-NeoForge generator is now supported
-Added the missing 2023.4 procedure block categories to procedures
-Fixed some issues with the procedure block gui

Release 1.1
-Some minor UI improvements
-Vanilla templates from the MCreator generator plugins can now be overriden

Release 1.0
-UI theme redesign (minecraft launcher inspired)

Beta 4.3
-Fixed client-side global triggers causing minecraft to not load

Beta 4.2
-Fixed mod elements with spaces in their names not compiling
-Added the option to select base types for mod elements
-Added the option to use procedure selectors in mod elements

Beta 4.1
-Fixed some issues that caused crashes

Beta 4.0
-New mod elements can now be made with plugin builder
(Requires java 17 or newer to be installed in order to compile the java files)

Beta 3.0
-Fixed a small bug in procedure json generation
-Global triggers can now be coded fully manually
-Procedure block field inputs can now include default text

Beta 2.1
-Fixed a bug where procedure block code would generate incorrectly
-Procedure block number inputs can now have floats as default values

Beta 2.0
-Fixed a bug that generated extra unused code
-Added support for java model animation templates

Beta 1.0
-Official release
Edited by NerdyPuzzle on Fri, 07/19/2024 - 12:32
With the v1.1 update, plugin…
Sun, 09/17/2023 - 17:13

With the v1.1 update, plugin builder can also be used for overriding generator templates

Joined Dec 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
hello, this does not work in…
Tue, 09/26/2023 - 13:07
hello, this does not work in 1.20.1 will an update be available? because as soon as I launch a plugin, the branch in which the plugin procedure is found puts them all on top of each other and does not work
Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
@Goldorion I want to add an…
Thu, 09/28/2023 - 15:44

@Goldorion

I want to add an advanced Enchantment Mod Element that has some more Features. So what exactly has the Default Enchantment Mod Element for a local template, where can I see that? I need to know exactly what code it is using for local template.

Joined Mar 2020
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
@NerdyPuzzle, do you have an…
Thu, 10/05/2023 - 04:49

@NerdyPuzzle, do you have an example of creating Mod Elements with this Tool?

bryanguillaume, it works for…
Thu, 10/05/2023 - 15:55

bryanguillaume, it works for any MCreator version above 2022.3, try cloning the example plugin if you have any issues figuring it out.

Joined Dec 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
thanks,I created some…
Thu, 10/19/2023 - 18:49

thanks,
I created some procedures, I came to a small problem I want to create a block to have two coordinates example break block at x y z and drop at x y z as I can create the variable so that by default in both there is x y z, I I tried x2 but as default value it puts 0 dnas mcreator

Joined Dec 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I also made a block which…
Thu, 10/19/2023 - 20:49

I also made a block which requires level and name level accessor in the class execute only impossible to make mcreator understand that it is level that must be executed please help me

Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
the "level" is the Variable…
Thu, 10/19/2023 - 21:54

the "level" is the Variable for the World. So if you make a Block that requires this variable is the world. For Example with the "level" you can also access the current Minecraft Server and get and set certain Server Properties such as MOTD.

Joined Dec 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
thank you for your response,…
Mon, 10/23/2023 - 15:55

thank you for your response, thanks to you my problem is solved; I have one last little problem when I create a procedure block with a block as input, in mcreator it replaces it in the code with the example name (CUSTOM:NAME OFBLOCK), and name not its exact code, how to solve this little problem?

Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
@bryanguillaumeOn my Profile…
Tue, 10/31/2023 - 19:12

@bryanguillaume

On my Profile Page there you can contact me on different Platforms, for example Discord. Because I need a Screenshot to see the Problem or a Video that shows the issue. I need further Information of your Issue to solve it.

Joined Dec 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Don"t work anymore with 2023…
Thu, 12/21/2023 - 14:34

Don"t work anymore with 2023.4

 

Joined May 2022
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I have been using your…
Sun, 01/07/2024 - 09:34

I have been using your plugin builder to help create plugins successfully, however, today I thought I would try and create a Java plugin. As far as I can tell, I have done everything correctly, but when I export the plugin, it doesn't generate the "Launcher" in the "javacode" folder, and therefor does not work in MCreator

Do you have any suggestions that could help me resolve this? As far as I can tell, I have Java 17 and Java 21 active, unless I have done this part wrong. 

Joined May 2022
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I guess I should give you a…
Mon, 01/08/2024 - 09:24

I guess I should give you a little more information than that, It was late when I did my last comment there. I'm using "pluginbuilder_release_1.1" to make the plugins now, but all my other plugins were made on an unlabelled version of your Plugin Maker from ages ago. I see that it is required to be linked to the MCreator Directory, could it be my version of [MCreator 2023.2]? I'm not sure how old that version is. Its heavily modified to suit my mod specifically and porting takes hours.

I'm actually really excited to see and use your project. It has a few clunks but I get around them easy enough as I have been making my plugins in Notepad++ for the last 3 years. Testing them used to take hours. but If I build the structure using this, all I have to do is change some code after exporting. Tis a good program. I hope to do whatever I need to do in order to get this to work. I'm also interested in how you actually make the "Java" plugin. I learned Java by literally reverse engineering code, Find an example, restructure it to suit.

Also is there a way I could discuss things with you directly. I would like to learn more about Java plugins, I'm not good enough at Java to figure it out and I can't find any documentation what so ever. I may even be able to help you with the Project and would be happy to help with what I can.