mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-16 18:59:00 +00:00
Multiple fixes
This commit is contained in:
parent
fd9fdc30cb
commit
79cc6ca559
@ -160,7 +160,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
|
||||
/**
|
||||
* @var \pocketmine\scheduler\TaskHandler[]
|
||||
*/
|
||||
private $tasks = [];
|
||||
protected $tasks = [];
|
||||
|
||||
/** @var PermissibleBase */
|
||||
private $perm = null;
|
||||
@ -728,7 +728,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
|
||||
return false;
|
||||
}
|
||||
|
||||
$identifier = $this->interface->putPacket($this, $packet, $needACK);
|
||||
$identifier = $this->interface->putPacket($this, $packet, $needACK, false);
|
||||
|
||||
if($needACK and $identifier !== null){
|
||||
$this->needACK[$identifier] = false;
|
||||
@ -1086,7 +1086,6 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
|
||||
if($this->connected === false){
|
||||
return;
|
||||
}
|
||||
$packet->decode();
|
||||
|
||||
$this->server->getPluginManager()->callEvent($ev = new DataPacketReceiveEvent($this, $packet));
|
||||
if($ev->isCancelled()){
|
||||
@ -2022,7 +2021,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
|
||||
|
||||
if($m !== ""){
|
||||
$pk = new MessagePacket;
|
||||
$pk->author = ""; //Do not use this ;)
|
||||
$pk->source = ""; //Do not use this ;)
|
||||
$pk->message = $this->removeFormat === false ? $m : TextFormat::clean($m);
|
||||
$this->dataPacket($pk);
|
||||
}
|
||||
@ -2043,8 +2042,8 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
|
||||
}
|
||||
}
|
||||
|
||||
$this->interface->close($this, $reason);
|
||||
$this->connected = false;
|
||||
$this->interface->close($this, $reason);
|
||||
$this->server->removePlayer($this);
|
||||
$this->getLevel()->freeAllChunks($this);
|
||||
$this->loggedIn = false;
|
||||
|
@ -68,7 +68,6 @@ use pocketmine\plugin\Plugin;
|
||||
use pocketmine\plugin\PluginLoadOrder;
|
||||
use pocketmine\plugin\PluginManager;
|
||||
use pocketmine\scheduler\CallbackTask;
|
||||
use pocketmine\scheduler\ExampleTask;
|
||||
use pocketmine\scheduler\SendUsageTask;
|
||||
use pocketmine\scheduler\ServerScheduler;
|
||||
use pocketmine\tile\Tile;
|
||||
@ -1352,6 +1351,7 @@ class Server{
|
||||
"spawn-animals" => true,
|
||||
"spawn-mobs" => true,
|
||||
"gamemode" => 0,
|
||||
"force-gamemode" => false,
|
||||
"hardcore" => false,
|
||||
"pvp" => true,
|
||||
"difficulty" => 1,
|
||||
@ -1487,6 +1487,7 @@ class Server{
|
||||
* @return int
|
||||
*/
|
||||
public function broadcast($message, $permissions){
|
||||
/** @var CommandSender[] $recipients */
|
||||
$recipients = [];
|
||||
foreach(explode(";", $permissions) as $permission){
|
||||
foreach($this->pluginManager->getPermissionSubscriptions($permission) as $permissible){
|
||||
@ -1495,6 +1496,7 @@ class Server{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach($recipients as $recipient){
|
||||
$recipient->sendMessage($message);
|
||||
}
|
||||
@ -1633,7 +1635,7 @@ class Server{
|
||||
$this->pluginManager->disablePlugins();
|
||||
|
||||
foreach($this->players as $player){
|
||||
$player->kick($this->getProperty("settings.shutdown-message", "Server closed"));
|
||||
$player->close($this->getProperty("settings.shutdown-message", "Server closed"), "server closed");
|
||||
}
|
||||
|
||||
foreach($this->getLevels() as $level){
|
||||
|
@ -38,9 +38,6 @@ class PlayerJoinEvent extends PlayerEvent{
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the join message. This won't work on Minecraft: PE <= 0.8.1, since the join message is client-side
|
||||
* We'll see if Mojang adds this in Minecraft: PE 0.9.0 ^.^
|
||||
*
|
||||
* @param string $joinMessage
|
||||
*/
|
||||
public function setJoinMessage($joinMessage){
|
||||
|
@ -149,7 +149,9 @@ class RakLibInterface implements ServerInstance, SourceInterface{
|
||||
|
||||
public function handleEncapsulated($identifier, EncapsulatedPacket $packet, $flags){
|
||||
if(isset($this->players[$identifier])){
|
||||
$this->players[$identifier]->handleDataPacket($this->getPacket($packet->buffer));
|
||||
$pk = $this->getPacket($packet->buffer);
|
||||
$pk->decode();
|
||||
$this->players[$identifier]->handleDataPacket($pk);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user