mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-08-20 10:00:31 +00:00
Show blocks in hand to other players
This commit is contained in:
parent
f987ff232b
commit
2d9c400392
@ -111,6 +111,11 @@ class Entity extends stdClass{
|
|||||||
"y" => $this->y,
|
"y" => $this->y,
|
||||||
"z" => $this->z,
|
"z" => $this->z,
|
||||||
));
|
));
|
||||||
|
$player->dataPacket(MC_PLAYER_EQUIPMENT, array(
|
||||||
|
"eid" => $this->eid,
|
||||||
|
"block" => $this->player->equipment[0],
|
||||||
|
"meta" => $this->player->equipment[1],
|
||||||
|
));
|
||||||
break;
|
break;
|
||||||
case ENTITY_ITEM:
|
case ENTITY_ITEM:
|
||||||
$player->dataPacket(MC_ADD_ITEM_ENTITY, array(
|
$player->dataPacket(MC_ADD_ITEM_ENTITY, array(
|
||||||
|
@ -28,7 +28,7 @@ the Free Software Foundation, either version 3 of the License, or
|
|||||||
|
|
||||||
class Player{
|
class Player{
|
||||||
private $server, $timeout, $connected, $evid, $queue, $buffer;
|
private $server, $timeout, $connected, $evid, $queue, $buffer;
|
||||||
var $clientID, $ip, $port, $counter, $username, $eid, $data, $entity, $auth, $CID, $MTU, $spawned;
|
var $clientID, $ip, $port, $counter, $username, $eid, $data, $entity, $auth, $CID, $MTU, $spawned, $equipment;
|
||||||
function __construct($server, $clientID, $ip, $port, $MTU){
|
function __construct($server, $clientID, $ip, $port, $MTU){
|
||||||
$this->queue = array();
|
$this->queue = array();
|
||||||
$this->buffer = array();
|
$this->buffer = array();
|
||||||
@ -43,6 +43,7 @@ class Player{
|
|||||||
$this->port = $port;
|
$this->port = $port;
|
||||||
$this->timeout = microtime(true) + 25;
|
$this->timeout = microtime(true) + 25;
|
||||||
$this->evid = array();
|
$this->evid = array();
|
||||||
|
$this->equipment = array(1, 0);
|
||||||
$this->spawned = false;
|
$this->spawned = false;
|
||||||
$this->evid[] = $this->server->event("server.tick", array($this, "onTick"));
|
$this->evid[] = $this->server->event("server.tick", array($this, "onTick"));
|
||||||
$this->evid[] = $this->server->event("server.close", array($this, "close"));
|
$this->evid[] = $this->server->event("server.close", array($this, "close"));
|
||||||
@ -112,6 +113,12 @@ class Player{
|
|||||||
|
|
||||||
public function eventHandler($data, $event){
|
public function eventHandler($data, $event){
|
||||||
switch($event){
|
switch($event){
|
||||||
|
case "player.equipment.change":
|
||||||
|
if($data["eid"] === $this->eid){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$this->dataPacket(MC_PLAYER_EQUIPMENT, $data);
|
||||||
|
break;
|
||||||
case "world.block.change":
|
case "world.block.change":
|
||||||
$this->dataPacket(MC_UPDATE_BLOCK, $data);
|
$this->dataPacket(MC_UPDATE_BLOCK, $data);
|
||||||
break;
|
break;
|
||||||
@ -278,6 +285,7 @@ class Player{
|
|||||||
$this->evid[] = $this->server->event("entity.remove", array($this, "eventHandler"));
|
$this->evid[] = $this->server->event("entity.remove", array($this, "eventHandler"));
|
||||||
$this->evid[] = $this->server->event("entity.move", array($this, "eventHandler"));
|
$this->evid[] = $this->server->event("entity.move", array($this, "eventHandler"));
|
||||||
$this->evid[] = $this->server->event("entity.animate", array($this, "eventHandler"));
|
$this->evid[] = $this->server->event("entity.animate", array($this, "eventHandler"));
|
||||||
|
$this->evid[] = $this->server->event("player.equipment.change", array($this, "eventHandler"));
|
||||||
$this->evid[] = $this->server->event("world.block.change", array($this, "eventHandler"));
|
$this->evid[] = $this->server->event("world.block.change", array($this, "eventHandler"));
|
||||||
console("[DEBUG] Player with EID ".$this->eid." \"".$this->username."\" spawned!", true, true, 2);
|
console("[DEBUG] Player with EID ".$this->eid." \"".$this->username."\" spawned!", true, true, 2);
|
||||||
|
|
||||||
@ -294,6 +302,10 @@ class Player{
|
|||||||
break;
|
break;
|
||||||
case MC_PLAYER_EQUIPMENT:
|
case MC_PLAYER_EQUIPMENT:
|
||||||
console("[DEBUG] EID ".$this->eid." has now ".$data["block"].":".$data["meta"]." in their hands!", true, true, 2);
|
console("[DEBUG] EID ".$this->eid." has now ".$data["block"].":".$data["meta"]." in their hands!", true, true, 2);
|
||||||
|
$data["eid"] = $this->eid;
|
||||||
|
$this->equipment[0] = $data["block"];
|
||||||
|
$this->equipment[1] = $data["meta"];
|
||||||
|
$this->server->trigger("player.equipment.change", $data);
|
||||||
break;
|
break;
|
||||||
case MC_REQUEST_CHUNK:
|
case MC_REQUEST_CHUNK:
|
||||||
$this->actionQueue('
|
$this->actionQueue('
|
||||||
|
Loading…
x
Reference in New Issue
Block a user