Join us at MCreative to get help with my plugin!
Forge 1.16.5/1.18.2/1.19.2/1.19.4/1.20.1
NeoForge 1.20.4/1.20.6/1.21.1
Having this plugin installed, even without the API enabled, syncs players variables globally with all clients. This can be useful for other plugins, like PlayerAnimator
For a tutorial on changing the player hitbox, check the video at the bottom of the page
DEPRECATED PROCEDURES MEANS YOU SHOULND'T USE THEM UNLESS THERE ISN'T ANY OTHER OPTION FOR WHAT YOU ARE TRYING TO DO
Important Information
- Make sure you use MCreator 2022.2 (snapshots included) or a newer version
- This plugin requires to have enabled the "Kleiders Custom Renderer API"
- You need to add "Kleiders Custom Renderer" as a dependency to your mod if you enable this.
IT'S RECOMMENDED TO USE PLAYER VARIABLES TO CHANGE THE SKIN/MODEL OF THE PLAYER
YOU CAN RENDER AS MANY MODELS AT A TIME IN THE SAME PLAYER AS YOU WANT, THERE ARE NO LIMITS.
Kleiders Custom Renderer is here! Change the players/mobs models/skin easily with just 2 procedures (Or more if you want to) and a global trigger!
Need help or found a bug? Shoot me a DM on discord! Kleiders#9777
You can also report crashes at https://www.curseforge.com/minecraft/mc-mods/kleiders-custom-renderer-a…
How to use:
Enable "Kleiders Custom Renderer" at Workspace -> Workspace Settings -> External APIs
Players will now need to use the mod "https://www.curseforge.com/minecraft/mc-mods/kleiders-custom-renderer-a…" in order to play the mod, as this a dependency!
Also available on modrinth! https://modrinth.com/mod/kleiders-custom-renderer-api
Procedure Instructions (See image below for a better example)
Then, create a procedure with the global trigger "Kleiders Render Event", add "Obligatory Procedure at the start of RenderEvent".
After that, create the procedure as normal and add a skin or model procedure and put the location of your texture. This will be your modid:textures/entities/name_of_the_texture.png
Synced Player Animation Models for 1.20.1+:
Starting on version 7.0.0 of the plugin, you can now sync models with the player animations and even with animations from PlayerAnimator
In order for this to work, your model has to have the ALL of the following folders with those EXACT names: "Head" "LeftArm" "LeftLeg" "RightLeg" "RightArm" "Body", and you have to use the specific procedure for copying player animations, for a better guide use this Video Tutorial
If your model doesn't match the player size, use "(1.18+) Add model %1 to PLAYER with texture %2 Hide base model: %3 (No Player Animations)" instead
Use this BBModel as a base if you want the animations to look right (If your model has pieces that should not follow any of the predifined shapes, you can make it a separate group; The base cubes are just for guidance, you should delete them after you finish your model. The groups only need to exist, they don't need anything inside if you don't need anything inside)
Models for 1.16.5:
If you select a model, it will need to follow this formatting: "<EntityModel>Renderer.Model<model_name>
To check the model name, check what it says on model on your entity, like so:
In this case the <model_name> would be elite_swordsman
In 1.16.5, you need to have an entity that has that model on it in order for it to work. In 1.18.2+ this is not neccesary
FOR PLAYER MODEL AND TEXTURE CHANGES: THIS PLUGIN/MOD CURRENTLY SYNCS AUTOMATICALLY WHEN THE CONDITION OF THE PROCEDURE IS A PLAYER VARIABLE. FOR PLAYERS USE PLAYER VARIABLES
FOR ENTITIES: IF YOU HAPPEN TO WANT TO MODIFY THE MODEL OR TEXTURE OF AN ENTITY INSTEAD OF A PLAYER, I RECOMMEND USING ITEMS IN ARMOR SLOTS AND NBT DATA RELATED TO THOSE ITEMS
WARNING: DO NOT USE ANY PROCEDURE THAT AREN'T CONDITIONS OR PART OF THE PLUGIN. DOING THINS LIKE SPAWNING ENTITIES, SETTING NBTS OR ANYTHING ELSE INSIDE "RenderEvent" WILL CRASH THE GAME
Features:
Adds multiple procedure blocks, for changing the model, the player size, and others
IN 1.20.1/1.20.4 STARTING ON VERSION 7.1.0 OF THE PLUGIN, THERE IS ALSO A PLAYER MODEL IMPLEMENTATION THAT SYNCS WITH PLAYER ANIMATIONS, FOR MORE INFORMACTION CHECK OUT THIS VIDEO TUTORIAL
IN 1.18.2, TO SELECT A MODEL ALL YOU HAVE TO DO IS PUT THE MODEL NAME
PICTURE FROM BELOW ARE FROM 1.16.5 VERSION
This plugin also includes options to change the player hitbox size. This has it's own event and set of procedures. In order to actually change the player hitbox, you need to use the "Trigger Size Event for Player" procedure on whatever your change reason is. Check the Video Tutorial for a better explanation
Player Size Procedures Tutorial (Does not require the API to be enabled)
Video Tutorial
Changelog:
V7.4.0:
Corrected issues with posestack procedures, added 1.21.1 Support
V7.3.3:
Fixed an issue with synced variables merging with other players
V7.3.0:
Fixed an issue with synced model animation that caused them to be slightly offset, added PoseStack procedures
V7.2.0:
Added a procedure option that syncs with player animations under the right conditions on 1.20.6 NeoForge. Fixed entities not being having animations if you cancelled any other base model, and various other bugs
V7.1.0:
Added a procedure option that syncs with player animations under the right conditions on 1.20.4 NeoForge. Fixed entities not being rendered if you cancelled any other base model
V7.0.2:
Fixed an issue with hide player model piece
V7.0.1:
Minor version to clarify what procedures are 1.20.1 ONLY for now
V7.0.0:
Added a procedure option that syncs with player animations under the right conditions; Only for 1.20.1 for now.
V6.4.0:
Added support for 1.20.6 NeoForge
V6.3.2:
Fixed Variables for 1.20.4 NeoForge
V6.3.1:
Fixed Gradle for 1.20.4 NeoForge
V6.3.0
Added "Size Event", and set Size procedures, for changing entities hitbox
V6.2.5:
Added player variables syncing on 1.20.4 NeoForge. Added support from MCreator 2024.2
V6.2.4:
Fixed an issue that caused crashes when hide base model = true
V6.2.1:
Fixed an issue with variables on 1.20.4
V6.2.0:
Added support for NeoForge 1.20.4
V6.0.0:
The plugin now has synced multiplayer features with player variables
V5.5.1:
Fixed an issue with a test procedure being kept in the library on 1.20.1
V5.5.0:
Updated for 1.19.4 and 1.20.1 support.
V5.4.0:
Added transparency to model procedures (if the texture has transparency) and added the option to hide the base model on texture change procedure.
Moved all procedures to KleidersCustomRenderer tab
V5.2.5:
Fixed an issue with using the mod serverside
V5.2.0:
Fixed an issue that prevented texture procedures from working in 1.18.2 and 1.19.2
V5.0.1:
Separated 1.18+ procedures from 1.16.5 procedures, and added suport for 1.18.2 and 1.19.2
V4.0.5:
Added the ability to change entities textures and models; The mod has been rebranded to "Kleiders Custom Renderer" make sure to change dependencies accordignly.
V3.4.0:
You can now replace partial parts of the internal skin by having the skin only on those parts; Previously, the player would become invisible if it was missing parts of the skin
V3.3.0:
Fixed an issue that prevented skins from loading properly
V3.1.0:
Fixed a bug that prevented multiple layers/models from working at the same time
V3.0.0:
Added Custom Model Support
V2.1.0:
Fixed an issue that caused the plugin to crash on dedicated servers
V2.0.0: Added:
Both Internal texture and external layer with player skin: [Texture]
Only Internal texture with player skin: [Texture]
Only external layer with player skin: [Texture]
V1.0.0 Upgraded everything! Remember to enable "Kleiders Player Renderer" at Workspace -> Workspace Settings -> External APIs
Comments
Ello, Ive been having some compatibility issues with geckolib, in case there's an easy fix id like you to know about this.
(SPECIFICALLY) I have 2 extremely intensive mods which im working on, one uses geckolib as it adds handheld items with their own animations, the other involves player appearance.
The issues I have been having are: #1 When holding an item in a world with geckolib also loaded it scrambles up the layers ocassionally.
#2 When this system is loaded with geckolib any geckolib based item being held in the hands is doubled slightly from my experience.
These are relatively small issues, it works well aside from these, but I'd like to let you know in case you can fix them as it would help me a ton.
In general having more compatibility would let me finish 2 very big projects
Edit: I temporarily retract this statement as I havent been experiencing any of these bugs after doing it with a new installation with only your mod, geckolib, and my 2 mods.
The doubled item still exists but this is related to the fact that it is rendering it both with thick and thin arms when the model is different from the base model of the player.
Hi mate, the plugin is amazing, but the arms on the template model you posted aren't aligned with the player animator's animations, any workaround? i tried to move the rotation points and it went a tiny bit better while in animation but not in vanilla idle pose anymore, i would love to know if its a bug or just my fault, thanks for your cooking mate!
Now that I have figured things out, I have one suggestion: For rendering skin layers add an option to disable/enable certain things like #1 rendering the item in the player's hand on that extra layer. #2 rendering the nametag of the player on the added layer. #3 rendering the armor of the player on that added layer. (Could make a logic option in the block for all 3 of these or something)
I've Been having issues where adding layers stacks up all 3 of those elements creating some weird visual issues around transparency when many layers are stacked up, im sure this suggestion will help other people too if implemented.