bool climbable;
// Player can build on these
bool buildable_to;
+ // Player cannot build to these (placement prediction disabled)
+ bool rightclickable;
// Whether the node is non-liquid, source liquid or flowing liquid
enum LiquidType liquid_type;
// If the content is liquid, this is the flowing version of the liquid.
// 1 giving almost instantaneous propagation and 7 being
// the slowest possible
u8 liquid_viscosity;
+ // Is liquid renewable (new liquid source will be created between 2 existing)
+ bool liquid_renewable;
// Amount of light the node emits
u8 light_source;
u32 damage_per_second;
ContentFeatures();
~ContentFeatures();
void reset();
- void serialize(std::ostream &os);
+ void serialize(std::ostream &os, u16 protocol_version);
void deSerialize(std::istream &is);
+ void serializeOld(std::ostream &os, u16 protocol_version);
+ void deSerializeOld(std::istream &is, int version);
/*
Some handy methods
const=0;
virtual const ContentFeatures& get(const std::string &name) const=0;
- virtual void serialize(std::ostream &os)=0;
+ virtual void serialize(std::ostream &os, u16 protocol_version)=0;
};
class IWritableNodeDefManager : public INodeDefManager
*/
virtual void updateTextures(ITextureSource *tsrc)=0;
- virtual void serialize(std::ostream &os)=0;
+ virtual void serialize(std::ostream &os, u16 protocol_version)=0;
virtual void deSerialize(std::istream &is)=0;
};