14514 Commits

Author SHA1 Message Date
Dylan K. Taylor
6d249026cc
Merge branch 'legacy/pm3' into stable 2022-01-07 20:15:15 +00:00
Dylan K. Taylor
ed2145b6a4
php-cs-fixer: enforce EOF newlines 2022-01-07 20:12:21 +00:00
Dylan T
86beeb8255
readme: update badge links
[ci skip]
2022-01-06 17:11:03 +00:00
dependabot[bot]
230a3c9839
Bump phpstan/phpstan from 1.2.0 to 1.3.1 (#4702)
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.2.0 to 1.3.1.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/master/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.2.0...1.3.1)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-05 13:49:29 +00:00
Dylan K. Taylor
35f205b476
4.0.6 is next 2022-01-04 20:51:37 +00:00
Dylan K. Taylor
e7d17eb4d3
Release 4.0.5 4.0.5 2022-01-04 20:51:36 +00:00
Dylan K. Taylor
73168a0e39
Merge branch 'legacy/pm3' into stable 2022-01-04 20:49:32 +00:00
Dylan K. Taylor
e8893dd91f
3.26.6 is next 2022-01-04 20:47:31 +00:00
Dylan K. Taylor
a4af1609ea
Release 3.26.5 3.26.5 2022-01-04 20:47:31 +00:00
Dylan K. Taylor
8c4b8a9042
CS 2022-01-04 20:44:10 +00:00
Dylan T
6492cac5c1
Merge pull request from GHSA-c6fg-99pr-25m9 2022-01-04 20:40:55 +00:00
Dylan T
958a9dbf0f
Merge pull request from GHSA-c6fg-99pr-25m9
* Skin: impose length limits on skinID, geometryName and geometryData fields

* Skin: remove extra newline
2022-01-04 20:40:55 +00:00
Dylan T
3ed57ce49a
Merge pull request from GHSA-p62j-hrxm-xcxf
This checks the following things:
- Validity of UTF-8 encoding of title, author, and page content
- Maximum soft and hard lengths of title, author, and page content (soft
  limits may be bypassed by uncancelling PlayerEditBookEvent; hard
  limits may not be bypassed)
- Maximum number of pages. Books with more than 50 pages may still be
  edited, but may not have new pages added.
2022-01-04 20:39:02 +00:00
Dylan T
68f3399cfd
Merge pull request from GHSA-p62j-hrxm-xcxf
This checks the following things:
- Validity of UTF-8 encoding of title, author, and page content
- Maximum soft and hard lengths of title, author, and page content (soft
  limits may be bypassed by uncancelling PlayerEditBookEvent; hard
  limits may not be bypassed)
- Maximum number of pages. Books with more than 50 pages may still be
  edited, but may not have new pages added.
