Optimization: Meats

MOD Desc
This mod reduces the meat variety in the game. Aside from insect meat and humanlike meats, every other meat is treated the same as far as gameplay mechanics go. So why have them? This mod simply runs a catch-all patch operation across all animals (except insectoids and humanlikes) to only drop raw meat.

Who would want this?

  • People who don’t care about all the animal meat variety since it all ends up being treated the same.
  • People who would prefer simplifying their meat storage situation, since there would be less stacks.
  • People interested in slightly improved load times due to fewer defs.
  • Compatibility

    • It should work on most animal mods as well, although there is a small possibility they may avoid the patching process depending on how the author handles their abstract layers. Should this happen, their meat will just work the same as it normally would. I haven’t run into any animal mods that have this problem yet.
    • I’ve never seen one before, but if there’s such thing as a mod which adds prepared meals that can only be cooked from a very specific type of meat, then there would be a conflict.
    • Strange meats from Call of Cthulhu mods are unaffected by this mod.
    • Fish meat from fishing mods are unaffected.
    • Is not compatible with Animal Logic’s ‘Convert any generic meat into chicken meat upon butchering’ mod setting feature (which is disabled by default).

    Load order Load order probably doesn’t matter, but just in case, I would recommend this:
    Core<mods that add new animals>Optimization: Meats
    Save game compatible? There are three things to note when using this on an existing game:

  • Any meat, and meals made from meat, will bug out, since those meats were removed from the game.
  • Squirrel meat is a unique definition in the game and requires some extra attention. Make sure you remove any squirrel meat from your game before using this mod. You can also enable dev tools in the options to force-delete any from the map.
  • You may get some errors about your storage and bill filters referencing removed meats. These should clear up next save and reload.
  • Extra



    • It’s throwing this error for mega fauna animals i believe Config error in Gigantopithecus: tries to use meat from Monkey which uses meat from CowVerse.Log:Error(String, Boolean)Verse.DefDatabase`1:ErrorCheckAllDefs()System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)System.Reflection.MethodBase:Invoke(Object, Object[])Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)Verse.PlayDataLoader:DoPlayLoad()Verse.PlayDataLoader:LoadAllPlayData(Boolean)Verse.Root:m__1()Verse.LongEventHandler:RunEventFromAnotherThread(Action)Verse.LongEventHandler:m__1()
    • – the main culprit to long load time is bloating out the definitions database. Definitions being things (buildings, items, resources), recipes, factions, body parts, nearly everything. The bigger the database, the longer it takes to validate every individual thing within the database on startup. So there’s a compounding effect the more mods you have.My couple of optimization mods so far are just aiming at some low-hanging fruit to trim down the database with minimal or no gameplay impact. There are also cases where I can rewrite a patch in a more optimized way, for example my AnimalCollabProj patch pack. The A Dog Says patch replaces the existing one so it just edits existing defs instead of cloning new defs.
    • Here’s a full list of the meats that I have in my game that aren’t being turned into generic Raw Meat or Insect Meat. The flesh of other pawn races doesn’t get turned into ‘Human Meat’ but that’s fine, having a few distinct types of ‘Sentient Being’ flesh is pretty okay by me.Archotech Centipede Meat (Genetic Rim)Mechaspider Meat (Genetic Rim)Nondescript Meat (RimBees)Synthetic Meat (Questionable Ethics Enhanced, probably fine as is)Aerofleet Meat (Alpha Animals, might have some unique properties?)Blood Buoquet (Alpha Biomes, some kind of meat fruit?)Ironhusk Beetle Meat (Alpha Animals)Ocular Jelly Meat (Alpha Animals, might have some unique properties?)Sand Squid Meat (Alpha Animals)
    • I’m getting this error from the logs Could not resolve cross-reference: No Verse.ThingDef named Meat_Muffalo found to give to Verse.RecipeDef ButcherCorpseFleshVerse.Log:Error(String, Boolean)Verse.WantedRefForObject:TryResolve(FailMode)Verse.c__DisplayClass15_1:b__0(WantedRef)Verse.c__DisplayClass6_1`1:b__0(Object)System.Threading.QueueUserWorkItemCallback:WaitCallback_Context(Object)System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)System.Threading.QueueUserWorkItemCallback:System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()System.Threading.ThreadPoolWorkQueue:Dispatch()System.Threading._ThreadPoolWaitCallback:PerformWaitCallback()
    • yes i got the same messageConfig error in Gigantopithecus: tries to use meat from Monkey which uses meat from CowVerse.Log:Error(String, Boolean)Verse.DefDatabase`1:ErrorCheckAllDefs()System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)System.Reflection.MethodBase:Invoke(Object, Object[])Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)Verse.PlayDataLoader:DoPlayLoad()Verse.PlayDataLoader:LoadAllPlayData(Boolean)Verse.Root:m__1()Verse.LongEventHandler:RunEventFromAnotherThread(Action)Verse.LongEventHandler:m__1()

    Leave a Reply

    Your email address will not be published. Required fields are marked *