Started by
ImSeyo
on
Topic category: Feature requests and ideas for MCreator
At the time of development on one of my mods, I ran into a problem - I needed to check if a villager had a certain profession. As it turned out, there is no procedural block in MCreator responsible for this. I would like you to do that. After a while, I managed to find a way to solve this problem (using custom code), but it does not work with the custom professions of the villagers. To make it easier for you, I'll leave the code:
((Villager) entity).getVillagerData().getProfession() == VillagerProfession.PROFESSIONNAME
Edited by ImSeyo on Thu, 04/11/2024 - 11:10
I'm trying to check a vanilla Villager profession (Nitwit, specifically) but I can't figure out how to properly implement it into my procedure blocks; when I try to run the gradle after copy-pasting your above line of code into a Custom Code block, it returns an error and can't compile properly. How did you get it to work?
duststar860 The procedure must be exactly like this:
I inserted it into the code block:
((Villager) entity).getVillagerData().getProfession() == VillagerProfession.FARMER
Thank you so much!! I really appreciate it!
do you know how to use this with professions from other mods? using their namespace i mean
mohammed fawzi I have not found a way to do this. Try asking ChatGPT, he's been helping me a lot lately with the codes for my mod. But it may take you a VERY long time to create the right code using ChatGPT. It sometimes takes me 5 hours for small codes
A few weeks late, but I found a "fix" to only work on your custom professions.
You can make the procedure NOT work on every vanilla profession, only leaving the modded ones. This does, annoyingly, restrict it to just one custom profession generally (depending on what you're doing) though.
Hi, I found a way to check for if a villager has a custom profession. Use the "Custom Code Snippet" block in an "If do" block with this code:
((Villager) entity).getVillagerData().getProfession().toString().equals("my_mod_namespace:my_profession_name")
My example triggers when the player attacks a villager with my custom profession, and it works perfectly.