private static void Postfix(string id, ref ProcGen.Mob __result)
 {
     if (__result != null)
     {
         var name       = __result.name;
         var prefabName = __result.prefabName;
         if (prefabName == null)
         {
             prefabName = name;
         }
         if (name != null && !patched.Contains(name) && critters.Contains(prefabName))
         {
             var densityModifier = xscale * yscale;
             if (name.Equals("Mole") || prefabName.Equals("Mole"))
             {
                 densityModifier *= 4.0f;
             }
             patched.Add(name);
             Console.WriteLine("patching density of " + name);
             Console.WriteLine("pre-patch density: " + __result.density.min + ", " + __result.density.max);
             typeof(ProcGen.SampleDescriber).GetProperty("density", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
             .SetValue(__result, new ProcGen.MinMax(__result.density.min * densityModifier, __result.density.max * densityModifier), null);
             Console.WriteLine("pst-patch density: " + __result.density.min + ", " + __result.density.max);
         }
     }
 }
 private static void Postfix(string id, ref ProcGen.Mob __result)
 {
     if (__result != null)
     {
         var name       = __result.name;
         var prefabName = __result.prefabName;
         if (prefabName == null)
         {
             prefabName = name;
         }
         if (name != null && !patched.Contains(name))
         {
             var densityModifier = SizeNotIncludedOptions.Instance.Density();
             // surface biome gets mostly deleted. I don't know why. So just give the player lots of voles to compensate. squaring it is probably fine.
             if (name.Equals("Mole") || prefabName.Equals("Mole"))
             {
                 densityModifier *= densityModifier;
             }
             patched.Add(name);
             typeof(ProcGen.SampleDescriber).GetProperty("density", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
             .SetValue(__result, new ProcGen.MinMax(__result.density.min * densityModifier, __result.density.max * densityModifier), null);
         }
     }
 }