Topic category: Plugins and third-party tools
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
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 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
You can probably fix that issue by putting the MCreator folder somewhere outside program files, as plugin builder doesn't have write permissions in that folder. (To compile java code, it needs to include jars in the MCreator folder as libraries)
Also I'll soon be updating it and it will only be able to make java plugins that work on 2023.4 due to changes in the java plugin code.
The software work in 2023.4 ?
It should except for the mod elements feature
When this app will be compatible with 2023.4 ? and we can use old project in the futur release or i need to remake a plugin from zero ?
It already is compatible except for making mod elements
hey, the project are abandonned ?
It's not. It just hasn't needed updates for the moment.
A good idea would be to add the possibility of creating plugins using blocks of existing procedures, and even those from other plugins (like yours from geckolib), this would eliminate the need to know Java a little, in addition to the fact that existing procedures provide a good range of options for creating other things.
For example, I could use MCreator's native procedures to create a shape generator to generate particles, or a simple library (of number/vector operations) and instead of creating huge procedures and having to call them every time, I it could condense the entire mathematical operation into a new "broader procedure", which would only require the input parameters and would already provide the results. With this "procedural composition" scheme, we could even create a library of customized attacks for bosses, which would have as parameters the entity model, the attack animation and even the form of the attack (which could be melee with variable distance , long range, area, etc
).
Version 1.2 is out
@NerdyPuzzle
How can I use for example some Code that only applies if a certain Dropdown Option is selected?
For example I need to write a Freemarker Script to do that but how do I write the variable name? Is it like that:
{$variablename}
<#if field$dropdownname == "OPTION">
code
</#if>
if you mean for mod elements, then it's <#if data.variablename == "OPTION">
One Question how can I make a custom path where the global and local template would be created?