#include "util/numeric.h"
#include "mapnode.h"
#include "mapblock.h"
-#include "jthread/jmutex.h"
+#include "threading/mutex.h"
+#include "network/networkprotocol.h" // for AccessDeniedCode
class ServerEnvironment;
class ActiveBlockModifier;
bool m_cache_enable_shaders;
private:
- JMutex m_timeofday_lock;
- JMutex m_time_lock;
+ Mutex m_timeofday_lock;
+ Mutex m_time_lock;
};
float getSendRecommendedInterval()
{ return m_recommended_send_interval; }
- void kickAllPlayers(const std::string &reason);
+ void kickAllPlayers(AccessDeniedCode reason,
+ const std::string &str_reason, bool reconnect);
// Save players
void saveLoadedPlayers();
void savePlayer(const std::string &playername);
std::set<v3s16>* getForceloadedBlocks() { return &m_active_blocks.m_forceloaded_list; };
+ // Sets the static object status all the active objects in the specified block
+ // This is only really needed for deleting blocks from the map
+ void setStaticForActiveObjectsInBlock(v3s16 blockpos,
+ bool static_exists, v3s16 static_block=v3s16(0,0,0));
+
private:
/*
IrrlichtDevice *m_irr;
std::map<u16, ClientActiveObject*> m_active_objects;
std::vector<ClientSimpleObject*> m_simple_objects;
- std::list<ClientEnvEvent> m_client_event_queue;
+ std::queue<ClientEnvEvent> m_client_event_queue;
IntervalLimiter m_active_object_light_update_interval;
IntervalLimiter m_lava_hurt_interval;
IntervalLimiter m_drowning_interval;