mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-13 17:29:44 +00:00
Clean up a bunch of garbage in Furnace
This commit is contained in:
parent
32e03cd92d
commit
85718e2750
@ -207,32 +207,16 @@ class Furnace extends Spawnable implements InventoryHolder, Container, Nameable{
|
|||||||
$this->burnTime = $this->cookTime = $this->maxTime = 0;
|
$this->burnTime = $this->cookTime = $this->maxTime = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @var ContainerSetDataPacket[] $packets */
|
|
||||||
$packets = [];
|
|
||||||
if($prevCookTime !== $this->cookTime){
|
if($prevCookTime !== $this->cookTime){
|
||||||
$pk = new ContainerSetDataPacket();
|
foreach($this->inventory->getViewers() as $v){
|
||||||
$pk->property = ContainerSetDataPacket::PROPERTY_FURNACE_TICK_COUNT;
|
$v->getNetworkSession()->syncInventoryData($this->inventory, ContainerSetDataPacket::PROPERTY_FURNACE_TICK_COUNT, $this->cookTime);
|
||||||
$pk->value = $this->cookTime;
|
}
|
||||||
$packets[] = $pk;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$fuelTicksLeft = $this->getFuelTicksLeft();
|
$fuelTicksLeft = $this->getFuelTicksLeft();
|
||||||
if($prevFuelTicksLeft !== $fuelTicksLeft){
|
if($prevFuelTicksLeft !== $fuelTicksLeft){
|
||||||
$pk = new ContainerSetDataPacket();
|
foreach($this->inventory->getViewers() as $v){
|
||||||
$pk->property = ContainerSetDataPacket::PROPERTY_FURNACE_LIT_TIME;
|
$v->getNetworkSession()->syncInventoryData($this->inventory, ContainerSetDataPacket::PROPERTY_FURNACE_LIT_TIME, $fuelTicksLeft);
|
||||||
$pk->value = $fuelTicksLeft;
|
|
||||||
$packets[] = $pk;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!empty($packets)){
|
|
||||||
foreach($this->getInventory()->getViewers() as $player){
|
|
||||||
$windowId = $player->getWindowId($this->getInventory());
|
|
||||||
if($windowId > 0){
|
|
||||||
foreach($packets as $pk){
|
|
||||||
$pk->windowId = $windowId;
|
|
||||||
$player->sendDataPacket(clone $pk);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,6 +45,7 @@ use pocketmine\network\mcpe\protocol\AdventureSettingsPacket;
|
|||||||
use pocketmine\network\mcpe\protocol\AvailableCommandsPacket;
|
use pocketmine\network\mcpe\protocol\AvailableCommandsPacket;
|
||||||
use pocketmine\network\mcpe\protocol\ChunkRadiusUpdatedPacket;
|
use pocketmine\network\mcpe\protocol\ChunkRadiusUpdatedPacket;
|
||||||
use pocketmine\network\mcpe\protocol\ClientboundPacket;
|
use pocketmine\network\mcpe\protocol\ClientboundPacket;
|
||||||
|
use pocketmine\network\mcpe\protocol\ContainerSetDataPacket;
|
||||||
use pocketmine\network\mcpe\protocol\DisconnectPacket;
|
use pocketmine\network\mcpe\protocol\DisconnectPacket;
|
||||||
use pocketmine\network\mcpe\protocol\InventoryContentPacket;
|
use pocketmine\network\mcpe\protocol\InventoryContentPacket;
|
||||||
use pocketmine\network\mcpe\protocol\InventorySlotPacket;
|
use pocketmine\network\mcpe\protocol\InventorySlotPacket;
|
||||||
@ -818,6 +819,17 @@ class NetworkSession{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function syncInventoryData(Inventory $inventory, int $propertyId, int $value) : void{
|
||||||
|
$windowId = $this->player->getWindowId($inventory);
|
||||||
|
if($windowId !== ContainerIds::NONE){
|
||||||
|
$pk = new ContainerSetDataPacket();
|
||||||
|
$pk->property = $propertyId;
|
||||||
|
$pk->value = $value;
|
||||||
|
$pk->windowId = $windowId;
|
||||||
|
$this->sendDataPacket($pk);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function onMobArmorChange(Living $mob) : void{
|
public function onMobArmorChange(Living $mob) : void{
|
||||||
$pk = new MobArmorEquipmentPacket();
|
$pk = new MobArmorEquipmentPacket();
|
||||||
$pk->entityRuntimeId = $mob->getId();
|
$pk->entityRuntimeId = $mob->getId();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user