Geolykt / EnchantmentsPlus

Enchantments+, a Bukkit Custom Enchantments Plugin based on Zenchantments targetted at production grade servers
GNU General Public License v3.0
38 stars 15 forks source link

Compatibility with slimefun4 #111

Open BrLuquinha19 opened 2 years ago

BrLuquinha19 commented 2 years ago

Basically, there is a very popular plugin called slimefun4, that adds a lot of cool things, some of them are auto enchanters, disenchanters and book binders, that can extract enchantments from items to books, apply enchantments to items from books, and make overlevel enchantments with 2 books (like unbreaking 3 + unbreaking 3 = unbreaking 4) I have both enchantments plus and slimefun4 on my server, but slimefun machines cant affect enchantments plus`s enchantments

BrLuquinha19 commented 2 years ago

My suggestion is to add compatibility with it, so we can use slimefun machines to work with enchantments+`s enchantments

Geolykt commented 2 years ago

Notes upfront

Overlevelled enchantments are not supported unless as it bricks at level 11 and will display level 0 for the PDC while the lore getter will not only display level 0 it will also be level 0.

Regarding the actual issue

Actual Slimefun4 compat would be a fun one to implement as I would be surprised if they had some API in case someone was doing custom enchantments without using unsupported registries (as pretty much all CE plugins use those unsupported registries, but we do not (yet)).

Will this be fixed

Very likely as a side effect of fixing the series of bugs like #97. I've been thinking of doing that for a while now but haven't really since this plugin is kinda on ice for the time being

GentlemanCheesy commented 2 years ago

Really would love to see this added sometime, if you need help with info on Slimefun's api I am friends with one of the most notable addon creators for the base plugin, and could probably ask him to answer some questions if you have any!

Geolykt commented 2 years ago

I'll take a poke at it someday, don't worry

Geolykt commented 2 years ago

Okay, after a quick conversation with slimefun contributors we came to the conclusion that slimefun in the current state does not support such compatibility. I'll do a PR to add the needed API, after it gets accepted there will be the possibility rudimentary support. (I'll try to add Auto(Dis-)Enchanter support at the very minimum)

Geolykt commented 2 years ago

Since https://github.com/Slimefun/Slimefun4/pull/3526 has shown me that it takes an INCREDIBLY long time to get anything into the slimefun core and the Hackloader approach has proved to be stupid (I'm not going to sit and code some incredibly brittle "API" for over 30 hours for something that can be written in 5 hours if done in an orderly fashion). As such I believe that anyone that wants such compatibility needs to prepare for a long wait. Not much I can do about it other than obnoxiously annoying other devs, which I rather despise doing