From 7d37913ea4f83807c508cec81b39744d69f481f8 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 3 Dec 2011 18:18:59 +0200 Subject: Add ABM required neighbor check --- src/environment.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/environment.h') diff --git a/src/environment.h b/src/environment.h index 7759d43af..e14a9c485 100644 --- a/src/environment.h +++ b/src/environment.h @@ -108,9 +108,15 @@ public: ActiveBlockModifier(){}; virtual ~ActiveBlockModifier(){}; + // Set of contents to trigger on virtual std::set getTriggerContents()=0; + // Set of required neighbors (trigger doesn't happen if none are found) + // Empty = do not check neighbors + virtual std::set getRequiredNeighbors() + { return std::set(); } + // Trigger interval in seconds virtual float getTriggerInterval() = 0; - // chance of (1 / return value), 0 is disallowed + // Random chance of (1 / return value), 0 is disallowed virtual u32 getTriggerChance() = 0; // This is called usually at interval for 1/chance of the nodes virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n){}; -- cgit v1.2.3