Compatibility FAQ - RobertSkalko/Mine-and-Slash GitHub Wiki
I'll talk about compatibility here. First of all, the mod was developed to force itself to be the primary and only way of gear progression. However it does give options to make other mods compatible too.
If your initial idea is to include every single item of other mods into the compatible item datapacks, then this mod is most likely not for you. Mine and Slash already has a complete progression system and doesn't need other mods. The only thing I feel is a efficient use of the compatibility system are unique gear pieces like ring of flight or some cool looking armors with great models.
If you find the vanilla enchanting system progression of sharpness 1 > sharpness 2 boring and wish it was longer, more random and more exciting then this is probably the mod for you.
Things to note:
- Mine and Slash overrides ENTITY vs ENTITY damage, entities are zombies, players, sheep, etc. Anything else is called ENVIRONMENTAL damage.
- SHARPNESS doesn't achieve anything.
- DAMAGE ENCHANTS don't achieve anything.
- STRENGTH POTIONS do nothing.
- ARMOR values ONLY work against ENVIRONMENTAL damage, there's a separate armor stat that works against entity damage.
- SHIELDS currently don't block full damage always, but depend on block strength stat, if the block strength is high enough, it will block the damage fully.
Philosophy of rewards:
- This is an RPG type mod, meaning I will encourage and discourage certain play styles. There might be config options for that or not.
- I will try to punish mob farms, I already have an endgame system that makes mob farming in it nearly impossible and I intend to do more.
- I punish cheating, e.g. pushing a mob into lava to kill it will give you no rewards. You need to do the damage yourself. This is to prevent people leveling at LVL 1 by killing LVL 50 mobs in mob traps, among other reasons.
- I don't reward killing of peaceful mobs like sheep. If it can't fight back, you shouldn't be rewarded for killing it. (All the current restrictions can be currently disabled with the config file but is not recommended.)
To make gear compatible you can:
- enable auto config option. This automatically figures out how powerful an item is and gives it stats based on that. This option virtually makes the mod compatible with nearly everything else, at a major cost of balance because the option is often wrong.
- use the compatible item datapacks and possible unique gear datapacks. With this you can specify yourself how powerful those items should be. You can even give them specific stats if you combine with unique gear datapacks. But it does require effort.
- use both. Auto for most things, and a few manual balance touches with the compatible item system.
To make magic mods compatible:
- you can add their damage types to damage whitelist. This effectively causes them "true damage", meaning it will do same damage to a LVL 1 and a max level strongest mob in the game.
- if magic mod uses wands, you can add wands as compatible items. Then the magic spells could count as normal weapon hits.
To make mobs (entities) compatible you usually have to do nothing, they should be automatically good. But sometimes they aren't, so you'd have to edit the entity configs and set their loot rates. (sometimes mods make their zombies extend from the animal class so they count as animals and drop no loot).
Mine and Slash additionally have quite a lot of features that are for datapacks, meaning you can revise them to your liking, add new or dispose of existing items.
WARNING! Not all mods can be made compatible! The way auto compatibility works is I take vanilla damage values of the weapon and determine if it's among the crappier or better ones in the game. Then i give it mine and slash stats, effectively overriding whatever damage values the weapon has with the mine and slash system. This means that mods that don't use vanilla damage won't be auto compatible. There's also a problem with some thrown weapons, most should work but some won't. I won't be adding mod-specific compatibility at all. It works fine enough for all the uses I want to support.