Better InteractPacket handling and added ACTION_MOUSEOVER constant

This commit is contained in:
Dylan K. Taylor 2016-10-27 13:15:53 +01:00
parent 9d16f145dd
commit 3d2f9f0e74
2 changed files with 105 additions and 110 deletions

View File

@ -2323,16 +2323,9 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
$target = $this->level->getEntity($packet->target); $target = $this->level->getEntity($packet->target);
$cancelled = false; $cancelled = false;
switch($packet->action){
if($packet->action !== InteractPacket::ACTION_LEFT_CLICK){ case InteractPacket::ACTION_LEFT_CLICK: //Attack
// TODO handle if($target instanceof Player and $this->server->getConfigBoolean("pvp", true) === false){
break;
}
if(
$target instanceof Player and
$this->server->getConfigBoolean("pvp", true) === false
){
$cancelled = true; $cancelled = true;
} }
@ -2441,6 +2434,10 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
$this->exhaust(0.3, PlayerExhaustEvent::CAUSE_ATTACK); $this->exhaust(0.3, PlayerExhaustEvent::CAUSE_ATTACK);
} }
} }
break;
default:
break; //TODO: handle other actions
}
break; break;
case ProtocolInfo::ANIMATE_PACKET: case ProtocolInfo::ANIMATE_PACKET:

View File

@ -30,11 +30,9 @@ class InteractPacket extends DataPacket{
const ACTION_RIGHT_CLICK = 1; const ACTION_RIGHT_CLICK = 1;
const ACTION_LEFT_CLICK = 2; const ACTION_LEFT_CLICK = 2;
const ACTION_LEAVE_VEHICLE = 3; const ACTION_LEAVE_VEHICLE = 3;
/** @deprecated Do NOT use this. This constant is misleading and will be removed in the future */ const ACTION_MOUSEOVER = 4;
const ACTION_JUMP = 3;
public $action; public $action;
public $eid;
public $target; public $target;
public function decode(){ public function decode(){