c1a7d86670
leveldb: more historical versions
2019-05-26 19:35:18 +01:00
e6048e115e
leveldb: add more chunk versions
2019-05-26 18:01:24 +01:00
2c40fbfe11
add some TODOs for tiles
2019-05-26 16:27:20 +01:00
33d1203bfd
Player: move sendAllInventories() to network layer
2019-05-26 15:58:03 +01:00
85718e2750
Clean up a bunch of garbage in Furnace
2019-05-26 15:43:46 +01:00
32e03cd92d
DoubleChestInventory: remove duplicated code
2019-05-26 15:01:32 +01:00
685f5d562b
DoubleChestInventory: fixed use of void result
2019-05-26 14:48:52 +01:00
d23dbc69f1
BlockFactory: Alias some classes to improve readability
2019-05-25 19:59:24 +01:00
a44d47fd3c
BlockFactory: Consistently use aliases to refer to tiles
2019-05-25 19:25:42 +01:00
b329cac3d2
Move pocketmine\tile\* to pocketmine\block\tile\*
2019-05-25 19:23:43 +01:00
066eadd687
Move responsibility of copying block-picked item NBT to Block instead of Player
2019-05-25 19:00:11 +01:00
c29523baf4
added a bunch of new blocks
2019-05-24 19:59:03 +01:00
54216c2fee
Block: Blow away a bunch of useless classes
2019-05-24 19:38:43 +01:00
d25ecbebd4
Merge branch 'stable'
2019-05-24 17:33:51 +01:00
f35b43613d
IronTrapdoor: fixed fuel time, closes #2914
...
this should be removed during branch merge.
2019-05-24 17:31:36 +01:00
3d0fa10437
Stonecutter: fix hardness, close #2915
2019-05-24 17:30:20 +01:00
3ea8da2dd3
Use EnumTrait->equals() instead of direct comparison
...
It's not guaranteed that objects provided are the same as those in the enum registry, so they can't be directly compared.
Implementing comparison with === would require some kind of __equals() implementation or an extension to hook into such functionality.
2019-05-24 17:21:44 +01:00
9ce1e29a17
Player: fixed bow shooting, closes #2931
2019-05-24 15:58:00 +01:00
1c99602a3f
Player: give some inventory vars clearer names
2019-05-20 19:38:53 +01:00
297ca25123
remove usage of inventory network IDs for marking permanent windows
2019-05-20 16:45:46 +01:00
cd0f0cb66c
missed this in previous commit
2019-05-20 16:45:00 +01:00
d6ce3f82b1
Inventory: remove redundant return values
2019-05-20 16:30:00 +01:00
c21a25efb9
move more rollback handling to network handlers, out of Player
2019-05-20 16:13:14 +01:00
04d0b6c054
don't spam listeners with slot-change notifications when doing a content change
2019-05-20 15:45:15 +01:00
c13b352b76
fix armour not being set correctly on entity spawn
2019-05-20 15:31:23 +01:00
d9bc48bb01
CraftingGrid: Remove redundant overrides
...
the network session knows not to send this stuff because it's not associated with any window ID.
2019-05-20 15:15:20 +01:00
bca0833035
Clean up handling of armour sync
2019-05-19 16:56:10 +01:00
cd103cefcc
Redesign inventory listening API
...
given that inventory listeners are no longer allowed to fiddle with the outcome of changing contents, it's now possible to allow having multiple listeners receiving events.
It's likely that this will be used for network inventory sync in the near future.
2019-05-19 16:36:38 +01:00
dec6c9f49b
Removed EntityInventoryChangeEvent and EntityArmorChangeEvent
...
there is nothing that these events do that can't be fulfilled by transactions. They complicate the internal implementation and produce unexpected behaviour for plugins when cancelled.
TL;DR: Use transactions. That's what they are there for.
2019-05-19 16:02:03 +01:00
67affcea32
move more packet logic to net session
...
it seems like net session is turning into a giant dumping ground for sending API ... this needs to be cleaned up somehow.
2019-05-19 15:48:01 +01:00
57219abc9d
fix test failure
2019-05-18 20:20:33 +01:00
c3c2dd3988
Rename SimpleSessionHandler -> InGameSessionHandler
...
the "simple" name comes from the early days of this refactor before I started splitting everything up into their own units. This handler is now in good enough condition to have a proper name.
2019-05-18 19:13:41 +01:00
fa9fcea189
SimpleSessionHandler: Do not read blocks from world in onFailedBlockAction()
...
the world will do this anyway, so we can reduce our code burden here.
2019-05-18 19:11:23 +01:00
d44ec702b0
Added BlockDataValidator::read5MinusHorizontalFacing()
2019-05-18 17:42:03 +01:00
b11d3b0401
CraftingDataPacket: Fixed uncaught exception in decode
...
this is not exploitable because it's not a serverbound packet, but it should be fixed nonetheless.
2019-05-18 17:19:44 +01:00
cd8645ff20
Removed PalettedBlockArray stub
...
the SubChunkConverter stub was accidentally removed in dd914e0752
, but no great harm done ...
2019-05-18 15:15:20 +01:00
6de0b48c1f
PacketBatch: Always encode packets freshly, never reuse buffers
...
this causes bugs when a packet is modified during events and then re-sent to a player. Since we can't control this, we can't allow this kind of buffer reuse.
The only notable case where this will cause loss of performance is when broadcasting a series of packet(s) which accumulate to less than 256 bytes, which is reasonably cheap to encode anyway.
In addition, removing this caching is one roadblock to moving this serialization to native code, which will make it vastly faster.
2019-05-17 18:04:51 +01:00
64f7f558a4
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/entity/Human.php
2019-05-17 17:43:30 +01:00
76e5ea385b
Skin: improved error checking
...
plugin devs should find this less of a pain in the ass now.
2019-05-17 17:40:27 +01:00
0f398bbe66
LevelDB: Added conversion of legacy extradata -> 4D subchunk block layers
2019-05-17 17:15:45 +01:00
f7a9da4e92
PillarRotationTrait: Allow axis shift to be defined by the includer
2019-05-16 18:02:03 +01:00
dd914e0752
Block: move all legacy metadata constants into a dedicated class
...
this makes it easier to see what is using metadata (and makes it easier to get rid of later).
2019-05-16 16:55:44 +01:00
1898db840d
BlockFactory: more collapsible region things
2019-05-16 14:36:02 +01:00
642c16dfe7
added some //region ... //endregion
2019-05-16 14:35:34 +01:00
ff2600a0d0
Regenerated TODOs for BlockFactory and ItemFactory
...
also added //region and //endregion for IDE collapsibility
2019-05-16 14:20:51 +01:00
5024de38b8
added more types of stone slab
2019-05-15 18:15:25 +01:00
9ea684581f
Merge remote-tracking branch 'origin/stable'
2019-05-13 18:17:42 +01:00
fd413b512e
Remove useless Dandelion class
...
this class is line-for-line identical to the Flower class.
2019-05-12 18:42:49 +01:00
10831821be
Anvil: fix wrong visibility for recalculateBoundingBox()
2019-05-12 17:58:45 +01:00
85c6eb5003
Fence: cleanup some BB handling
2019-05-12 16:22:41 +01:00