"Ever wanted to make a gun in MCreator but ended up lost in a sea of complex procedures? Worry not! My plugin is here to save you from endless tinkering. It adds everything you need to craft firearms in a simple, clean, and almost fun way. Each action can be managed with logic so intuitive, you'll wonder why it didn’t exist already. No, it’s not magic. It’s just a well-made plugin."
WARNING: you need to enable the Java plugin.
This plugin adds a set of procedures designed to simplify the creation of firearms in MCreator, allowing you to control key actions such as firing, reloading, animations, and more.
It is also compatible with the Nerdy's Geckolib plugin, adding specific procedures to manage object animations more easily and efficiently.
Below, you'll find a complete tutorial that explains everything step-by-step.
Tutorial by hacker_E303
The plugin is currently under development, so feedback and suggestions are very welcome. If you encounter any issues, feel free to leave a comment!
Changelog:
1.9.8 - Fully compatible with MCreator!
1.9.7 - Fixed minor bugs;
1.9.6 - Added support for MCreator 2025.3 & MCreator 2025.3, NeoForge 1.21.4;
1.9.5 - Fixed Gun Maker Setup element not working on MCreator 2025+;
1.9.4 - Fixed lot of bugs & improved procedures; Forge, NeoForge, Fabric 1.20.1 & NeoForge 1.21.1; Should also work with NeoForge 1.20.4 & 1.20.6;
1.9.3 - Changed some procedures; Fixed some bugs; Only Forge & Fabric 1.20.1; Preparing the tutorial...
1.9.2 - Fixed minor bugs;
1.9.1 - Reworked the Fabric and Neoforge 1.20.1 versions; Fixed minor bugs; Gun Maker Setup element is now usable with all the loaders;
1.9.0 - WARNING, forge 1.20.1 only for now; Added new Gun Maker Setup element; Changed all gun related procedures; Changed the way logic is handled; More stable, configurable compact logic; Removed global event 'No swing animation'; Fixed minor and major bugs;
1.8.1 - Fixed minor bugs
1.8.0 - Added client-side procedure "Zoom with intensity <float>"; Fixed some bugs
1.7.0 - Added three procedures for aiming and recoil; Fixed minor bugs
1.6.0 - Added new AI goals for Forge 1.20.1
1.5.2 - Fixed minor bugs; Improved the gun procedures toolbox
1.5.1 - Added "Get entity <entity> is looking with <double> of check distance" procedure block
1.5.0 - Fixed broken global event; Added two new procedures "Has <entity> direct visual contact with <other_entity>" and "Can <entiy> reach <x> <y> <z>"; Fixed broken procedure; Improved some procedures; Added support for MCreator 2025.3; Fixed minor bugs
1.4.4 - Fixed NeoForge 1.21.4 broken procedures
1.4.3 - Now compatible with all MCreator versions; Fixed minor bugs
1.4.2 - Alpha version for forge 1.20.1; Fixed minor bugs; Added "Get max ammo of <item>" procedure block
1.4.1 - Fixed minor bugs
1.4.0 - Fixed minor bugs; Added two events; Added four procedures;
1.3.2 - Fixed minor bugs
1.3.1 - Added "Reload <item> of <entity> that has <number> max-ammo with <magazine> and set recovery-time (in ticks) to <number> durability to <logic> and reload multiplier to <multiplier>" procedure block; Added notification system
1.3.0 - Added "With geo-item <item> set query <string> to <int> for controller <controller>" procedure block
1.2.2 - Forge, Fabric and NeoForge; Added new languages; Added "Is keyboard key <char> pressed" procedure block
1.2.1 - Only Forge; Added "Make <entity/target> attack entities tagged as <string> with priority <int>" procedure block; Added "Get owner of <entity/target> projectile" procedure block
1.2.0 - Working on...
1.1.0 - Fixed bugs and broken procedures; Added "If <condition> allow <itemStack> to shoot" procedure block
1.0.1 - Added compatibility with Fabric and NeoForge
1.0.0 - Plugin was created
Comments
Maybe I'm missing something, but the "Is keyboard key pressed" and "Is mouse key pressed" blocks are triggered for all players on the server. The procedure is in "Every tick in hand" and in my world, if someone other than me has a weapon, and I try to reload, the other player's weapon also reloads.
Yes, I know. You need to synchronize it with the server-side. If you're using recent versions of MCreator, I recommend using the Nerdy Network Packets plugin. If you're using an older version, create a player persistent data boolean variable and look for an event that's called constantly in client-side. Then set the variable to my 'not-working' procedure block . Then use the variable to check whether the key is pressed. Persistent variables are naturally synched by MCreator.
Geckolib is not integrated into MCreator. You're probably referring to MCreator 2025.2's new animation system, but it has nothing to do with Geckolib.
I'm revamping Nerdy's geckolib plugin, and I could release it now, but it's full of bugs and practically unusable. It won't be long before I get it completely fixed. In my opinion, Geckolib is a very well made library that offers many ways to create animations. It's also essential for creating animatable items like guns

On neoforge 1.21.8