2022-01-04 20:39:02 +00:00
Covered123
aeab19a616
Fixed world spawn point not updating to players (#4699)
closes #4383
2022-01-04 20:31:27 +00:00
Dylan K. Taylor
7bee72ef2d
Use ~ instead of ^ for constraints on BedrockData and BedrockProtocol
I got these two mixed up - they are exactly the opposite of what I thought. ~ is the stricter operator.
2022-01-04 00:54:09 +00:00
Dylan K. Taylor
0d595e4324
Update Language dependency 2022-01-04 00:47:04 +00:00
Dylan K. Taylor
e43e0189df
InGamePacketHandler: do not pass bare integers from BookEditPacket directly into event
while these currently happen to be identical, they may not be in the future.

Really this should be represented by an enum.
2022-01-03 20:20:32 +00:00
Dylan K. Taylor
decd1da2d0
BaseSign: remove dead TODO comment 2022-01-03 19:33:03 +00:00
Covered123
bcc0f1e733
Fixed desynchronization of hunger when cancelling food-related events (#4691) 2022-01-03 19:11:32 +00:00
Dylan K. Taylor
f62cfe8ae3
4.0.5 is next 2022-01-01 16:50:03 +00:00
Dylan K. Taylor
b903e90dc2
Release 4.0.4 4.0.4 2022-01-01 16:50:02 +00:00
Dylan K. Taylor
c8247786d7
Player: check chat length check with strlen() before mb_strlen()
mb_strlen() is O(n), whereas strlen() is O(1). If we receive very large chat messages (e.g. 2 MB), mb_strlen() will take a very long time to return a result (around 8ms on my machine).
Since the max size of a UTF-8 character is 4 bytes (according to standard), we can use strlen() with 4x the char limit to gate it and prevent this from happening.
2022-01-01 16:46:00 +00:00
Dylan T
f486b5f4a7
Player: fixed fall damage when sprinting down stairs (#4685)
Due to the way positions are updated over the network, we only see the end result of a movement and not its preceding actions. In addition, we don't know for sure whether the MCPE collision checks work the same exact way as PM.

TL;DR: It's possible for the client to capture and send a movement frame after they collided with a step and then already moved forward from it some distance, resulting in a weird arc pattern.

This PR checks the range between the old and new positions for collision boxes to ensure that all possible areas are checked for detecting fall damage.

This has been tested and successfully resolves various issues involving running down stairs:
- missing sounds
- random fall damage
2022-01-01 15:41:19 +00:00
Dylan K. Taylor
54d6b83fc2
Entity: pass the appropriate value for AFFECTED_BY_GRAVITY 2022-01-01 15:39:46 +00:00
Dylan K. Taylor
eedea38669
Improve performance of loading player inventories 2022-01-01 15:26:42 +00:00
Dylan K. Taylor
3c6146b5e0
ContainerTrait: avoid absurdly inefficient use of setItem()
this substantially improves the performance of loading containers such as chests.
2022-01-01 15:05:32 +00:00
Dylan K. Taylor
72f2c794ab
SimpleInventory: improved performance of setContents()
avoid the overhead incurred by clear() and setItem(), because in internalSetContents(), we already have no listeners or viewers to talk to anyway, so this is just spamming shit into /dev/null.
2021-12-31 18:32:19 +00:00
Dylan K. Taylor
38b6b39cb3
Filesystem: workaround a stupid Windows issue in safeFilePutContents()
occasionally Windows will randomly decide to deny us access to rename the file for no reason whatsoever. If this happens, we attempt an old-style copy and delete.
If the rename failed for a legit reason, the copy and delete should also fail and generate an error message. If it was Windows being a spaz, it should work normally without errors.
2021-12-29 15:26:34 +00:00
Dylan K. Taylor
fcc4757209
Merge branch 'legacy/pm3' into stable 2021-12-27 21:54:56 +00:00
Dylan K. Taylor
d9c70cb176
start.cmd: prevent idiotic behaviour when paths contain characters such as brackets
god I hate this shit so much
2021-12-27 21:54:32 +00:00
Dylan K. Taylor
4aab0565c0
ChunkCache: fixed corner case in cache restart on AsyncTask error
the cache may have been destroyed since the task inception, leading to an exception being thrown.
2021-12-27 18:11:55 +00:00
Dylan K. Taylor
8943d8a2a7
Player: fixed maximum message size limits to match vanilla bugrock 2021-12-27 16:51:47 +00:00
dependabot[bot]
0da29beb1d
Bump pocketmine/locale-data from 2.2.0 to 2.2.1 (#4667)
Bumps [pocketmine/locale-data](https://github.com/pmmp/Language) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/pmmp/Language/releases)
- [Commits](https://github.com/pmmp/Language/compare/2.2.0...2.2.1)

---
updated-dependencies:
- dependency-name: pocketmine/locale-data
  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>
2021-12-27 16:43:32 +00:00
dependabot[bot]
157048264c
Bump phpunit/phpunit from 9.5.10 to 9.5.11 (#4675)
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.10 to 9.5.11.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.10...9.5.11)

---
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>
2021-12-27 16:43:19 +00:00
Duo Incure
b55aa78aec
Changelog: Replaced non-existent method (#4676) 2021-12-27 15:33:02 +00:00
Matt
091673d8f1
Fixed "You can only sleep at night" message (#4671) 2021-12-23 23:52:07 +00:00
Dylan K. Taylor
e3614d1a82
Entity: fixed game performance issue with large scale entities
this->size refers to the scaled height, but the client wants the base (unscaled) size in these properties.
This caused immense lag when, for example, setting the scale of a player to 10, because their collision box would become 180 by 60, instead of the expected 18 by 6.
2021-12-18 22:38:45 +00:00
Alexey
93caf72f34
KickCommand: Add missing space
closes #4660
closes #4661
2021-12-17 21:09:14 +00:00
Dylan K. Taylor
e6e1bca676
4.0.4 is next 2021-12-16 01:35:43 +00:00
Dylan K. Taylor
795ebd1824
Release 4.0.3 4.0.3 2021-12-16 01:35:42 +00:00
Dylan K. Taylor
5f03887b47
Merge branch 'legacy/pm3' into stable 2021-12-16 01:34:10 +00:00
Dylan K. Taylor
9979a64ad2
3.26.5 is next 2021-12-16 01:23:22 +00:00
Dylan K. Taylor
75a72786f9
Release 3.26.4 3.26.4 2021-12-16 01:23:21 +00:00
Dylan K. Taylor
3d205c6e5f
Updated transient dependency junk 2021-12-16 01:20:05 +00:00
Dylan K. Taylor
2955a92837
Updated pocketmine/nbt to 0.2.19 2021-12-16 01:19:30 +00:00
Dylan K. Taylor
e70f81a111
Updated pocketmine/nbt to 0.3.2 2021-12-16 01:08:23 +00:00
Dylan K. Taylor
57e1509c3a
Updated translation APIs 2021-12-15 03:24:13 +00:00
Dylan K. Taylor
0da1810aaa
Updated composer dependencies 2021-12-15 03:12:26 +00:00
Dylan K. Taylor
4d37b79ff7
Server: fixed not being able to deop players whose names were added to ops.txt with uppercase letters in them
same as iTXTech/Genisys#1204

why didn't anyone report this???
2021-12-15 01:08:59 +00:00