Skip to content
Open

PM5 #21

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions plugin.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: SimpleLay
main: brokiem\simplelay\SimpleLay
version: 3.0.2
api: [ 4.0.0 ]
version: 4.0.0
api: [ 5.3.0 ]
author: brokiem

commands:
Expand Down
23 changes: 4 additions & 19 deletions src/brokiem/simplelay/EventListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
use pocketmine\event\player\PlayerQuitEvent;
use pocketmine\event\player\PlayerToggleSneakEvent;
use pocketmine\event\server\DataPacketReceiveEvent;
use pocketmine\network\mcpe\NetworkBroadcastUtils;
use pocketmine\network\mcpe\protocol\AnimatePacket;
use pocketmine\network\mcpe\protocol\InteractPacket;
use pocketmine\player\Player;
Expand Down Expand Up @@ -84,9 +85,9 @@ public function onInteract(PlayerInteractEvent $event): void {
$block = $event->getBlock();

if (!$this->plugin->isToggleSit($player) && $this->getConfig()->get("enable-tap-to-sit", true)) {
if ($block instanceof Slab and $block->getMeta() < 6 and $this->getConfig()->getNested("enabled-block-tap.slab", true)) {
if ($block instanceof Slab and $this->getConfig()->getNested("enabled-block-tap.slab", true)) {
$this->plugin->sit($player, $block);
} elseif ($block instanceof Stair and $block->getMeta() < 4 and $this->getConfig()->getNested("enabled-block-tap.stair", true)) {
} elseif ($block instanceof Stair and $this->getConfig()->getNested("enabled-block-tap.stair", true)) {
$this->plugin->sit($player, $block);
}
}
Expand Down Expand Up @@ -114,22 +115,6 @@ public function onPlayerQuit(PlayerQuitEvent $event): void {
}
}

/*public function onLevelChange(EntityLevelChangeEvent $event): void
{
$entity = $event->getEntity();

if ($entity instanceof Player) {
if ($this->plugin->isLaying($entity)) {
$this->plugin->unsetLay($entity);
} elseif ($this->plugin->isSitting($entity)) {
$this->plugin->unsetSit($entity);
}
}
}

What is this?
*/

public function onTeleport(EntityTeleportEvent $event): void {
$entity = $event->getEntity();

Expand Down Expand Up @@ -225,7 +210,7 @@ public function onDataPacketReceive(DataPacketReceiveEvent $event): void {

if ($entity instanceof LayingEntity) {
$pk = AnimatePacket::create($entity->getId(), $packet->action);
$this->plugin->getServer()->broadcastPackets($entity->getViewers(), [$pk]);
NetworkBroadcastUtils::broadcastPackets($entity->getViewers(), [$pk]);
}
}
}
Expand Down
15 changes: 8 additions & 7 deletions src/brokiem/simplelay/SimpleLay.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
use pocketmine\nbt\tag\DoubleTag;
use pocketmine\nbt\tag\FloatTag;
use pocketmine\nbt\tag\ListTag;
use pocketmine\network\mcpe\NetworkBroadcastUtils;
use pocketmine\network\mcpe\protocol\AddActorPacket;
use pocketmine\network\mcpe\protocol\MoveActorAbsolutePacket;
use pocketmine\network\mcpe\protocol\RemoveActorPacket;
Expand Down Expand Up @@ -165,7 +166,7 @@ public function unsetLay(Player $player): void {
$entity = $this->layData[strtolower($player->getName())]["entity"];

$player->setInvisible(false);
$player->setImmobile(false);
$player->setNoClientPredictions(false);
$player->setScale(1);

$player->sendMessage(TextFormat::colorize($this->getConfig()->get("no-longer-lay-message", "&6You are no longer laying!")));
Expand Down Expand Up @@ -213,7 +214,7 @@ public function setLay(Player $player): void {
];

$player->setInvisible();
$player->setImmobile();
$player->setNoClientPredictions();
$player->setScale(0.01);

$player->sendMessage(TextFormat::colorize($this->getConfig()->get("lay-message", "&6You are now laying!")));
Expand All @@ -229,14 +230,14 @@ public function unsetSit(Player $player): void {
$pk1->actorUniqueId = $this->sittingData[strtolower($player->getName())]['eid'];

$pk = new SetActorLinkPacket();
$pk->link = new EntityLink($this->sittingData[strtolower($player->getName())]['eid'], $player->getId(), EntityLink::TYPE_REMOVE, true, true);
$pk->link = new EntityLink($this->sittingData[strtolower($player->getName())]['eid'], $player->getId(), EntityLink::TYPE_REMOVE, true, true, 0.0);

unset($this->sittingData[strtolower($player->getName())]);

$player->getNetworkProperties()->setGenericFlag(EntityMetadataFlags::RIDING, false);
$player->sendMessage(TextFormat::colorize($this->getConfig()->get("no-longer-sit-message", "&6You are no longer sitting!")));

$this->getServer()->broadcastPackets($this->getServer()->getOnlinePlayers(), [$pk1, $pk]);
NetworkBroadcastUtils::broadcastPackets($this->getServer()->getOnlinePlayers(), [$pk1, $pk]);
}

/**
Expand Down Expand Up @@ -309,10 +310,10 @@ public function setSit(Player $player, array $viewers, Position $pos, ?int $eid
$pk->syncedProperties = new PropertySyncData([], []);

$link = new SetActorLinkPacket();
$link->link = new EntityLink($eid, $player->getId(), EntityLink::TYPE_RIDER, true, true);
$link->link = new EntityLink($eid, $player->getId(), EntityLink::TYPE_RIDER, true, true, 0.0);
$player->getNetworkProperties()->setGenericFlag(EntityMetadataFlags::RIDING, true);

$this->getServer()->broadcastPackets($viewers, [$pk, $link]);
NetworkBroadcastUtils::broadcastPackets($viewers, [$pk, $link]);

if ($this->isSitting($player)) {
return;
Expand Down Expand Up @@ -348,7 +349,7 @@ public function optimizeRotation(Player $player): void {
$pk->yaw = $player->getLocation()->getYaw();
$pk->headYaw = $player->getLocation()->getYaw();

$this->getServer()->broadcastPackets($this->getServer()->getOnlinePlayers(), [$pk]);
NetworkBroadcastUtils::broadcastPackets($this->getServer()->getOnlinePlayers(), [$pk]);
}

public function onDisable(): void {
Expand Down