10575 Commits

Author SHA1 Message Date
Dylan K. Taylor
dc757c25c8 cleanup CS from 8ec0a4d0d60b218acf13dfc20137728e5b4943d2 2020-03-10 12:14:38 +00:00
Dylan K. Taylor
73267ae077 Merge branch 'stable' into next-minor 2020-03-10 12:11:36 +00:00
Dylan K. Taylor
a72e6ee706 Player: be aware of held item changing during click-block
this caused bugs if the inventory was cleared while using a hoe.
2020-03-10 12:10:01 +00:00
jasonwynn10
8ec0a4d0d6
Allow specifying compatible OS in plugin manifest (#3192) 2020-03-10 10:12:56 +00:00
Andrés Arias
89ea7f0a76
Player: Stop setting held item post entity attack if changed (#3348)
closes #3340
2020-03-10 10:09:31 +00:00
Dylan K. Taylor
2a97c7032e Merge branch 'master' of https://github.com/pmmp/pocketmine-mp 2020-03-09 14:39:02 +00:00
Dylan K. Taylor
b4b1877ce5 Merge branch 'next-minor' 2020-03-09 14:38:15 +00:00
Dylan K. Taylor
df65f1009c Merge branch 'stable' into next-minor 2020-03-09 14:33:37 +00:00
DaPigGuy
12e4e92894
Inventory: Pass old item(s) to inventory change listeners, closes #3323 (#3337) 2020-03-09 13:52:15 +00:00
Andrés Arias
a6ca37429c
Player: do not set held item post block-break if changed (#3345)
this usually happens when a plugin replaces the held item during BlockBreakEvent.
closes #2010
2020-03-09 13:45:58 +00:00
Dylan K. Taylor
15d81154e6 PluginDescription: drop unenforceable type constraint on array keys
the data that comes through here isn't validated, and there's also no guarantee that all the keys will be strings in spite of our best efforts even if it was validated, because PHP is fucking stupid and casts int-like string keys to int keys.
2020-03-05 19:53:01 +00:00
Dylan K. Taylor
995309424e updated pocketmine/nbt dependency
this is going to need work on exception handling, but right now it's so inconsistent that it doesn't matter anyway.
2020-03-04 17:53:37 +00:00
Dylan K. Taylor
6e39e34c1e Merge branch 'stable' 2020-03-03 12:35:11 +00:00
Dylan K. Taylor
93e5c80962 MultiplayerSettingsPacket is bothways, close #3331 2020-03-03 12:32:57 +00:00
Dylan K. Taylor
c19ab97610 AddActorPacket: move BC hack to higher level
we shouldn't hack the protocol impl for BC.
2020-02-27 17:37:45 +00:00
Dylan K. Taylor
dbaf851be7 Merge branch 'stable' into next-minor 2020-02-27 16:51:06 +00:00
Dylan K. Taylor
78394a336c Merge branch 'stable' 2020-02-25 20:45:39 +00:00
Dylan K. Taylor
7aa8bd18d3 Revert "Item: restrict bounds of count to 0-255"
This reverts commit 10317527e4012fb1dbb1661f2f7fc33b05a7a6d1.

this breaks user code which exceeds stack limits in legitimate
circumstances. For example, it should be OK to add 6000x diamond to a
player's inventory without being forced to manually split the count up
for addItem().
2020-02-25 20:42:03 +00:00
Dylan K. Taylor
53067c26d7 BaseInventory: stop mutating item for no reason in canAddItem() 2020-02-25 20:30:37 +00:00
Dylan K. Taylor
5c2ae0257c DataPacket: inject buffer via parameter instead of class field (packet & stream separation, step 2)
this is not complete yet, but the final change (having the binarystream actually come from outside) is a little more disruptive, and some extra changes need to be made. This will grant some sanity in the meantime without breaking too much stuff.
2020-02-25 16:19:11 +00:00
Dylan K. Taylor
a633e415ef FastChunkSerializer: use machine endianness for pack() (thanks @Frago9876543210)
this is faster due to not having to reverse bytes. Since we don't use this format for persistence, it's OK to use machine byte order for this.
2020-02-25 15:08:53 +00:00
Dylan K. Taylor
bd00ee5038 Merge branch 'stable' 2020-02-24 22:11:13 +00:00
Dylan K. Taylor
04581e2700 DataPacket: account for splitscreen header when decoding 2020-02-24 21:20:25 +00:00
Dylan K. Taylor
93597dcd50 SkinData: fixed loss of data from packet decode 2020-02-24 20:48:03 +00:00
Dylan K. Taylor
8a770d837e Merge branch 'stable' 2020-02-24 20:32:43 +00:00
Dylan K. Taylor
3cd1da196a UpdateTradePacket: fix order of fields, closes #3327 2020-02-24 20:16:07 +00:00
Dylan K. Taylor
ce0af8b040 DataPacket now encapsulates NetworkBinaryStream instead of extending it
ultimately the goal is to remove the NetworkBinaryStream crap entirely, but this change has most of the same benefits and is less disruptive.
2020-02-24 18:59:54 +00:00
Dylan K. Taylor
7c2741e4f5 Inventory: eliminate remaining $send parameters 2020-02-23 21:59:51 +00:00
Dylan K. Taylor
36685001bd ContainerOpenPacket: fixed entityInv() not initializing x/y/z fields
these are written even when not used, so they have to be initialized.
2020-02-23 20:59:53 +00:00
Dylan K. Taylor
365d4a1592 better fix for 1.14.30 movement bug 2020-02-23 19:31:32 +00:00
Dylan K. Taylor
2d7f37ac47 avoid direct mutation of Item->count field, use Item->pop() instead
I think this change was already applied on the master branch, but I don't remember for sure.
2020-02-23 17:37:25 +00:00
Dylan K. Taylor
50fcdd6e7e Item: fixed documentation of pop() return type (it's not fluent) 2020-02-23 17:32:50 +00:00
Dylan K. Taylor
10317527e4 Item: restrict bounds of count to 0-255 2020-02-23 17:23:53 +00:00
Dylan K. Taylor
46ac4cbca1 3.11.7 is next 2020-02-21 19:18:48 +00:00
Dylan K. Taylor
cb9e79b398 Release 3.11.6 2020-02-21 19:18:48 +00:00
Dylan K. Taylor
2f1fad2745 Bucket: implement MaybeConsumable, fixes #3306
this is a nauseating fix, but it's only needed for stable.
2020-02-21 17:49:55 +00:00
Dylan K. Taylor
44182dccbd Human: an additional hack for MoveActor(Absolute|Delta)Packet on 1.14.30+
before anyone asks, we still can't use this for regular player movement, because it would cause the player to receive their own movement. This was OK with MoveActor, but isn't OK with MovePlayer.
2020-02-21 12:35:17 +00:00
Dylan K. Taylor
8ac7f7f11f Level: fix type of randomTickBlocks and friends 2020-02-17 15:13:40 +00:00
Dylan K. Taylor
7b7dfc36d1 Living: fixed broken @var tag 2020-02-14 08:17:51 +00:00
Dylan K. Taylor
d63d6b73f6 Player: workaround 1.14.30 movement bug
I can understand why this bug happened, but it doesn't mean I like it.
Fix it pls mojang, this sucks.
2020-02-13 19:40:31 +00:00
Dylan K. Taylor
95eddbdd74 InventoryManager: move add/remove logic to separate functions 2020-02-12 17:36:29 +00:00
Dylan K. Taylor
55e3b9ed91 InventoryManager: avoid feedback loop when closing inventory 2020-02-12 16:35:57 +00:00
Dylan K. Taylor
b108fb61bf Inventory: drop $send params from setItem() and clear() 2020-02-12 13:34:35 +00:00
Dylan K. Taylor
1c06438cbb Inventory: remove final usage of $send parameter of setItem() and clear() 2020-02-12 13:33:23 +00:00
Dylan K. Taylor
4014f9a4f2 InventoryManager: be aware of client-side state when syncing slots
this eliminates feedback loops during client-initiated slot changes, and also makes it possible to have a SlotChangeAction anonymous from its initiator.
2020-02-11 21:12:18 +00:00
Dylan K. Taylor
cd71a6204f Revert "PopulationTask: do not populate light in chunks out of the gate"
This reverts commit 42148f0d15949faecfbbef8f09ef4355d3dd3899.
2020-02-11 19:43:25 +00:00
Dylan K. Taylor
42148f0d15 PopulationTask: do not populate light in chunks out of the gate
this is a relic from when we needed to store light on disk. Now we can just calculate lighting as-needed instead.
2020-02-11 19:14:01 +00:00
Dylan K. Taylor
9b6fa8c25b Merge branch 'stable' 2020-02-11 19:12:39 +00:00
Dylan K. Taylor
2bb497b716 Chunk: flag hasChanged when changing generated/populated/light-populated flags 2020-02-11 08:26:12 +00:00
Dylan K. Taylor
613bd40601 PopulationTask: move setPopulated() call to make it more obvious what is going on 2020-02-10 18:22:19 +00:00