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
Joined May 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Also, is there a way to make…
Thu, 05/18/2023 - 22:39

Also, is there a way to make this generate certain types of items and have them be properly recognized by Mcreator (as in, allow them to be used in crafting recipes)? Similar to how the Dimension element generates a dimension and a portal trigger item (which iirc can be set to have a crafting recipe and used elsewhere as a normal item).

Joined May 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
How would that work exactly?…
Thu, 05/18/2023 - 23:55

How would that work exactly? I checked through Mcreator's code and all elements that do that do something with BaseType.ITEM or BaseType.BLOCK.

I know how to do it, ill…
Fri, 05/19/2023 - 02:18

I know how to do it, ill just add an option to select a BaseType

Joined May 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Ah okay. Any idea when to…
Fri, 05/19/2023 - 02:30

Ah okay. Any idea when to expect something like that?  cuz making an element to do stuff like that was something I'd been wanting to know how to do for a while.

I'll release the next…
Fri, 05/19/2023 - 02:58

I'll release the next version either tomorrow or the day after

Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
@NerdyPuzzle could you…
Fri, 05/19/2023 - 12:20

@NerdyPuzzle could you explain how the Mod Element works?

I'm a little irritated how to use it.

Joined May 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Is it possible for an…
Fri, 05/19/2023 - 18:05

Is it possible for an element to generate multiple other base type elements? (ex. generate an item and a block, or a block and a block, etc.)

it is possible but that…
Fri, 05/19/2023 - 19:09

it is possible but that would be pretty complex to implement properly with generated code

you could also just register…
Fri, 05/19/2023 - 19:10

you could also just register that item/block with one of your element's templates manually instead

Joined May 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
You mean have the element…
Fri, 05/19/2023 - 19:34

You mean have the element template generate code for multiple blocks? That's what I've been thinking of doing, the only problem would be that they wouldn't be registered in the workspace, so manually editing code would be the only way to use them elsewhere (although that isn't a huge problem). Another workaround would be to make a plugin that adds the block ids into the mappings but that would probably require restarting the program to recognize them.

Joined May 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
(tbh, not entirely sure what…
Fri, 05/19/2023 - 19:35

(tbh, not entirely sure what exactly you meant by the last post lol)

Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
@NerdyPuzzle   Is it…
Mon, 05/22/2023 - 08:53

@NerdyPuzzle

 

Is it possible to replace an existing Mod Element?

I'm planning to add Enchantment Categories as Mod Elements and then replace the old Enchantment Category with a custom one where you can select also the Enchantment Categories what you created.

Joined Aug 2016
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
No, replacing existing mod…
Tue, 05/23/2023 - 00:56

No, replacing existing mod elements is not possible with Java plugins. This would require to use mixins... which is also not possible with Java plugins.