[OFFICIAL] Community update - Items and Mobs

Hello!

It has been a while since we last gave a server update post, but hopefully this will be the start of more frequent posts whenever this is a problem or update we have to share! Today, we will cover the problem with items and mobs the server is currently facing.

Overview
MythicMobs is the plugin the server currently runs to create all custom mobs and items. It is a very easy plugin to interpret, with little background programming knowledge needed, allowing a majority of those in the events department to work with it. The plugin has 3 main folders: items, mobs, and skills. The item and mob files will generate the items you see in game, and the skills add a layer of complexity and logic to the items/mobs. A good example is the grapples. They use skills to launch you through the air whenever you use the item. In total, there are probably 250+ items and a further 100+ mobs concurrently on the server.

The Issue
Throughout the several years the server has used MythicMobs, it has always been unstable. The plugin would have perfectly functioning items randomly stop working and constantly having problems with invisible syntax errors which would bring all item skills down until you manually re-wrote the entire file. Furthermore, there were a number of existing errors, for example: skills not matching items or files being moved / deleted without their dependencies being removed too. Attempts to rectify the issue on the plugin support page tends to result in denial of issue with the plugin itself, causing those working on mobs and items for the server to be frustrated with no solution. Just over a week ago, the plugin started posting an insane number of errors every tick resulting in the server crashing repeatedly. MythicMobs being MythicMobs, these errors were no help to what was actually wrong, instead just throwing java exceptions at the rate of knots.
Ref. Discord

The solution (denizen4ever)
In the past year, a plugin called Denizen has proven itself to be extremely powerful and useful for miscellaneous tasks, such as replacing a number of small plugins which had to be removed due to incompatibilities with 1.16.4 minecraft. Denizen is a scripting engine, capable of doing anything a plugin can do, just imagine it as a way to make plugins without coding java itself. A good example of it’s capabilities is the new premium menu, the low durability notifications and soon all mobs and items. The drawback to Denizen is that it is a scripting engine, it is the middle ground between editing YAML files for MythicMobs and coding java plugins for servers. With MythicMobs, you could use a skill line like - effect:particlesphere{p=reddust;c=#ff0c00;a=100;r=3} @self ~onTimer:40, using Denizen we need to pick up every time the player moves the item into their hand via the 6 or so different ways players can move items. This is a complex situation which will take time to solve on a per-item basis, however Aya and Doodle are working on making this easier with an API for anyone wishing to make mobs/items. As we have clearly shown, the transfer from MythicMobs to Denizen will be a slow one, given the shear number of complex items the server uses from talented staff members and the small number of people who can script in the new engine.
On that note, we will be giving priority to actively used items/mobs (Crates, shrine mobs/items, etc.), with a few of these being nearly complete already.

What does this mean for you?
MythicMobs will not be returning to the server, so all of the mobs and items will HAVE to be re-scripted. This will not effect lore-only items on the server, i.e the common rares with no functionality. The items with skills involved will need to be replaced in the future, but do not start to worry. We are working on an automated update method which will create an easy process for everyone to update their items without the need for manual presentation by the player. The change in plugins will render all existing custom MythicMobs items dysfunctional until a replacement is made. This means your grapples will not be usable used until we push the updated item.

As a side note, I’d like to mention staff have indeed been made aware that the grapples have not been removing durability as intended. The durability value in the lore is meant to decrease by 1 every time the item is used, rendering the item empty after all uses are up. This will be fixed in the updated item and will no longer be abuse-able for fast travel.

How can I make custom mobs and items now?
Given the unfortunate situation, MythicMobs will be removed permanently. If you want to start learning how to create mobs and items ahead of time, you can check out the Denizen beginners guide. There will be a post soon about more opportunities for players to get involved in helping the server beyond administrative tasks. Given more time, there will be a quick guide for items and mobs posted in the events department discord, the choice is yours. The Denizen discord also offers quick script documentation via commands in the bot-command channel.

Summery
MythicMobs spammed java exceptions so fast it crashed the server. We are now moving all the items and mobs into Denizen, and it’s taking a hot minute since Aya and Doodle are the only ones who can currently code denizen. All items with functionality will be temporarily broken until a replacement is made. We will follow this post with updates as we slowly work through updating all the items and will be sure to make a clear post to the strategy we will follow in the replacement of skill based items server wide.

Thank you for taking the time to read this post and if you have any questions, be sure to direct them to #report-a-bug where we will answer as best as we can.

1 Like

rip MM ;-;

1 Like

Unknown Island and Forgotten Temple will see some downtime and potentially changes once we make the move to Denizen. We cant guarantee they will return in their current representation. We do not know if we will utilize the same keys after we switch to denizen because the plugin might break that functionality, use them wisely. Shrines are less complicated and should have similar setups after we get mobs working again, items may change or we may make minor adjustments. We wont know what needs to be done until we actually start changing that on the server.

2 Likes

To put it mildly, it’s a massive undertaking but when it’s done, we can say goodbye to broken items and mobs!

Yes, another pretty big upside to Denizen Is that it doesn’t have these Item ID issues, we won’t need 5,000 different trades to fix different items

Also generally, as opposed to MM, Denizen is way more stable, customizable, better support / documentation, faster bug fixes / feature requests, and when you do something wrong, it actually tells you “Wrong value for mechanism _ in script _, did you miss _?” as opposed to MMs usually less helpful errors