Custom Enchantments

Published by Goldorion on Sun, 08/12/2018 - 13:36
Not applicable
Fixed in
Issue description

I know that the 1.8.0 MCreator suggestions are closed, but I just want what I'm going to offer either in MCreator version 1.8.0 or in the next version, 1.8.1.




I'd like to see the possibility of creating new enchantments that do not exist, because I want to make a mod with new enchantments, but I can just add books with enchantments that already exist as Protection, Sharpness, etc.

I would like to have the opportunity to choose its rarity, either common, unusual, rare or really rare. There is also the possibility of choosing the minimum and maximum level that the player must have to be able to obtain the enchantment, as well as all that is necessary in order to have an enchantment, like a procedure so that the enchantment can do what we want.


I will try to draw you a picture, so that I can really show you what I mean, and make my explanations much clearer and more precise.



I hope I can see one day this feature that I think is missing a lot MCreator.



Issue comments

We have discussed this a few times on the website and came to the conclusion that such a feature is too complicated to be implemented at the moment. If you have a clear idea of the workflow on how enhancement would be made and code or at least references to back up the doability of such thing, we might consider implementing this in later versions.

Well, the base enchantment could me made like anything else -- you enter in its name, weight, max level, whether or not it's single level, only for books, only treasure, what items it can be used on, etc. -- and then you can define event procedures for it depending on which items it can be used on. (Ex. “On mob wearing armour with enchantment attacked” or “On mob atracked using item”) And the enchantment level would be a dependency in the procedures, thus allowing people to customise depending on levels.

If you wanted to go beyond that, you could add ways to change the stats of the items they're applied to. I.e. Efficiency, damage level, attack speed, potion effects when held, etc. And also a way to add custom items to the list of enchantable items.

As Goldorion is asking me to put this ticket in upvote requests on Discord, I can put it if the ticket  isn't closed and also "won't fix"

If you would be able to add it, so you can please open the ticket? Thanks :)

I have an idea!

First, you would set a category: General, Tool, Melee, Ranged, or Armor. These are self explanatory

You could set a procedure to execute when you use the tool or weapon, or take damage with the armor, etc. It would have a Level dependency passed to it


You could also set existing attribute modifiers for the item, in addition to effectiveness(tool speed, armor protection, weapon damage, etc), and durability usage.


But even just an execute procedure on usage function would be great!

You commented on this topic, so I was expecting you to say 

This feature is going to be added in 2020.3. Closing this ticket now.

but you didn't D:

jk,jk, if you are giving a ETA for something you are probably going to get it done on time, because you never give ETAs and the last time you did, you said 1.15 support is coming in 2020.3, so this time you are hopefully also right

Hopefully, I don't give date ETAs but make overall plan of features for each update, although this plan can change ;)

I’m curious on how we would be able to do this. It seems very complicated for the Devs to make. Would it be like what Acb said or would it just execute a procedure? 

Probably procedure, the procedure could then change attributes as these blocks are planned too.

This is indeed a very complicated feature to be properly implemented.

Courage Klemen! You can do it!

Sure I can, this will be added sooner or later ;)

Also, welcome back, again XD

maybe you can make new orocedure blocks come with it.

for example:an ''if mined(block)''procedure block would be useful to create auto smelt!



I am French and I think it would be good to be able to create enchantments without having to learn java.

I could use custom enchants for my mods: Cavecraft Cave Update and The Ancient Forest. But if it’s to complicated thats fine to.


That tutorial isn't even proper forge enchantments, it is just using nbt tags to manipulate custom tool behaviour.

Hey, no need for such passive-aggressive attitude towards other users. You could explain this much nicely ;)

For custom coders, here is another example (for registering enchantments I used a lib though ):

By forge design, implementing this is pretty hard in MCreator since Minecraft only provides one method that is called when enchanted items hit mobs with melee. All other advanced functionalities can be made by checking for enchantments on items via EnchantmentHelper (I think this is already in MCreator as a check for enchantment procedure block) and global triggers.

I really LOVE the idea for custom enchantments. But there's one bad and inevitable thing - literally every new posted mod on the website will be like: ExTrA EnChAnTs, MoRe EnChAnTmEnTs etc. It's a thing I always waited for but now idk it's better to implement custom enchantments in MCreator or just learn Java a bit.

A bit strange argument in my opinion. Should I then just omit all new features in fear of mods using them?

I just thought of something, can custom enchantment recipes be added too? (probably not, I'm just typing this just in case)

Because that would be a way of getting it more "naturally" like vanilla enchants.

You could choose how much xp you need, how much lapis, and the x% of it appearing.


Okay, I wonder if we will get that feature along with this one.


PS: Klemen, as this is the most popular ticket, it has a lot of comments, so, why do forum topics have more than one page to reduce lag for comments and issue trackers don't?

Issue trackers are usually designed to have all on one page, GitHub for example.

Is it actually causing lag? If so I can give pages back.

After well over 100 upvotes, I am closing this ticket, finally ;) This feature will be added in 2020.4.


My Slime Rancher mod needs this. 

Now I can add vacpack upgrades!

Enchantments are not items, or wdym?

Vanilla enchantments  for tools are inside the "Tools" tab, and the enchants for the armors/weapons are inside the "combat" tab. So, I think he asked to be able to put the book (the enchanted books) inside the creative tab we want.

WOW........ The legends are true if you upvote a ticket enough it will be implemented or fixed ..... plus this is the first time I noticed Klemen posts more than 10 comments on a single forum topic/ ticket.

wait isnt this a feature already? when you create a custom mod element with an actual model (blocks, items, etc.) there is a dropdown to select a creative tab.... cant you just use modified code with enchantment books?

wait isnt this a feature already? when you create a custom mod element with an actual model (blocks, items, etc.) there is a dropdown to select a creative tab.... cant you just use modified code with enchantment books?

no, this is not how minecraft enchantments are registered


I didn't quite understand the enchantment element rn.Can we do anything or its just there for now?

I saw. I didn't notice the snapshot for 2020.4 came out. But we still need to be able to add procedures to enchantments

Do you not see that Klemen just said that it is 100% functional and gave you a tutorial site?