std::set<std::string> privsToSet(u64 privs)
{
std::set<std::string> s;
- if(privs & PRIV_BUILD)
- s.insert("build");
+ if(privs & PRIV_INTERACT)
+ s.insert("interact");
if(privs & PRIV_TELEPORT)
s.insert("teleport");
if(privs & PRIV_SETTIME)
std::string privsToString(u64 privs)
{
std::ostringstream os(std::ios_base::binary);
- if(privs & PRIV_BUILD)
- os<<"build,";
+ if(privs & PRIV_INTERACT)
+ os<<"interact,";
if(privs & PRIV_TELEPORT)
os<<"teleport,";
if(privs & PRIV_SETTIME)
{
std::string s = trim(f.next(","));
if(s == "build")
- privs |= PRIV_BUILD;
+ privs |= PRIV_INTERACT;
+ else if(s == "interact")
+ privs |= PRIV_INTERACT;
else if(s == "teleport")
privs |= PRIV_TELEPORT;
else if(s == "settime")
// of the player, and define things they're allowed to do. See also
// the static methods Player::privsToString and stringToPrivs that
// convert these to human-readable form.
-const u64 PRIV_BUILD = 1; // Can build - i.e. modify the world
+const u64 PRIV_INTERACT = 1; // Can interact
const u64 PRIV_TELEPORT = 2; // Can teleport
const u64 PRIV_SETTIME = 4; // Can set the time
const u64 PRIV_PRIVS = 8; // Can grant and revoke privileges
// Default privileges - these can be overriden for new players using the
// config option "default_privs" - however, this value still applies for
// players that existed before the privileges system was added.
-const u64 PRIV_DEFAULT = PRIV_BUILD|PRIV_SHOUT;
+const u64 PRIV_DEFAULT = PRIV_INTERACT|PRIV_SHOUT;
const u64 PRIV_ALL = 0x7FFFFFFFFFFFFFFFULL;
const u64 PRIV_INVALID = 0x8000000000000000ULL;
}
else if(command == TOSERVER_SIGNNODETEXT)
{
- if((getPlayerPrivs(player) & PRIV_BUILD) == 0)
+ if((getPlayerPrivs(player) & PRIV_INTERACT) == 0)
return;
/*
u16 command
// Disallow moving items in elsewhere than player's inventory
// if not allowed to build
- if((getPlayerPrivs(player) & PRIV_BUILD) == 0
+ if((getPlayerPrivs(player) & PRIV_INTERACT) == 0
&& (ma->from_inv != "current_player"
|| ma->to_inv != "current_player"))
{
{
IDropAction *da = (IDropAction*)a;
// Disallow dropping items if not allowed to build
- if((getPlayerPrivs(player) & PRIV_BUILD) == 0)
+ if((getPlayerPrivs(player) & PRIV_INTERACT) == 0)
{
delete a;
return;
/*
Make sure the player is allowed to do it
*/
- bool build_priv = (getPlayerPrivs(player) & PRIV_BUILD) != 0;
+ bool build_priv = (getPlayerPrivs(player) & PRIV_INTERACT) != 0;
if(!build_priv)
{
infostream<<"Ignoring interaction from player "<<player->getName()