Dylan K. Taylor
092d130c96
RuntimeBlockMapping: borrow a hack from PM5 to reduce memory footprint
...
we can't change the internals of this on a patch release, but this hack provides a 12 MB memory usage reduction, which is very significant.
2023-05-04 23:01:10 +01:00
Dylan K. Taylor
c09390d20f
4.20.3 is next
2023-05-04 21:06:30 +01:00
Dylan K. Taylor
22f8623e17
Release 4.20.2
4.20.2
2023-05-04 21:06:27 +01:00
Lee Siu San
f04151dbe6
README: next-major branch was renamed ( #5731 )
...
[ci skip]
2023-05-01 14:08:20 +01:00
dependabot[bot]
5dcd8bf289
Bump symfony/filesystem from 5.4.21 to 5.4.23 ( #5730 )
...
Bumps [symfony/filesystem](https://github.com/symfony/filesystem ) from 5.4.21 to 5.4.23.
- [Release notes](https://github.com/symfony/filesystem/releases )
- [Changelog](https://github.com/symfony/filesystem/blob/6.2/CHANGELOG.md )
- [Commits](https://github.com/symfony/filesystem/compare/v5.4.21...v5.4.23 )
---
updated-dependencies:
- dependency-name: symfony/filesystem
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-01 13:30:02 +01:00
Dylan K. Taylor
b70ff32548
ItemTranslator: Fixed log items not displaying correctly on the client
...
closes #5724
this uses a (potentially bogus) assumption that the lowest mapped meta value associated with an ID is valid. I don't want to break this during a patch release, and this works for now.
In the future it would probably make more sense to bypass ItemTranslator entirely, and rely solely on the blockstate returned by RuntimeBlockMapping to fetch the correct ID. This is similar to how we serialize items for saving on disk in PM5.
2023-04-28 13:54:40 +01:00
Dylan K. Taylor
023460db2c
BaseInventory: fixed internalAddItem() doing useless canStackWith() checks on null items
...
if the item is null, it's never going to stack with anything given to this function, because addItem() already discards null items.
2023-04-27 14:53:54 +01:00
Dylan K. Taylor
2910ffebf4
4.20.2 is next
2023-04-27 13:31:02 +01:00
Dylan K. Taylor
fea820a99e
Release 4.20.1
4.20.1
2023-04-27 13:31:02 +01:00
Dylan K. Taylor
7c19f14cf5
Fixed up offhand handling for ItemStackRequest, fixes #5723
2023-04-27 13:25:08 +01:00
Dylan K. Taylor
5a54d09869
InventoryManager: verify slot existence in locateWindowAndSlot()
...
previously, this would happily return invalid slot IDs, potentially leading to a crash.
2023-04-27 13:18:28 +01:00
Dylan K. Taylor
1d10107024
4.20.1 is next
2023-04-26 23:15:38 +01:00
Dylan K. Taylor
54ae4d0ea2
Release 4.20.0
4.20.0
2023-04-26 23:15:34 +01:00
Dylan K. Taylor
0d21e591d1
Support sign editing UI in 1.19.80, with APIs to allow plugins to use it
...
this doesn't support editing the rear side of a sign, since the 1.12 format doesn't allow us to represent the rear text, and it would necessitate API breaks to support anyway.
However, we can quite trivially support APIs for the sign GUI, which plugins can use to enable editing signs. PocketMine-MP doesn't currently permit this, since it's currently an experimental feature in 1.20, but plugins can simply use Player->openSignEditor() to mimic it.
This is, however, a byproduct of the fact that APIs needed to be added in order to facilitate the use of OpenSignPacket in 1.19.80.
2023-04-26 22:55:05 +01:00
Dylan K. Taylor
408616723c
Changes for 1.19.80
2023-04-26 22:52:02 +01:00
Dylan K. Taylor
b162d688a3
CI: use php-cs-fixer 3.16
2023-04-26 16:05:06 +01:00
Dylan K. Taylor
3b09c3a48a
actions: updated setup-php-action to pmmp/setup-php-action@c7fb29d835
2023-04-26 14:40:39 +01:00
Dylan K. Taylor
87781cff4d
Update GitHub Actions PHP versions
2023-04-26 14:38:40 +01:00
Dylan K. Taylor
db0cf4bb5a
Update composer dependencies
2023-04-26 14:35:05 +01:00
Dylan K. Taylor
a4f2b99ed5
InGamePacketHandler: queue slots for syncing if they appear in requestChangedSlots
...
this is essentially a prediction without the actual predicted item. We have to sync these regardless of what happens.
fixes #5708
2023-04-24 14:06:29 +01:00
Dylan K. Taylor
3ecc980bc4
ÂInventoryManagerEntry: fixed incorrect PHPDoc type
2023-04-24 13:42:11 +01:00
Dylan K. Taylor
107b56154b
ItemStackRequestExecutor: fixed stonecutter recipes
...
this uses the same dodgy hack used by CraftingTransaction, which assumes that getResultsFor() does not care about the crafting inputs.
While this is currently OK, since none of the currently-implemented recipes care about inputs anyway, it will become a problem when we implement shulker box recipes, so this needs to be addressed.
However, it can't be addressed without BC breaks, so this will have to be dealt with in PM5.
closes #5715
2023-04-24 13:35:00 +01:00
Dylan K. Taylor
f86fde064d
CraftingManager: fixed uninitialized field
...
I'm having deja vu about this ...
2023-04-24 12:34:34 +01:00
Dylan K. Taylor
84a16ce69a
HandlerList: fixed crash on getting unused priority
...
these sub-arrays are no longer allocated if no handlers are registered.
fixes #5713
2023-04-21 16:19:15 +01:00
Dylan K. Taylor
d06d3bc871
4.19.4 is next
2023-04-21 15:53:05 +01:00
Dylan K. Taylor
11e34b3e5c
Release 4.19.3
4.19.3
2023-04-21 15:53:02 +01:00
Dylan K. Taylor
f9318bf286
TimingsHandler: stop throwing exceptions when timers aren't stopped in the right order
...
this is usually because of an uncaught exception interacting with a try...finally block.
This will normally result in a crash anyway, and we don't want to obscure the real error.
2023-04-21 15:38:11 +01:00
Dylan K. Taylor
674b65f789
Item: optimise serializeCompoundTag() a little
2023-04-18 16:18:34 +01:00
Dylan K. Taylor
a77fc8109f
TypeConverter: avoid repeated calls to getId() and getMeta()
2023-04-18 15:02:52 +01:00
Dylan K. Taylor
6102740ee3
TypeConverter: use a less slow hack to restore meta values on items sent by the client
...
this isn't even really needed anymore, since we don't decode items from the client since 4.18.
However, this may still be useful for tools.
2023-04-18 15:00:34 +01:00
Dylan K. Taylor
40168a457e
TypeConverter: fixed coreItemStackToNet() causing item NBT to be prepared twice
...
hasNamedTag() calls getNamedTag(), which calls serializeCompoundTag(), which writes the item's properties into the given NBT tag.
2023-04-18 14:43:25 +01:00
Dylan K. Taylor
d07acd0013
RakLibInterface: split error ID into 4-character chunks
...
this makes it easier to read, since the error ID can't be copy-pasted from the disconnection screen on the client.
2023-04-17 14:05:46 +01:00
Dylan K. Taylor
9561ae5af7
Entity: micro optimisation for checkBlockIntersections()
2023-04-16 17:57:51 +01:00
Dylan K. Taylor
56fbd45dd5
Entity: avoid double-checking block intersections for moving entities
...
fixes #1824
2023-04-16 17:38:26 +01:00
Dylan K. Taylor
b5dc72b0ee
tools/simulate-chunk-selector: fixed the script being completely broken
...
getopt() behaviour is really, really dumb
2023-04-16 16:47:17 +01:00
Dylan K. Taylor
4ba57f2b03
RegisteredListener: use try...finally to stop timings
...
While event handlers should not throw exceptions, we need to make sure the timings get stopped in the correct order, because the parent Event timer will be stopped due to using a finally block.
If this happens while the handler timing is still running, a second exception will occur, obscuring the real error.
2023-04-16 00:40:43 +01:00
Dylan K. Taylor
df0d72bf61
4.19.3 is next
2023-04-14 18:43:44 +01:00
Dylan K. Taylor
a534ac759a
Release 4.19.2
4.19.2
2023-04-14 18:43:41 +01:00
Dylan K. Taylor
5ab954b7a0
Update composer dependencies
2023-04-14 18:31:57 +01:00
Dylan K. Taylor
6c6f686f8e
Timings: be more intelligent about shortening timer names
...
non-pocketmine classes may reuse the names of pocketmine core classes. We don't want timers to get erroneously reused in this case.
2023-04-14 18:24:53 +01:00
Dylan K. Taylor
bf7975da57
Timings: use class to index packet timings, not IDs
...
on multi version servers, the same packet may have different IDs, or different packets might use the same ID. In these cases, we don't want the timings to get split up or erroneously reused.
2023-04-14 18:22:35 +01:00
Dylan K. Taylor
7aeedd8220
Timings: fixed every player getting its own timings
...
we need a more consistent way to deal with this
2023-04-14 17:32:56 +01:00
Dylan K. Taylor
3dd1ce2d02
4.19.2 is next
2023-04-14 16:47:46 +01:00
Dylan K. Taylor
5a29d07021
Release 4.19.1
4.19.1
2023-04-14 16:47:43 +01:00
Dylan K. Taylor
692e1253c6
Fixed AABB height for farmland and grass paths (fixed in 1.19.50)
2023-04-14 16:02:28 +01:00
Dylan K. Taylor
ab0c444823
Player: fixed ticking chunks not being re-registered if they never left the view distance
...
closes #5699
2023-04-14 16:02:28 +01:00
Dylan K. Taylor
e48a4aaa55
World: fixed chunk ticking not being disabled by setting chunk ticking radius to 0
...
I can't believe I missed this ...
2023-04-14 16:02:28 +01:00
Dylan K. Taylor
6fc4ce0f86
ÂTimingsCommand: include HTTP response code in debug message
...
we should probably show this in the regular response message, but we need new translations for that.
2023-04-14 16:02:27 +01:00
dependabot[bot]
10243c7b2c
Bump phpstan/phpstan from 1.10.11 to 1.10.13 ( #5697 )
...
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan ) from 1.10.11 to 1.10.13.
- [Release notes](https://github.com/phpstan/phpstan/releases )
- [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md )
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.11...1.10.13 )
---
updated-dependencies:
- dependency-name: phpstan/phpstan
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-13 13:19:24 +01:00
Dylan K. Taylor
18b528f72d
ItemStackRequestExecutor: fixed borked taking of created items
...
closes #5695
2023-04-12 21:01:46 +01:00