mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-15 10:19:39 +00:00
Fixed things
This commit is contained in:
parent
98e9b5594c
commit
48af130269
@ -371,7 +371,7 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
$this->spawnPosition = $this->server->getDefaultLevel()->getSafeSpawn();
|
$this->spawnPosition = $this->server->getDefaultLevel()->getSafeSpawn();
|
||||||
$this->timeout = microtime(true) + 20;
|
$this->timeout = microtime(true) + 20;
|
||||||
$this->gamemode = $this->server->getGamemode();
|
$this->gamemode = $this->server->getGamemode();
|
||||||
$this->getLevel() = $this->server->getDefaultLevel();
|
$this->setLevel($this->server->getDefaultLevel(), true);
|
||||||
$this->viewDistance = $this->server->getViewDistance();
|
$this->viewDistance = $this->server->getViewDistance();
|
||||||
$this->slot = 0;
|
$this->slot = 0;
|
||||||
$this->hotbar = array(0, -1, -1, -1, -1, -1, -1, -1, -1);
|
$this->hotbar = array(0, -1, -1, -1, -1, -1, -1, -1, -1);
|
||||||
@ -488,7 +488,7 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
* @param bool $force
|
* @param bool $force
|
||||||
* @param bool $ev
|
* @param bool $ev
|
||||||
*
|
*
|
||||||
* @return bool|void
|
* @return void|bool
|
||||||
*/
|
*/
|
||||||
public function getNextChunk($force = false, $ev = null){
|
public function getNextChunk($force = false, $ev = null){
|
||||||
if($this->connected === false){
|
if($this->connected === false){
|
||||||
@ -566,7 +566,7 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$this->chunkCount = [];
|
$this->chunkCount = [];
|
||||||
foreach($cnt as $i => $count){
|
foreach($cnt as $count){
|
||||||
$this->chunkCount[$count] = true;
|
$this->chunkCount[$count] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -803,8 +803,8 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
*/
|
*/
|
||||||
public function checkSleep(){
|
public function checkSleep(){
|
||||||
if($this->sleeping !== false){
|
if($this->sleeping !== false){
|
||||||
//TODO
|
//TODO: Move to Level
|
||||||
if($this->server->api->time->getPhase($this->getLevel()) === "night"){
|
/*if($this->server->api->time->getPhase($this->getLevel()) === "night"){
|
||||||
foreach($this->getLevel()->getPlayers() as $p){
|
foreach($this->getLevel()->getPlayers() as $p){
|
||||||
if($p->sleeping === false){
|
if($p->sleeping === false){
|
||||||
return;
|
return;
|
||||||
@ -814,7 +814,7 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
foreach($this->getLevel()->getPlayers() as $p){
|
foreach($this->getLevel()->getPlayers() as $p){
|
||||||
$p->stopSleep();
|
$p->stopSleep();
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -1336,12 +1336,14 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
$nbt["NameTag"] = $this->username;
|
$nbt["NameTag"] = $this->username;
|
||||||
}
|
}
|
||||||
$this->gamemode = $nbt["playerGameType"] & 0x03;
|
$this->gamemode = $nbt["playerGameType"] & 0x03;
|
||||||
if(($this->getLevel() = $this->server->getLevel($nbt["Level"])) === null){
|
if(($level = $this->server->getLevel($nbt["Level"])) === null){
|
||||||
$this->getLevel() = $this->server->getDefaultLevel();
|
$this->setLevel($this->server->getDefaultLevel(), true);
|
||||||
$nbt["Level"] = $this->getLevel()->getName();
|
$nbt["Level"] = $this->getLevel()->getName();
|
||||||
$nbt["Pos"][0] = $this->getLevel()->getSpawn()->x;
|
$nbt["Pos"][0] = $this->getLevel()->getSpawn()->x;
|
||||||
$nbt["Pos"][1] = $this->getLevel()->getSpawn()->y;
|
$nbt["Pos"][1] = $this->getLevel()->getSpawn()->y;
|
||||||
$nbt["Pos"][2] = $this->getLevel()->getSpawn()->z;
|
$nbt["Pos"][2] = $this->getLevel()->getSpawn()->z;
|
||||||
|
}else{
|
||||||
|
$this->setLevel($level, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!($nbt instanceof Compound)){
|
if(!($nbt instanceof Compound)){
|
||||||
@ -1351,6 +1353,8 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->achievements = [];
|
$this->achievements = [];
|
||||||
|
|
||||||
|
/** @var Byte $achievement */
|
||||||
foreach($nbt->Achievements as $achievement){
|
foreach($nbt->Achievements as $achievement){
|
||||||
$this->achievements[$achievement->getName()] = $achievement->getValue() > 0 ? true : false;
|
$this->achievements[$achievement->getName()] = $achievement->getValue() > 0 ? true : false;
|
||||||
}
|
}
|
||||||
@ -1509,7 +1513,7 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
$item = $this->getSlot($packet->slot);
|
$item = $this->getSlot($packet->slot);
|
||||||
}
|
}
|
||||||
|
|
||||||
if($packet->slot === false){
|
if(!isset($item) or $packet->slot === false){
|
||||||
$this->sendInventorySlot($packet->slot);
|
$this->sendInventorySlot($packet->slot);
|
||||||
}else{
|
}else{
|
||||||
$this->server->getPluginManager()->callEvent($ev = new PlayerItemHeldEvent($this, $item, $packet->slot, 0));
|
$this->server->getPluginManager()->callEvent($ev = new PlayerItemHeldEvent($this, $item, $packet->slot, 0));
|
||||||
@ -2078,6 +2082,7 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(is_array($this->windows[$packet->windowid])){
|
if(is_array($this->windows[$packet->windowid])){
|
||||||
|
/** @var \pocketmine\tile\Container[] $tiles */
|
||||||
$tiles = $this->windows[$packet->windowid];
|
$tiles = $this->windows[$packet->windowid];
|
||||||
if($packet->slot >= 0 and $packet->slot < Chest::SLOTS){
|
if($packet->slot >= 0 and $packet->slot < Chest::SLOTS){
|
||||||
$tile = $tiles[0];
|
$tile = $tiles[0];
|
||||||
@ -2090,7 +2095,6 @@ class Player extends Human implements CommandSender, IPlayer{
|
|||||||
}else{
|
}else{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$item = Item::get($packet->item->getID(), $packet->item->getDamage(), $packet->item->getCount());
|
$item = Item::get($packet->item->getID(), $packet->item->getDamage(), $packet->item->getCount());
|
||||||
|
|
||||||
$slot = $tile->getSlot($slotn);
|
$slot = $tile->getSlot($slotn);
|
||||||
|
@ -230,6 +230,11 @@ class Human extends Creature implements ProjectileSource, InventorySource{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param int $slot
|
||||||
|
*
|
||||||
|
* @return Item
|
||||||
|
*/
|
||||||
public function getArmorSlot($slot){
|
public function getArmorSlot($slot){
|
||||||
$slot = (int) $slot;
|
$slot = (int) $slot;
|
||||||
if(!isset($this->armor[$slot])){
|
if(!isset($this->armor[$slot])){
|
||||||
|
@ -149,6 +149,11 @@ trait Container{
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param int $s
|
||||||
|
*
|
||||||
|
* @return Item
|
||||||
|
*/
|
||||||
public function getSlot($s){
|
public function getSlot($s){
|
||||||
$i = $this->getSlotIndex($s);
|
$i = $this->getSlotIndex($s);
|
||||||
if($i === false or $i < 0){
|
if($i === false or $i < 0){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user