- /*
- MapBlockObject stuff
- DEPRECATED
- */
-
- /*void serializeObjects(std::ostream &os, u8 version)
- {
- m_objects.serialize(os, version);
- }*/
- // If smgr!=NULL, new objects are added to the scene
- void updateObjects(std::istream &is, u8 version,
- scene::ISceneManager *smgr, u32 daynight_ratio)
- {
- m_objects.update(is, version, smgr, daynight_ratio);
-
- raiseModified(MOD_STATE_WRITE_NEEDED);
- }
- void clearObjects()
- {
- m_objects.clear();
-
- raiseModified(MOD_STATE_WRITE_NEEDED);
- }
- void addObject(MapBlockObject *object)
- throw(ContainerFullException, AlreadyExistsException)
- {
- m_objects.add(object);
-
- raiseModified(MOD_STATE_WRITE_NEEDED);
- }
- void removeObject(s16 id)
- {
- m_objects.remove(id);
-
- raiseModified(MOD_STATE_WRITE_NEEDED);
- }
- MapBlockObject * getObject(s16 id)
- {
- return m_objects.get(id);
- }
- JMutexAutoLock * getObjectLock()
- {
- return m_objects.getLock();
- }
-
- /*
- Moves objects, deletes objects and spawns new objects
- */
- void stepObjects(float dtime, bool server, u32 daynight_ratio);
-
- // origin is relative to block
- void getObjects(v3f origin, f32 max_d,
- core::array<DistanceSortedObject> &dest)
- {
- m_objects.getObjects(origin, max_d, dest);
- }
-
- s32 getObjectCount()
- {
- return m_objects.getCount();
- }
-
-#ifndef SERVER // Only on client
- /*
- Methods for setting temporary modifications to nodes for
- drawing
-
- returns true if the mod was different last time
- */
- bool setTempMod(v3s16 p, const NodeMod &mod)
- {
- /*dstream<<"setTempMod called on block"
- <<" ("<<p.X<<","<<p.Y<<","<<p.Z<<")"
- <<", mod.type="<<mod.type
- <<", mod.param="<<mod.param
- <<std::endl;*/
- JMutexAutoLock lock(m_temp_mods_mutex);
-
- return m_temp_mods.set(p, mod);
- }
- // Returns true if there was one
- bool getTempMod(v3s16 p, NodeMod *mod)
- {
- JMutexAutoLock lock(m_temp_mods_mutex);
-
- return m_temp_mods.get(p, mod);
- }
- bool clearTempMod(v3s16 p)
- {
- JMutexAutoLock lock(m_temp_mods_mutex);
-
- return m_temp_mods.clear(p);
- }
- bool clearTempMods()
- {
- JMutexAutoLock lock(m_temp_mods_mutex);
-
- return m_temp_mods.clear();
- }
- void copyTempMods(NodeModMap &dst)
- {
- JMutexAutoLock lock(m_temp_mods_mutex);
- m_temp_mods.copy(dst);
- }
-#endif
-