/** * Sends all the option flags */ public function sendSettings() { /* bit mask | flag name 0x00000001 world_inmutable 0x00000002 no_pvp 0x00000004 no_pvm 0x00000008 no_mvp 0x00000010 static_time 0x00000020 nametags_visible 0x00000040 auto_jump 0x00000080 allow_fly 0x00000100 noclip 0x00000200 ? 0x00000400 ? 0x00000800 ? 0x00001000 ? 0x00002000 ? 0x00004000 ? 0x00008000 ? 0x00010000 ? 0x00020000 ? 0x00040000 ? 0x00080000 ? 0x00100000 ? 0x00200000 ? 0x00400000 ? 0x00800000 ? 0x01000000 ? 0x02000000 ? 0x04000000 ? 0x08000000 ? 0x10000000 ? 0x20000000 ? 0x40000000 ? 0x80000000 ? */ $flags = 0; if ($this->isAdventure()) { $flags |= 0x1; //Do not allow placing/breaking blocks, adventure mode } /*if($nametags !== false){ $flags |= 0x20; //Show Nametags }*/ if ($this->autoJump) { $flags |= 0x40; } if ($this->allowFlight) { $flags |= 0x80; } if ($this->isSpectator()) { $flags |= 0x100; } $pk = new AdventureSettingsPacket(); $pk->flags = $flags; $this->dataPacket($pk->setChannel(Network::CHANNEL_PRIORITY)); }
/** * Sends all the option flags * * WARNING: Do not use this, it's only for internal use. * Changes to this function won't be recorded on the version. * * @param bool $nametags */ public function sendSettings($nametags = true) { /* bit mask | flag name 0x00000001 world_inmutable 0x00000002 - 0x00000004 - 0x00000008 - (autojump) 0x00000010 - 0x00000020 nametags_visible 0x00000040 ? 0x00000080 ? 0x00000100 ? 0x00000200 ? 0x00000400 ? 0x00000800 ? 0x00001000 ? 0x00002000 ? 0x00004000 ? 0x00008000 ? 0x00010000 ? 0x00020000 ? 0x00040000 ? 0x00080000 ? 0x00100000 ? 0x00200000 ? 0x00400000 ? 0x00800000 ? 0x01000000 ? 0x02000000 ? 0x04000000 ? 0x08000000 ? 0x10000000 ? 0x20000000 ? 0x40000000 ? 0x80000000 ? */ $flags = 0; if ($this->isAdventure()) { $flags |= 0x1; //Do not allow placing/breaking blocks, adventure mode } if ($nametags !== false) { $flags |= 0x20; //Show Nametags } $pk = new AdventureSettingsPacket(); $pk->flags = $flags; $this->dataPacket($pk->setChannel(Network::CHANNEL_PRIORITY)); }