8532e9c8e0
Merge remote-tracking branch 'origin/stable' into next-minor
2022-01-04 14:38:15 +00:00
e43e0189df
InGamePacketHandler: do not pass bare integers from BookEditPacket directly into event
...
while these currently happen to be identical, they may not be in the future.
Really this should be represented by an enum.
2022-01-03 20:20:32 +00:00
bcc0f1e733
Fixed desynchronization of hunger when cancelling food-related events ( #4691 )
2022-01-03 19:11:32 +00:00
0a0de018a5
InGamePacketHandler: fixed player jump handling
2021-12-29 18:28:22 +00:00
a1d217e12b
InGamePacketHandler: fixed missing synchronization of metadata when plugins cancel PlayerToggle*Event
2021-12-29 18:23:05 +00:00
e102339637
InGamePacketHandler: remove dead code from PlayerActionPacket handling
2021-12-29 17:29:19 +00:00
18e26d975b
Fixed swimming and gliding for PlayerAuthInputPacket
2021-12-19 17:31:47 +00:00
d41f933e7b
Implement swimming/gliding including AABB recalculation ( #4446 )
...
- The following events have been added:
- PlayerToggleGlideEvent
- PlayerToggleSwimEvent
- The following API methods have been added:
- Entity->getSize()
- Living->isSwimming()
- Living->setSwimming()
- Living->isGliding()
- Living->setSwimming()
- Player->toggleSwim()
- Player->toggleGlide()
2021-12-19 17:10:41 +00:00
44e8603a6d
InGamePacketHandler: fixed borked sneak/sprint after switch to PlayerAuthInputPacket
...
closes #4659
2021-12-19 00:52:53 +00:00
d487e43766
InGamePacketHandler: fixed block breaking borked by enabling PlayerAuthInputPacket
2021-12-15 04:01:40 +00:00
292827a311
Switch to PlayerAuthInputPacket for movement handling
...
sticking with the non-rewind version for now, for simplicity's sake.
We do want the rewind version at some point for server side knockback, but that's a job for later.
For now, using this packet fixes various problems with slightly-incorrect positions and rotations (e.g. AimTP no longer requires you to jump to get the exact correct rotation; previously it would hit the wrong block at long distances due to errors of a fraction of a degree due to the client not sending its position.
Note that this might cause some performance degradation since the packet is sent every tick. This has yet to be assessed, but the advantages offered are undeniable in any case.
2021-12-09 13:53:53 +00:00
c7beb0a702
Clean up inventory auto close mess from PM3
...
on PM3 there was no concept of 'current window', we had no idea which window the player was actually looking at.
2021-11-08 23:51:25 +00:00
6fdcfb01c8
Seal up main inventory open/close logic inside InventoryManager where it belongs
2021-11-08 22:58:06 +00:00
45edb94607
Crafting tables now work the same way as anvils and enchanting tables
...
Removing almost all special-case logic for crafting tables.
2021-11-07 16:20:07 +00:00
f066199971
Implement emote support ( #4523 )
2021-11-02 23:04:55 +00:00
c580bb2434
InGamePacketHandler: mark player as not using item in more cases
...
fixes #4355
2021-10-31 14:41:31 +00:00
04aedc6494
Updated BedrockProtocol
2021-10-23 23:54:49 +01:00
c773e43eda
Updated BedrockProtocol to pmmp/BedrockProtocol@97fa88e9ef
2021-10-23 01:16:45 +01:00
817ab88c70
Properly handle errors decoding network item NBT
...
since the NBT is now decoded immediately now, any incorrect NBT will cause exceptions to be thrown that we weren't handling, causing server crashes.
2021-10-05 19:10:55 +01:00
7701e1ff98
InGamePacketHandler: fix regression in movement handling since 82c8fa696a
...
fixes #4291
fixes #4398
2021-09-10 16:52:46 +01:00
c5abae9eaa
Fixed merge error in bbf3f4c476
...
the corresponding code on PM3 was originally removed here: 485f573955 (diff-cf181dff0292664e4aa13c8a1731dc62131489fa404f4ac1357493d320264cceL2263)
2021-07-17 22:59:45 +01:00
9d1b2c839d
this managed to get lost in the merge
2021-07-09 19:39:15 +01:00
0910054c41
NetworkSession: Fixed InventoryManager nullability disaster
...
fixes #4277
fixes #4275
fixes #3139
2021-06-26 17:44:42 +01:00
652de2632a
Rough OffHand implementation
...
this doesn't do stuff like taking arrows from offhand yet.
2021-05-05 14:46:51 +01:00
593a8ac529
Added Loom blocks
...
these don't support doing patterns yet, but their inventories work.
2021-04-29 19:51:09 +01:00
66fdf526d4
Remove GarbageServerboundPacket
...
it's not the protocol implementation's job to decide what's garbage. It should only indicate that a packet MAY be sent by the client. It should then be up to the handler to decide what to do with it.
2021-04-19 01:07:21 +01:00
6845cbb2b3
Silence LevelSoundEventPacket noise
2021-04-19 01:02:22 +01:00
1e6d97a157
Merge branch 'stable'
2021-04-07 21:25:39 +01:00
b7a6c9dc17
Renamed BadPacketException -> PacketHandlingException
...
this better describes the intent, instead of just vaguely describing a packet as 'bad'.
2021-03-30 01:15:28 +01:00
25998720ce
Fixed server crash on invalid gamemode in SetPlayerGameTypePacket
...
this really ought to be detected at the decode layer, but right now that's a bit difficult ...
2021-03-28 21:11:07 +01:00
ad048f0b7f
Merge remote-tracking branch 'origin/stable'
2021-03-23 15:17:10 +00:00
3fe0adbd7f
Merge branch 'stable'
2021-03-14 20:14:08 +00:00
bbae02264d
Merge branch 'stable'
2021-01-27 20:04:13 +00:00
c70c0b55df
Separate held item index change listener logic from PlayerInventory
2021-01-12 16:44:25 +00:00
82c8fa696a
Relocate teleport ACK checks to InGamePacketHandler
2021-01-07 20:43:31 +00:00
af1fe7c293
Merge branch 'stable'
2020-11-21 21:13:48 +00:00
72ace3951e
InGamePacketHandler: fixed crafting table breaking when clicked while sneaking
2020-11-03 22:56:20 +00:00
4c0c2ebd24
CS cleanup
2020-10-26 15:56:30 +00:00
eabfd2a37b
World: replace sendBlocks() with createBlockUpdatePackets()
...
this allows the caller to decide how the packets should be sent.
2020-10-11 16:30:54 +01:00
b0b08d45d5
Entity: clean up sendData() handling, remove send-to-self hack
2020-10-08 21:35:36 +01:00
69cad3e694
InGamePacketHandler: Ignore LevelSoundEventPacket completely
2020-10-06 18:26:57 +01:00
7ef794d725
imports cleanup
2020-10-04 18:22:07 +01:00
d3a3a41d2b
Revert back to separated floor/wall sign
...
the conditionally useless properties are problematic.
2020-10-04 17:52:23 +01:00
e1d80f05b1
Merge branch 'stable' into master
2020-08-03 20:14:46 +01:00
279abb871d
Remove all usages of CompoundTag->hasTag()
...
in pretty much every case, these usages really wanted to read the tag's contents anyway, which can be combined with a getTag() and instanceof call for more concise and static analysis friendly code.
In the few cases where the tag contents wasn't needed, it still wanted to check the type, which, again, can be done in a more static analysis friendly way by just using getTag() and instanceof.
2020-07-10 21:01:43 +01:00
e9eadd3a26
Merge commit '8480ee82e'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/Player.php
# src/pocketmine/block/CraftingTable.php
2020-07-04 22:19:43 +01:00
cf5e31c619
InventoryTransaction::execute() now throws exceptions instead of returning true/false
2020-07-01 14:08:28 +01:00
29612cded3
CraftingTransaction: make CraftingManager injectable
...
this becomes a bit easier to unit-test.
2020-07-01 13:38:06 +01:00
670ad9eb9d
Position: rename getWorldNonNull() to getWorld(), remove original getWorld()
2020-06-29 21:19:46 +01:00
01d221b794
imports cleanup
2020-06-28 17:50:49 +01:00