diff --git a/src/content_abm.cpp b/src/content_abm.cpp
index 44978c5bbe94723d01a0691f6a55fcb3f3933e2e..63867b78b6baff9b8e07f2e386fc66e72031b100 100644
--- a/src/content_abm.cpp
+++ b/src/content_abm.cpp
@@ -40,9 +40,9 @@ class GrowGrassABM : public ActiveBlockModifier
 		return s;
 	}
 	virtual float getTriggerInterval()
-	{ return 10.0; }
+	{ return 2.0; }
 	virtual u32 getTriggerChance()
-	{ return 20; }
+	{ return 200; }
 	virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n)
 	{
 		INodeDefManager *ndef = env->getGameDef()->ndef();
@@ -70,9 +70,9 @@ class RemoveGrassABM : public ActiveBlockModifier
 		return s;
 	}
 	virtual float getTriggerInterval()
-	{ return 10.0; }
+	{ return 2.0; }
 	virtual u32 getTriggerChance()
-	{ return 1; }
+	{ return 20; }
 	virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n)
 	{
 		INodeDefManager *ndef = env->getGameDef()->ndef();
@@ -152,9 +152,9 @@ class SpawnInCavesABM : public ActiveBlockModifier
 		return s;
 	}
 	virtual float getTriggerInterval()
-	{ return 10.0; }
+	{ return 2.0; }
 	virtual u32 getTriggerChance()
-	{ return 200; }
+	{ return 1000; }
 	virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n,
 			u32 active_object_count, u32 active_object_count_wider)
 	{