15815 Commits

Author SHA1 Message Date
Dylan K. Taylor
bd01a919e5
Move command timings to Timings::
this avoids duplicate timings entries when command labels are changed and changed back, or if multiple command maps are in use.
In addition, it also solves some PHPStan issues :)
2022-10-16 16:57:10 +01:00
Dylan K. Taylor
53cae8911d
Merge branch 'next-minor' into next-major 2022-10-14 21:53:25 +01:00
Dylan K. Taylor
7bcc663b60
Migrate core code to using symfony/filesystem
webmozart/path-util is retained for plugin compatibility, but is dropped in 5.0
2022-10-14 21:51:29 +01:00
Dylan K. Taylor
b3bda788d9
Server: Deprecated getPlayerByPrefix()
this is only used for commands anyway, but we can't get rid of it yet.
2022-10-14 21:45:09 +01:00
Dylan K. Taylor
2cc8a56e68
Server: fixed borked serverCommand timings 2022-10-14 20:02:44 +01:00
Dylan K. Taylor
b70f7afbd6
Fix CS according to latest version of php-cs-fixer 2022-10-13 21:07:07 +01:00
Dylan K. Taylor
92783a6db9
Merge branch 'next-minor' into next-major 2022-10-13 21:06:39 +01:00
Dylan K. Taylor
57deb60355
Merge branch 'stable' into next-minor 2022-10-13 21:03:50 +01:00
Dylan K. Taylor
92e47b98f8
Updated DevTools submodule to pmmp/DevTools@bd0fa048da 2022-10-13 21:02:39 +01:00
Dylan K. Taylor
b84c110819
Fix CS according to newest php-cs-fixer 2022-10-13 21:00:57 +01:00
Dylan K. Taylor
e1b0e00c6f
DataPacketSendEvent: add array type validation
this API is used directly by plugins, so anything goes.
2022-10-13 17:10:33 +01:00
Dylan K. Taylor
774df0fa4c
DataPacketSendEvent: added setPackets()
this is an implicit BC break, since plugins may assume that the packets in this array aren't going to change.
However, in practice, it's not likely to cause any real issues.
2022-10-13 17:06:09 +01:00
Dylan K. Taylor
f88ae93897
BC break: Replaced webmozart/path-util with symfony/filesystem, closes #5332 2022-10-13 16:43:36 +01:00
dependabot[bot]
4fadb63f67
Bump build/php from 50062b5 to 14ed8ea (#5337)
Bumps [build/php](https://github.com/pmmp/php-build-scripts) from `50062b5` to `14ed8ea`.
- [Release notes](https://github.com/pmmp/php-build-scripts/releases)
- [Commits](50062b5861...14ed8eaadd)

---
updated-dependencies:
- dependency-name: build/php
  dependency-type: direct:production
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 16:29:01 +01:00
dependabot[bot]
c83f0896ac
Bump ncipollo/release-action from 1.10.0 to 1.11.1 (#5319)
Bumps [ncipollo/release-action](https://github.com/ncipollo/release-action) from 1.10.0 to 1.11.1.
- [Release notes](https://github.com/ncipollo/release-action/releases)
- [Commits](https://github.com/ncipollo/release-action/compare/v1.10.0...v1.11.1)

---
updated-dependencies:
- dependency-name: ncipollo/release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 13:07:03 +01:00
dependabot[bot]
0d29a138fb
Bump docker/build-push-action from 3.1.1 to 3.2.0 (#5336)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3.1.1...v3.2.0)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-13 13:06:25 +01:00
IvanCraft623
421379fc77
SplashPotion: Use World::getCollidingEntities() instead of World::getNearbyEntities() (#5326)
fixes spectator players receiving effects from splash potions
2022-10-11 22:57:35 +01:00
Dylan K. Taylor
293cea7714
4.9.2 is next 2022-10-11 22:47:58 +01:00
Dylan K. Taylor
15645759e9
Release 4.9.1 4.9.1 2022-10-11 22:47:54 +01:00
Dylan K. Taylor
8dc0d506f4
Merge branch 'next-minor' into next-major 2022-10-11 22:29:21 +01:00
Dylan K. Taylor
8c651ce4b4
t Merge remote-tracking branch 'origin/next-minor' into next-major 2022-10-11 22:06:18 +01:00
Dylan K. Taylor
db7cee6f22
Player: check if the item meaningfully changed before discarding it in creative
fixes #5220
2022-10-11 22:06:03 +01:00
Dylan K. Taylor
6ae7cb288e
Merge remote-tracking branch 'origin/stable' into next-minor 2022-10-11 21:59:40 +01:00
Dylan K. Taylor
7df2719fce
Update Composer dependencies 2022-10-11 21:57:22 +01:00
dependabot[bot]
10b8dcfdd1
Bump phpstan/phpstan from 1.8.6 to 1.8.8 (#5324)
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.8.6 to 1.8.8.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.9.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.8.6...1.8.8)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-07 11:43:39 +01:00
Dylan K. Taylor
c1fbac412e
event: ensure that modifications to items expected to be readonly have no effect
this isn't a very glorious fix, but it's the best I have for now.
2022-10-07 11:33:14 +01:00
Dylan K. Taylor
3feaa18f6c
DelegateInventory: use WeakReference and __destruct to clean up inventory listener
this is more sane, since it allows the delegate to be reused without unexpected behaviour.
2022-09-30 15:12:37 +01:00
Dylan K. Taylor
1c6a2b66f7
Merge remote-tracking branch 'origin/next-minor' into next-major 2022-09-29 22:38:26 +01:00
Dylan T
41970feb57
Entity: Fire EntitySpawnEvent/ItemSpawnEvent on the first entity tick, instead of in the constructor (#5314)
This allows plugins to modify the entity via setters in EntitySpawnEvent without their changes getting overwritten by setter calls directly after the 'new YourEntity' statement.

As well as benefiting plugins, this also clears a path for a BC-breaking change in PM5 (to have the programmer use addEntity() to spawn entities, instead of the constructor doing it, which will improve on a number of data handling aspects).

fixes #4973

This targets next-minor because it has some side effects on plugins that depended on the old behaviour, such as VanillaHopper, so it's not suitable for a patch release.
2022-09-29 22:30:12 +01:00
Dylan K. Taylor
0edf2ea6a4
ConcretePowder: fix CS 2022-09-29 21:50:15 +01:00
Dylan K. Taylor
cd4bb91676
Living: alter eye height so the player doesn't drown on the surface of water when swimming
fixes #4989
2022-09-29 00:15:07 +01:00
Dylan K. Taylor
2be527060f
Sign: Fixed desync of colour and glowing state when using dye on signs
fixes #4932
2022-09-28 23:34:08 +01:00
Dylan K. Taylor
6f68c6d8a0
Melon: extend Solid instead of Transparent, fixes #5050 2022-09-28 23:07:53 +01:00
Dylan K. Taylor
ac16378410
Silence pre-spawn PlayerAuthInputPacket debug spam 2022-09-28 21:58:23 +01:00
Dylan K. Taylor
1f9dfa77bf
PreSpawnPacketHandler: emit a separate debug message for sending creative data 2022-09-28 21:58:23 +01:00
Dylan K. Taylor
0c7f8470b9
Avoid repeated strtolower usages in a couple of places 2022-09-28 21:30:06 +01:00
IvanCraft623
fc56c041f3
Correct knockback from explosions (#5161) 2022-09-28 21:09:07 +01:00
Dylan K. Taylor
d6bbf8217d
ResourcePackManager: avoid repeated operation 2022-09-28 20:57:17 +01:00
ShockedPlot7560
22486dd75e
Mushroom: check the light for placement, unless placed on mycelium or podzol (#5054)
The previous behaviour was inconsistent with vanilla.
2022-09-28 18:41:23 +01:00
Dylan K. Taylor
37ec1193ea
Update PHPStan baselines 2022-09-28 18:34:01 +01:00
IvanCraft623
1366a43c22
Implement Turtle Shell (#5235) 2022-09-28 18:19:15 +01:00
Alexey
383dc2a2b9
Fix the copper block scrape sound (#5147)
Co-authored-by: Dylan T <dktapps@pmmp.io>
2022-09-28 18:18:53 +01:00
Dylan K. Taylor
bda0ca23b4
Living: deprecated hasLineOfSight() 2022-09-28 17:34:51 +01:00
BrandPVP
b21cd82e94
Allow specifying a key for encrypted resource packs (#5297) 2022-09-28 17:27:33 +01:00
ShockedPlot7560
1c7b1e9e5d
Fix sugarcane behaviour on fertilizers (#4930) 2022-09-28 16:38:24 +01:00
Dylan K. Taylor
4b41b2f9ae
Merge remote-tracking branch 'origin/next-minor' into next-major 2022-09-28 16:15:35 +01:00
Dylan T
b87e4d8bd3
Introduce and use TextFormat::addBase() (#5268)
This function adds "base" format to a string. The given formats are inserted directly after any RESET code in the sequence.

An example of where this is needed is in the logger.

Without this change, the following code:
$logger->notice("I'm a " . TextFormat::RED . "special" . TextFormat::RESET . " cookie");

causes the "cookie" part of the message to show as grey, instead of the expected aqua for NOTICE level messages.

There are also many workarounds for this problem throughout the server, mostly in command outputs, being forced to use WHITE instead of RESET to avoid breaking the logger output.
2022-09-28 16:13:11 +01:00
Dylan K. Taylor
a6cc611e9f
Merge branch 'next-minor' into next-major 2022-09-28 01:06:11 +01:00
Dylan K. Taylor
86a2f8e360
Merge branch 'stable' into next-minor 2022-09-28 01:01:51 +01:00
Dylan K. Taylor
def2f8c145
InventoryManager: ensure the windowID is valid before attempting to remove any window
this is currently a harmless bug, since remove() isn't currently doing any heavy lifting.
2022-09-28 01:01:42 +01:00