elBukkit/MagicPlugin

[Question] Split Magic into multiple plugins?

Closed this issue · 2 comments

Hello Nathan, I'm sorry to hear that you are currently facing huge challenges on porting Magic to newer versions because of large API change.I do really appreciate your fantastic work, and love Magic so much.

I've been using your plugin since mc 1.12, but only the combat spell part. Since the only way to use spells in original Magic is obtaining a wand, I made my adapter plugin to allow my players to use spells without a wand, to achieve a similar feature like another spell plugin MagicSpells.

Maintaining such a large plugin can be complex I know, and I wonder if this plugin is able to been splitted. I know this maybe innocent but I do really not want to see such an excellent work fades.

And here's an other question, probably I'll try to make a plugin that only include Magic's spell part since I have accumulated enough development experience(maybe?) when I port my server to versions above 1.20.5, though it can't be soon and is currently just my imagination, how to you think of it?

Well funnily enough that is how the plugin started. It was 2 separate plugins originally: Spells and Wands.

Then I made Magic which was supposed to tie the two together and add classes, leveling and that sort of thing.

Anyway, I do hope to make Magic compatible with newer MC eventually. I'm not sure what that will mean yet or when it will happen, though.

Pulling the plugin apart in the way you're suggesting would probably be more work than that though :)

It's unfortunately not a clean separation anymore, at all. Every spell has the potential to change depending on the wand used to cast it, for instance. I guess you could leave all that stubbed in and just try to get rid of the parts where wands interact with item data and such, but it would definitely be a mess.

It's also the case that some spells use NBT or other problematic NMS/Craftbukkit calls (like for loading schematics). This could probably be stripped away but it's worth mentioning anyway.

This really makes sense, modules are somehow associated with each other too deep to be seperated.

NBT for item may be easy to handle for both of NBT and components are nested maps, while CraftBukkit/NMS API function changes are indeed fatal for migrating tasks.

Maybe not everyone are updating to 1.21 in a hurry, so pls don't be so worry about it, and happy children's day for you XD.