garbagemule / MobArena

MobArena plugin for Minecraft
GNU General Public License v3.0
194 stars 151 forks source link

Mythic Mobs Support #362

Open BiGUNMAN opened 7 years ago

BiGUNMAN commented 7 years ago

It would be really cool to see support for using Mythic Mob mobs inside of Mob Arenas. https://www.spigotmc.org/resources/mythicmobs.5702/

garbagemule commented 7 years ago

Looks like MythicMobs has become a much bigger phenomenon since I last looked into it. My biggest worry is that MobArena's xenophobia alone will make this difficult. I can't seem to find any information about integrating with MythicMobs, and it looks like it's closed source, so no snooping around in the source code either.

BiGUNMAN commented 7 years ago

Here's their javadocs: http://www.mythicmobs.net/index.php?threads/api-javadocs.2913/

robotnikthingy commented 7 years ago

I've integrated MythicMobs with my plugins and the API is rather simple to figure out. MythicMobs would be great to use in combination with MobArena, it would add so many new possibilities, especially with boss mobs

SXRWahrheit commented 6 years ago

Bump, this got a mention on the Spigot thread and I'd also like to see it. Their API is linked above. BerndiVader is also active on the MM Discord and has developed some of his own mm-bridge extensions for other plugins, so he might be able to help you out.

MismatchedSocks commented 6 years ago

10/10 would support and/or pay for this.

My server has it's gearing system focused on grinding progressively harder arenas to get crate keys that can get them enchanted gear (enchant tables are disabled). With the ability to play with custom mobs I would gain infinitely more options in this.

shaady91 commented 6 years ago

Mythic Mobs support would be amazing.

I could create an Arena and make the last boss, drop a special items for special armor or specific crate.

i have a tons of ideas :D

SXRWahrheit commented 6 years ago

To append our Discord conversation today, a major reason I'd like to see MM bridging implemented to MA is that I would use this to create arenas where players could practice fighting against our survival mobs with low risk. I love the MA bosses and I think our arenas provide good combat practice as-is, but using the actual mobs that they encounter in the world would be really good.

garbagemule commented 6 years ago

Alright so, there are two main issues with MythicMobs integration:

  1. It is, well, a plugin integration. As per the contribution guidelines, plugin integrations need an extremely good argument, because they reduce the maintainability of the project.
  2. The current codebase is very tightly coupled to Bukkit's Entity and its own MACreature. This coupling makes it really difficult to fit anything else into the mix without pulling everything up by the roots (probably breaking MobArena integrations of other plugins in the process), and that's not something I'm interested in doing just for the sake of supporting MythicMobs. And even if I did, there's no telling how many edge cases would have to be taken into account for things to not bug out in some way.

Now, the only way to get around the reduced maintainability is to start a new project that bridges MobArena and MythicMobs, i.e. a new project that I don't have to write or maintain. This way, I could continue to work on MobArena while someone with experience with the MythicMobs API could be in charge of the integration. No stagnation in MobArena, and plenty of opportunity for specialized integration, depending on the author and maintainer of the new project.

This kind of bridge requires that MobArena is rewritten in a flexible way that can accommodate arbitrary "mobs". This is something that's already planned (Mob Rework project here on github). I'm currently working on the Session Rework, and the logical follow-up to that is the Mob Rework. Perhaps when the Mob Rework begins, we can revive this issue and try to reach out into the community for helping hands to take on the job of plugin integration?

Kainzo commented 6 years ago

I really would like to have MythicMObs integration, its not just a "plugin" it is a staple for any RPG server.
My alternative would be to fork and add this support but it would be a headache to maintain for years.

Would love to see this happen and if you need a mind to bounce ideas off of, I can help.

garbagemule commented 6 years ago

@Kainzo could you try out Sait's extension plugin, perhaps in a non-critical environment? It should allow you to get started right away, and if you report back either on his repo or in the MobArena Discord server, we can gather some real field data on any challenges with the integration. I'm thinking stuff like soft-restore and potentially some of the protection code might not work with MythicMobs, but with protection turned off and a WorldGuard region it'll probably work just fine.

The repo is here: https://github.com/SaitDev/MobArenaExtension

SXRWahrheit commented 6 years ago

@garbagemule Is there any documentation for that extension?

garbagemule commented 6 years ago

@SXRWahrheit You'd have to ask @SaitDev about that :)

I'm pretty sure you just use the names of your MythicMobs in MobArena's config-file. MobArena's MACreature strips the names of some punctuation and lowercases everything, but so does the parser, so I'm guessing things should work just fine if you match the names exactly. But chances are KillerBob and killer-bob will be interpreted as the same mob. Go the safe route and test it out with an all lowercase, no punctuation name for a MythicMob and stick that in a wave and see how it turns out.

If you figure it all out, I highly recommend contributing some Getting Started documentation to the repo. Anything is better than nothing.

SaitDev commented 6 years ago

add readme and link download test build. i'll write wiki upon more stuff are done

TomLewis commented 2 years ago

How has this not been added yet, basically every single mob plugin has mythic support.

garbagemule commented 2 years ago

@TomLewis Feel free to read the comment thread. If you are interested in the why (not), read the reasons I presented above. If you are interested in a workaround, check Sait's extension, also referenced above.

TomLewis commented 2 years ago

Awesome thanks, I'll try out the extension!

I just used the search box for mythic to see if there was an existing ticket, it's just a bit odd to not support it as it's such a massive plugin.