From 63611932ebae93620386b26cfa82f7c4552b22ff Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 29 May 2011 21:11:16 +0300 Subject: player passwords and privileges in world/auth.txt --HG-- extra : rebase_source : 7260636295d9068fbeeddf4143c89f2b8a91446c --- src/environment.h | 51 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 19 deletions(-) (limited to 'src/environment.h') diff --git a/src/environment.h b/src/environment.h index ac290f932..f5cce5933 100644 --- a/src/environment.h +++ b/src/environment.h @@ -112,25 +112,6 @@ public: private: }; -/* - Active block modifier interface -*/ - -class ServerEnvironment; - -class ActiveBlockModifier -{ -public: - ActiveBlockModifier(){}; - virtual ~ActiveBlockModifier(){}; - - virtual u32 getTriggerContentCount(){ return 1;} - virtual u8 getTriggerContent(u32 i) = 0; - virtual float getActiveInterval() = 0; - virtual u32 getActiveChance() = 0; - virtual void triggerEvent(ServerEnvironment *env, v3s16 p) = 0; -}; - /* The server-side environment. @@ -140,6 +121,7 @@ public: #include "serverobject.h" class Server; +class ActiveBlockModifier; class ServerEnvironment : public Environment { @@ -178,6 +160,7 @@ public: /* ActiveObjects + ------------------------------------------- */ ServerActiveObject* getActiveObject(u16 id); @@ -214,6 +197,13 @@ public: */ ActiveObjectMessage getActiveObjectMessage(); + /* + ActiveBlockModifiers + ------------------------------------------- + */ + + void addActiveBlockModifier(ActiveBlockModifier *abm); + private: /* Remove all objects that satisfy (m_removed && m_known_by_count==0) @@ -263,6 +253,29 @@ private: float m_game_time_fraction_counter; }; +/* + Active block modifier interface. + + These are fed into ServerEnvironment at initialization time; + ServerEnvironment handles deleting them. +*/ + +class ActiveBlockModifier +{ +public: + ActiveBlockModifier(){}; + virtual ~ActiveBlockModifier(){}; + + //virtual core::list update(ServerEnvironment *env) = 0; + virtual u32 getTriggerContentCount(){ return 1;} + virtual u8 getTriggerContent(u32 i) = 0; + virtual float getActiveInterval() = 0; + // chance of (1 / return value), 0 is disallowed + virtual u32 getActiveChance() = 0; + // This is called usually at interval for 1/chance of the nodes + virtual void triggerEvent(ServerEnvironment *env, v3s16 p) = 0; +}; + #ifndef SERVER #include "clientobject.h" -- cgit v1.2.3