Packs
Mythic Packs
Mythic Packs are where enchantments, skills, and other ecosystem items live within Mythic plugins. MythicEnchants loads enchantments from the pack/enchantments/ folder from .yml files, as well as the enchantments file identifier type to load pack/files/<filename>.enchantment.yml files. The Mythic root folder is a primary pack source, so even /plugins/MythicMobs/enchantments/my_custom_enchant.yml is a valid source for MythicEnchantment file loading.
Datapack
MythicEnchants generates a datapack located in your server's world level folder, such as /world/datapacks/MythicEnchants/ if your server.properties has level=world. This datapack is what manages the vanilla overrides and custom enchantments MythicEnchants registers. This datapack should automatically generate, regenerate, and maintain itself between server restarts, config changes, and more. Always report any datapack issues you encounter to our support channels to receive troubleshooting support and bug fixes!
Vendor Best Practices
Namespaces
MythicEnchants can have a defined Namespace Identifier to bundle enchantments separately to avoid overlaps or conflicts. Vendors would typically use their storefront or pack name as their namespaces to avoid conflicts with other packs a user installs.
Datapack Tags also utilize namespacing in their directory structure - tags created for packs should follow the same namespacing as enchantment names. A pack using the stellius namespace would place its tags in the plugins/MythicMobs/packs/<pack-name>/datapack/stellius/tags/ folder, so enchantments feature the stellius:<enchant id> identifier and datapacks use the stellius namespace for its contents.
Example
By defining a namespace as a part of an enchantment id, you can keep your enchantments isolated even if they have generic names:
stellius:speedy:
display: "<aqua>Speedy"
This way, the speedy enchantment is namespaced within stellius, and a different pack featuring a speedy enchantment within its own namespace would not conflict with it, such as:
SEE:speedy:
display: "<green>Speedy"
Now these two enchantment packs won't overlap and both enchantments will appear.
Plugin Configuration
Vendors should not include configuration files in pack distribution - if a plugin configuration is required, it should be included in a SETUP or README file in the pack outlining the settings to be changed and why.
It can typically be assumed that the user is running the default config, with custom enchanting table results enabled and the vanilla table power. Custom enchantments requiring specific environments, such as nearby block types, should use Conditions in the Enchantment Configuration.