Chest Cavity v2.0.0
Major update, will break existing add-ons I'm afraid...
Changelog:
-All mobs have chest cavities now.
--Interact with any mob using the chest opener to access their chest cavity
--Chest cavities have widely varying contents depending on the owner
--If a chest cavity hasn't been defined for that particular entity type, it will default to an exceptionally stable but low-value state
--Many mobs have special rules governing their chest cavities. For example, animals treat animal organs as human-quality, zombies function at half strength with no organs at all, and slimes need nothing but slime balls to function
-Most organs are now Soulbound.
--Soulbound organs should not be used by any entity other than their original owner, on penalty of Organ Rejection
--The more incompatible organs a entity contains, the more rapidly Organ Rejection occurs
--Organs dropped as loot are never Soulbound, but organs within a chest cavity typically are
-For performance reasons, chest cavities don't exist until the first time a player opens that entity's chest cavity
-Loot generation has been changed
-If the target's chest cavity has ever been opened, then any unbound organs within are dropped
-Otherwise, loot is generated to approximate similar results (looting applies though)
-Most functionality has been moved to the ChestCavityManager, allowing for significant flexibility and easy mod integration
-Added animal muscle so that pillaging one cow's innards wouldn't feed you for a month
-Added butchered meat, raw sausage, raw rich sausage, burnt meat chunks, cooked butchered meat, sausage, and rich sausage
--Custom ChestCavityManagers can be set for any EntityType using ChestCavityManagerFactory::register. This will overwrite any existing ChestCavityManager for that entity
--Custom chest cavity contents are set by overwriting fillChestCavity
--Minimum organs scores (like in ZombieChestCavityManagers) are set by overwriting resetOrganScores
--Special organ-entity interactions (like animals with animal organs or slimes with slimeballs) are set by overwriting catchExceptionalOrgan
--Loot generation for unopened ChestCavityManagers can be set by overwriting generateLootDrops
-Organ score identifiers moved from CCItems to CCOrganScores
-spine score renamed to nervous_system score to further differentiate it from bone score
-muscle score separated into strength and speed scores so that future content (or addons) can have different quality for each half.