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
You can probably fix that…
Mon, 01/08/2024 - 13:23

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…
Mon, 01/08/2024 - 13:23

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.

Joined May 2020
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
The software work in 2023.4 ?
Sun, 01/14/2024 - 12:44

The software work in 2023.4 ?

Joined May 2020
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
When this app will be…
Sat, 01/20/2024 - 11:34

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 ?

Joined May 2020
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
hey, the project are…
Wed, 01/24/2024 - 17:38

hey, the project are abandonned ?

Joined Nov 2015
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
A good idea would be to add…
Sat, 02/10/2024 - 04:27

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
).

Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
@NerdyPuzzle How can I use…
Sat, 02/24/2024 - 16:03

@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 you mean for mod elements…
Sat, 02/24/2024 - 16:27

if you mean for mod elements, then it's <#if data.variablename == "OPTION">

Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
One Question how can I make…
Sun, 02/25/2024 - 12:59

One Question how can I make a custom path where the global and local template would be created?