Dylan K. Taylor
f3daf612ee
Merge branch 'stable'
2019-05-27 19:12:29 +01:00
Dylan K. Taylor
7ff91337ad
3.8.4 is next
2019-05-27 19:01:06 +01:00
Dylan K. Taylor
63e5867727
Release 3.8.3
3.8.3
2019-05-27 18:59:56 +01:00
Dylan K. Taylor
c38779f1fd
Block: fixed use of full meta as variant in several cases
...
fixes #2940
now I need to go to the bathroom and wash this off my hands ... I'd forgotten how nasty this code is
2019-05-27 18:04:25 +01:00
Dylan K. Taylor
bcff124953
BaseRail: move reconnect attempt to post-place hook
2019-05-27 17:55:19 +01:00
Dylan K. Taylor
28f3322337
Block: add onPostPlace() hook
2019-05-27 17:30:57 +01:00
Dylan K. Taylor
11d21448fc
Utils: remove dead function
2019-05-27 17:12:33 +01:00
Dylan K. Taylor
7eb8d8e366
Require Closures in more places instead of callable
...
Non-closure callables have strange context-dependent behaviour and are slower to call than a closure. It's possible to use Closure::fromCallable() in the origin scope, which guarantees that the callable will remain callable no matter where it's used.
2019-05-27 17:11:35 +01:00
Dylan K. Taylor
2720ff9607
Skin: debloat geometry in constructor directly
2019-05-27 16:45:55 +01:00
Dylan K. Taylor
89242543b9
Clean up Skin error handling, close #2926
...
Skin->__construct() now does all the validation.
2019-05-27 16:20:46 +01:00
Dylan K. Taylor
0a891f5408
Move some things out of LoginPacket and into the handler
2019-05-27 16:06:53 +01:00
SOFe
3902a3c28c
Require opting into receiving cancelled events instead of opting out ( #2906 )
...
Warning for plugin developers: This is a silent BC break. It won't raise any errors.
This alters the default behaviour of event handlers to **not** receive cancelled events by default.
It is now required to opt into receiving cancelled events by using the @handleCancelled directive (or the handleCancelled parameter where it's appropriate).
The ambiguous @ignoreCancelled directive is now ignored.
Ramifications:
- The majority of handlers with `if($event->isCancelled()) return;` no longer need such checks.
- Handlers with `@ignoreCancelled true` or `@ignoreCancelled` annotations can have them removed.
- Handlers which want to receive cancelled events need to use `@handleCancelled`.
2019-05-27 15:47:58 +01:00
Dylan T
14bae72dd5
Create FUNDING.yml
2019-05-27 14:14:09 +01:00
Dylan K. Taylor
2eb498b84c
ItemFactory: add getAllRegistered()
2019-05-26 19:45:47 +01:00
Dylan K. Taylor
c1a7d86670
leveldb: more historical versions
2019-05-26 19:35:18 +01:00
Dylan K. Taylor
e6048e115e
leveldb: add more chunk versions
2019-05-26 18:01:24 +01:00
Dylan K. Taylor
2c40fbfe11
add some TODOs for tiles
2019-05-26 16:27:20 +01:00
Dylan K. Taylor
33d1203bfd
Player: move sendAllInventories() to network layer
2019-05-26 15:58:03 +01:00
Dylan K. Taylor
85718e2750
Clean up a bunch of garbage in Furnace
2019-05-26 15:43:46 +01:00
Dylan K. Taylor
32e03cd92d
DoubleChestInventory: remove duplicated code
2019-05-26 15:01:32 +01:00
Dylan K. Taylor
685f5d562b
DoubleChestInventory: fixed use of void result
2019-05-26 14:48:52 +01:00
Dylan K. Taylor
d23dbc69f1
BlockFactory: Alias some classes to improve readability
2019-05-25 19:59:24 +01:00
Dylan K. Taylor
a44d47fd3c
BlockFactory: Consistently use aliases to refer to tiles
2019-05-25 19:25:42 +01:00
Dylan K. Taylor
b329cac3d2
Move pocketmine\tile\* to pocketmine\block\tile\*
2019-05-25 19:23:43 +01:00
Dylan K. Taylor
066eadd687
Move responsibility of copying block-picked item NBT to Block instead of Player
2019-05-25 19:00:11 +01:00
Dylan K. Taylor
c29523baf4
added a bunch of new blocks
2019-05-24 19:59:03 +01:00
Dylan K. Taylor
54216c2fee
Block: Blow away a bunch of useless classes
2019-05-24 19:38:43 +01:00
Dylan K. Taylor
d25ecbebd4
Merge branch 'stable'
2019-05-24 17:33:51 +01:00
Dylan K. Taylor
f35b43613d
IronTrapdoor: fixed fuel time, closes #2914
...
this should be removed during branch merge.
2019-05-24 17:31:36 +01:00
Dylan K. Taylor
3d0fa10437
Stonecutter: fix hardness, close #2915
2019-05-24 17:30:20 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
9ce1e29a17
Player: fixed bow shooting, closes #2931
2019-05-24 15:58:00 +01:00
Dylan K. Taylor
1c99602a3f
Player: give some inventory vars clearer names
2019-05-20 19:38:53 +01:00
Dylan K. Taylor
297ca25123
remove usage of inventory network IDs for marking permanent windows
2019-05-20 16:45:46 +01:00
Dylan K. Taylor
cd0f0cb66c
missed this in previous commit
2019-05-20 16:45:00 +01:00
Dylan K. Taylor
d6ce3f82b1
Inventory: remove redundant return values
2019-05-20 16:30:00 +01:00
Dylan K. Taylor
c21a25efb9
move more rollback handling to network handlers, out of Player
2019-05-20 16:13:14 +01:00
Dylan K. Taylor
04d0b6c054
don't spam listeners with slot-change notifications when doing a content change
2019-05-20 15:45:15 +01:00
Dylan K. Taylor
c13b352b76
fix armour not being set correctly on entity spawn
2019-05-20 15:31:23 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
bca0833035
Clean up handling of armour sync
2019-05-19 16:56:10 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
57219abc9d
fix test failure
2019-05-18 20:20:33 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
d44ec702b0
Added BlockDataValidator::read5MinusHorizontalFacing()
2019-05-18 17:42:03 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
cd8645ff20
Removed PalettedBlockArray stub
...
the SubChunkConverter stub was accidentally removed in dd914e07523c7038c868c9969d88fdd97b00b7cf, but no great harm done ...
2019-05-18 15:15:20 +01:00