Fixed VIEW gamemode crash

This commit is contained in:
Shoghi Cervantes Pueyo 2013-04-18 16:54:48 +02:00
parent bcb76b51f4
commit 96baeaaad2

View File

@ -558,7 +558,7 @@ class Player{
if(($this->gamemode & 0x01) === 0x01 and ($this->gamemode & 0x02) === 0x02){ if(($this->gamemode & 0x01) === 0x01 and ($this->gamemode & 0x02) === 0x02){
$this->inventory = array(); $this->inventory = array();
foreach(BlockAPI::$creative as $item){ foreach(BlockAPI::$creative as $item){
$this->inventory[] = array(AIR, 0, 0); $this->inventory[] = array(DANDELION, 0, 1);
} }
$this->sendInventory(); $this->sendInventory();
} }
@ -756,7 +756,7 @@ class Player{
$this->inventory = array(); $this->inventory = array();
if(($this->gamemode & 0x02) === 0x02){ if(($this->gamemode & 0x02) === 0x02){
foreach(BlockAPI::$creative as $item){ foreach(BlockAPI::$creative as $item){
$this->inventory[] = array(AIR, 0, 0); $this->inventory[] = array(DANDELION, 0, 1);
} }
}else{ }else{
foreach(BlockAPI::$creative as $item){ foreach(BlockAPI::$creative as $item){
@ -878,6 +878,8 @@ class Player{
$data["item"] = BlockAPI::getItem($data["block"], $data["meta"]); $data["item"] = BlockAPI::getItem($data["block"], $data["meta"]);
if(($this->hasItem($data["block"], $data["meta"]) or $this->itemEnforcement !== true) and $this->server->handle("player.equipment.change", $data) !== false){ if(($this->hasItem($data["block"], $data["meta"]) or $this->itemEnforcement !== true) and $this->server->handle("player.equipment.change", $data) !== false){
$this->equipment = $data["item"]; $this->equipment = $data["item"];
}elseif($this->itemEnforcement === true){
$this->sendSettings();
} }
break; break;
case MC_REQUEST_CHUNK: case MC_REQUEST_CHUNK:
@ -893,6 +895,7 @@ class Player{
if($this->blocked === true or Utils::distance($this->entity->position, $data) > 10){ if($this->blocked === true or Utils::distance($this->entity->position, $data) > 10){
break; break;
}elseif(!$this->hasItem($data["block"], $data["meta"]) and $this->itemEnforcement === true){ }elseif(!$this->hasItem($data["block"], $data["meta"]) and $this->itemEnforcement === true){
$this->sendInventory();
break; break;
} }
$this->server->api->block->playerBlockAction($this, new Vector3($data["x"], $data["y"], $data["z"]), $data["face"], $data["fx"], $data["fy"], $data["fz"]); $this->server->api->block->playerBlockAction($this, new Vector3($data["x"], $data["y"], $data["z"]), $data["face"], $data["fx"], $data["fy"], $data["fz"]);
@ -917,7 +920,7 @@ class Player{
if($this->spawned === false){ if($this->spawned === false){
break; break;
} }
if($this->blocked === false and isset($this->server->entities[$data["target"]]) and Utils::distance($this->entity->position, $this->server->entities[$data["target"]]->position) <= 8){ if($this->gamemode !== VIEW and $this->blocked === false and isset($this->server->entities[$data["target"]]) and Utils::distance($this->entity->position, $this->server->entities[$data["target"]]->position) <= 8){
$target = $this->server->api->entity->get($data["target"]); $target = $this->server->api->entity->get($data["target"]);
$data["targetentity"] = $target; $data["targetentity"] = $target;
$data["entity"] = $this->entity; $data["entity"] = $this->entity;