Commit Graph

16348 Commits

Author SHA1 Message Date
Dylan K. Taylor
8933064cd5 Fixed missing blockstate upgrader 2023-03-06 17:02:33 +00:00
Dylan K. Taylor
6db2b022fb Merge branch 'next-minor' into next-major 2023-03-04 16:58:03 +00:00
Dylan K. Taylor
4073c3fb39 Update composer dependencies 2023-03-04 16:56:08 +00:00
Dylan K. Taylor
e227e6d8bf Merge branch 'stable' into next-minor 2023-03-04 16:55:56 +00:00
Dylan K. Taylor
3aa40829ae Update composer dependencies 2023-03-04 16:55:31 +00:00
Dylan K. Taylor
035d4b7263 MemoryManager: stringify floats, fixes #5598 2023-03-04 16:47:58 +00:00
Dylan K. Taylor
3db1492c18 Fix CS again 2023-03-04 16:43:29 +00:00
Dylan K. Taylor
a523189149 Added separate timings for broadcast and session buffer compression 2023-03-04 16:41:41 +00:00
Dylan K. Taylor
f8893efb94 Don't bother with global batch compression if there is only 1 recipient
this allows the session to achieve better ratios, and also reduces worker pool spam.
2023-03-04 16:34:00 +00:00
Dylan K. Taylor
70f1ee3e97 draft-release: set prerelease flag properly 2023-03-04 16:29:26 +00:00
Dylan K. Taylor
eb2f0ed3d0 4.16.0-BETA3 is next 2023-03-04 16:19:34 +00:00
Dylan K. Taylor
14e7d3e143 Release 4.16.0-BETA2 4.16.0-BETA2 2023-03-04 16:19:34 +00:00
Dylan K. Taylor
6d636fc2c7 4.16.0-BETA2 is next 2023-03-04 16:18:04 +00:00
Dylan K. Taylor
a39f61a33d Release 4.16.0-BETA1 4.16.0-BETA1 2023-03-04 16:18:01 +00:00
Dylan K. Taylor
a42a67fc50 Update consistency check 2023-03-04 15:53:56 +00:00
Dylan K. Taylor
5eeb63f64b always the CS ... 2023-03-04 15:52:57 +00:00
Dylan K. Taylor
b9d62de29d Pack wall connections into 7 bits for runtime data encoding 2023-03-04 15:47:34 +00:00
Dylan K. Taylor
aaec21f544 Compressor: Use minCompressionThreshold exclusively
closes #5589
2023-03-04 15:07:50 +00:00
dependabot[bot]
0edc5f8113 Bump phpunit/phpunit from 9.6.3 to 9.6.4 (#5597)
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.3 to 9.6.4.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.3...9.6.4)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  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-03-03 14:06:18 +00:00
dependabot[bot]
a382f0fd92 Bump phpstan/phpstan-phpunit from 1.3.8 to 1.3.10 (#5602)
Bumps [phpstan/phpstan-phpunit](https://github.com/phpstan/phpstan-phpunit) from 1.3.8 to 1.3.10.
- [Release notes](https://github.com/phpstan/phpstan-phpunit/releases)
- [Commits](https://github.com/phpstan/phpstan-phpunit/compare/1.3.8...1.3.10)

---
updated-dependencies:
- dependency-name: phpstan/phpstan-phpunit
  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-03-03 14:05:59 +00:00
Dylan K. Taylor
95c18ef99a Block: change confusing naming of decode/computeStateData
these actually accept a combination of type and state data, so it's a bit inconsistent with other references to 'state data'.
2023-03-02 17:42:44 +00:00
Dylan K. Taylor
972f107972 Block: added documentation for describeType() and describeState() 2023-03-02 17:31:52 +00:00
Dylan K. Taylor
e15e53859f tidy 2023-03-02 17:25:48 +00:00
Dylan K. Taylor
4692552fdc Block: improve documentation of type ID and state ID 2023-03-02 16:32:33 +00:00
Dylan K. Taylor
cbb58d3e0d Block: reduce method placement chaos 2023-03-02 16:23:40 +00:00
Dylan K. Taylor
7c974a12e1 Revert "ItemBlock: drop the charade about overriding built-in block types"
This reverts commit f64dc01bd1.

I forgot that the ItemBlock constructor implicitly strips off any states
of the origin block, which is something that we unfortunately can't do
any other way right now, since the blocks don't remember their default
states.
2023-03-02 15:51:55 +00:00
Dylan K. Taylor
f64dc01bd1 ItemBlock: drop the charade about overriding built-in block types
this allows cleaning up a whole lot of abusable mess from the API, and we never properly supported overriding built-in block types anyway.
2023-03-02 15:50:18 +00:00
Dylan K. Taylor
33140482bb ItemTypeIds: added fromBlockTypeId() and toBlockTypeId()
this allows checking the type of a blockitem without being required to create a block to do it.
2023-03-02 15:28:50 +00:00
Dylan K. Taylor
77fe0a69ba ItemIdentifier: remove dead TODO comment 2023-03-02 15:10:46 +00:00
Dylan K. Taylor
948aa059c3 ÂCommand: fixed inconsistent API method name 2023-03-02 15:09:52 +00:00
Dylan K. Taylor
407b78de3b Merge branch 'next-minor' into next-major 2023-02-28 19:25:05 +00:00
Dylan K. Taylor
0fcd2e7894 Merge branch 'stable' into next-minor 2023-02-28 19:23:25 +00:00
Dylan K. Taylor
369e0855a7 Update composer dependencies 2023-02-28 19:17:46 +00:00
Dylan K. Taylor
a6cf39b94e Update composer dependencies 2023-02-25 20:39:01 +00:00
dependabot[bot]
17afd38274 Bump phpstan/phpstan from 1.10.1 to 1.10.3 (#5593)
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.1 to 1.10.3.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.10.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.1...1.10.3)

---
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-02-25 20:36:33 +00:00
dependabot[bot]
8f024cb382 Bump docker/build-push-action from 3.3.0 to 4.0.0 (#5545)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.3.0 to 4.0.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3.3.0...v4.0.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-25 20:04:34 +00:00
Dylan K. Taylor
e7209679fb ... 2023-02-24 22:23:00 +00:00
Dylan K. Taylor
da054736b1 Merge branch 'stable' of github.com:pmmp/PocketMine-MP into stable 2023-02-24 22:19:38 +00:00
Dylan K. Taylor
d92173cded 4.15.3 is next 2023-02-24 22:18:34 +00:00
Dylan K. Taylor
308cdb6863 Release 4.15.2 4.15.2 2023-02-24 22:18:34 +00:00
Dylan K. Taylor
ae50b952f1 Accept 1.19.63 (same protocol, different protocol version) 2023-02-24 22:15:58 +00:00
Dylan K. Taylor
7608d5f04e Use BedrockDataFiles in more places 2023-02-23 22:03:35 +00:00
Dylan K. Taylor
9ae830fd54 Merge branch 'next-minor' into next-major 2023-02-23 22:00:29 +00:00
Dylan K. Taylor
f44946cb49 ... 2023-02-23 22:00:24 +00:00
Dylan K. Taylor
c82b43a586 Merge branch 'next-minor' into next-major 2023-02-23 22:00:14 +00:00
Dylan K. Taylor
f704bfb63a Use BedrockData 2.0.0 2023-02-23 21:52:17 +00:00
Dylan K. Taylor
9acb4d64db Added generated constants for available BedrockData files
this makes it easier to detect unused files, detect removed files, and also avoid typos in usages.
2023-02-23 21:45:12 +00:00
Dylan K. Taylor
5854b1c8c2 Merge branch 'next-minor' into next-major 2023-02-22 22:51:51 +00:00
Dylan K. Taylor
8234360c8d Avoid creating batch buffers just to determine whether a batch should be globally compressed
Instead, sum together the lengths of encoded packet buffers and use that to decide whether to build the buffer or not.
2023-02-22 22:43:10 +00:00
Dylan K. Taylor
6a64486f55 StandardPacketBroadcaster: Improve performance when broadcasting small packets
In refactors during PM4, I stripped out packet buffer caching, as it was problematic when events alter packets in undetectable ways.
However, I never cleaned this part of the code up properly after enabling DataPacketSendEvent to include multiple packets and multiple targets, so we were still individually encoding the packet(s) for every single session if the sum total of the sizes was below 256 bytes.

This change encodes packets once in the StandardPacketBroadcaster and retains their buffers to post to the session's send buffer directly if the resulting batch is below compression threshold.
This code is still not optimal (see ##5589), but fixing this brings broadcasting performance back to PM3 levels, without any of PM3's problems.
2023-02-22 21:52:12 +00:00