Fix player data saving

This commit is contained in:
Dylan K. Taylor 2017-06-03 22:55:57 +01:00
parent 7c14ffbcfa
commit 51091fe87b
2 changed files with 4 additions and 4 deletions

View File

@ -1825,7 +1825,7 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
$this->achievements[$achievement->getName()] = $achievement->getValue() > 0 ? true : false; $this->achievements[$achievement->getName()] = $achievement->getValue() > 0 ? true : false;
} }
$this->namedtag->lastPlayed = new LongTag("lastPlayed", floor(microtime(true) * 1000)); $this->namedtag->lastPlayed = new LongTag("lastPlayed", (int) floor(microtime(true) * 1000));
if($this->server->getAutoSave()){ if($this->server->getAutoSave()){
$this->server->saveOfflinePlayerData($this->username, $this->namedtag, true); $this->server->saveOfflinePlayerData($this->username, $this->namedtag, true);
} }
@ -3747,7 +3747,7 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade
} }
$this->namedtag["playerGameType"] = $this->gamemode; $this->namedtag["playerGameType"] = $this->gamemode;
$this->namedtag["lastPlayed"] = floor(microtime(true) * 1000); $this->namedtag["lastPlayed"] = (int) floor(microtime(true) * 1000);
if($this->username != "" and $this->namedtag instanceof CompoundTag){ if($this->username != "" and $this->namedtag instanceof CompoundTag){
$this->server->saveOfflinePlayerData($this->username, $this->namedtag, $async); $this->server->saveOfflinePlayerData($this->username, $this->namedtag, $async);

View File

@ -317,7 +317,7 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{
parent::initEntity(); parent::initEntity();
if(!isset($this->namedtag->foodLevel) or !($this->namedtag->foodLevel instanceof IntTag)){ if(!isset($this->namedtag->foodLevel) or !($this->namedtag->foodLevel instanceof IntTag)){
$this->namedtag->foodLevel = new IntTag("foodLevel", $this->getFood()); $this->namedtag->foodLevel = new IntTag("foodLevel", (int) $this->getFood());
}else{ }else{
$this->setFood($this->namedtag["foodLevel"]); $this->setFood($this->namedtag["foodLevel"]);
} }
@ -433,7 +433,7 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{
public function saveNBT(){ public function saveNBT(){
parent::saveNBT(); parent::saveNBT();
$this->namedtag->foodLevel = new IntTag("foodLevel", $this->getFood()); $this->namedtag->foodLevel = new IntTag("foodLevel", (int) $this->getFood());
$this->namedtag->foodExhaustionLevel = new FloatTag("foodExhaustionLevel", $this->getExhaustion()); $this->namedtag->foodExhaustionLevel = new FloatTag("foodExhaustionLevel", $this->getExhaustion());
$this->namedtag->foodSaturationLevel = new FloatTag("foodSaturationLevel", $this->getSaturation()); $this->namedtag->foodSaturationLevel = new FloatTag("foodSaturationLevel", $this->getSaturation());
$this->namedtag->foodTickTimer = new IntTag("foodTickTimer", $this->foodTickTimer); $this->namedtag->foodTickTimer = new IntTag("foodTickTimer", $this->foodTickTimer);