14822 Commits

Author SHA1 Message Date
Dylan K. Taylor
a0cca53f52
Fixed mismatched predictions due to NBT key order differences
this is a pain :(
It appears the client always sorts the keys in alphabetical order due to use of std::map. However I'm not sure of the exact ordering behaviour, so it needs to be investigated.
2024-02-27 16:07:43 +00:00
Dylan K. Taylor
efd113bdc8
Integrate pmmp/BedrockProtocol@65b3d0b341 2024-02-26 17:09:09 +00:00
IvanCraft623
920341668f
Implemented working Name tag (#5209) 2024-02-19 18:46:48 +00:00
Dylan K. Taylor
4fab518384
PluginManager: do not accept generator functions as event handlers
closes #4912

I didn't merge the original PR because this needs to be checked for explicitly registered handlers as well as auto-detected ones from listeners.
2024-02-19 16:53:53 +00:00
Dylan K. Taylor
2616d8c5ad
New biome IDs, courtesy of build/generate-biome-ids 2024-02-19 16:10:46 +00:00
Dylan K. Taylor
d211392b67
Merge remote-tracking branch 'origin/stable' into minor-next 2024-02-12 11:46:48 +00:00
Dylan K. Taylor
eaab1a8784
ChunkSerializer: fixed count calculation for non-overworld chunks
plugins that implement dimensions can't change the number of subchunks used by Chunk, they can only choose to use a subset of them.
2024-02-07 18:58:41 +00:00
Dylan K. Taylor
169d3e0de8
5.11.1 is next 2024-02-07 13:01:30 +00:00
Dylan K. Taylor
ce8fecc6ec
Release 5.11.0 2024-02-07 13:01:30 +00:00
Dylan K. Taylor
4fcb644c51
Added missing imports 2024-02-07 12:51:39 +00:00
Dylan K. Taylor
fe06bfcda0
Import alias cleanup courtesy of newest php-cs-fixer 2024-02-07 12:50:37 +00:00
Dylan K. Taylor
8c7a4d720a
Fixed inconsistent global namespace reference 2024-02-07 12:46:11 +00:00
Dylan K. Taylor
6492e7f4a2
1.20.60 support 2024-02-07 12:33:44 +00:00
ShockedPlot7560
6bb84bc46c
Add Promise::all (#6152) 2024-02-06 12:42:24 +00:00
IvanCraft623
f207d1bbf2
Make CocoaBlock Flowable (#6218) 2024-02-05 12:36:09 +00:00
Dylan K. Taylor
c6a09e5ed8
Merge branch 'stable' into minor-next 2024-01-09 16:17:55 +00:00
Dylan K. Taylor
e77cd39316
ItemBlock: add a workaround for air items with a stack size bigger than 0
In the future we should look into making empty slots be represented by null or a different, special item type, instead of breaking the air block for this purpose.

closes #6185
closes #6016
2024-01-09 15:55:41 +00:00
Dylan K. Taylor
a459e3c1a9
Block: improve some documentation 2024-01-09 13:35:36 +00:00
Dylan K. Taylor
288bd4018b
Block: deprecate isSolid()
As discussed many years ago in #2551, no one actually knows what this property actually means. It definitely isn't the conventionally expected definition of 'solid' found in the real world, as signs are solid but flower pots are not.
2024-01-09 13:35:10 +00:00
Dylan K. Taylor
9b03b082ab
Added --version option 2024-01-09 13:04:14 +00:00
Ayesh Karunaratne
db3bb55a2b
Change PHP_DEBUG constant usage to ZEND_DEBUG_BUILD
In PHP 8.4, the type of `PHP_DEBUG` changes from `int` to `bool`.
See [PHP.Watch: PHP 8.4: `PHP_ZTS` and `PHP_DEBUG` constant value type changed from `int` to `bool`](https://php.watch/versions/8.4/PHP_ZTS-PHP_DEBUG-const-type-change).

This changes the constants to `ZEND_DEBUG_BUILD`, which contains the same value but as a `bool` across all PHP versions.

closes #6222
2024-01-09 12:30:24 +00:00
Dylan K. Taylor
8372c9efc2
Merge branch 'stable' into minor-next 2024-01-09 12:27:25 +00:00
GameParrot
5386e86079
ProcessLoginTask: remove old root key (#6211) 2024-01-03 12:50:05 +00:00
Dylan K. Taylor
1b0ef468f3
CommonThreadPartsTrait: remove outdated documentation
This is now automatically called by the final run(), and the user now only needs to implement onRun(), so they have no business calling this function.
2023-12-21 13:09:05 +00:00
Dylan K. Taylor
b69843a8bd
CommonThreadPartsTrait: add common implementation of quit()
there's no need for the worker specialization here (isShutdown and shutdown are aliased to isJoined and join respectively), and the unstacking is not really desirable either as we previously learned with AsyncPool.
2023-12-21 12:56:51 +00:00
Dylan K. Taylor
03619ebca9
Thread/Worker: Remove duplicated code
Despite the comments, there doesn't seem to be an obvious reason for these to be copy-pasted. Perhaps there was some legacy reason for this with legacy pthreads.
In fact, it looks likely that quit() will probably be able to be traitified too.
2023-12-21 12:44:03 +00:00
Dylan K. Taylor
fd1bc1b845
AsyncWorker: deprecate ThreadStore methods
these are inconvenient and don't make any sense. It's far easier and more static-analysis-friendly to just use static properties.
2023-12-21 12:39:55 +00:00
Dylan K. Taylor
c05116849a
AsyncWorker: clean up nonsensical sleeper notifier handling code 2023-12-21 12:39:12 +00:00
Dylan K. Taylor
7a55a6e6b6
ServerKiller: harden against spurious wakeups
If awakened by spurious wakeup, the thread would immediately exit without doing anything, rendering it useless.
Not sure how it took so long for this to be found...
2023-12-20 17:22:11 +00:00
Dylan K. Taylor
bf99917f2a
ThreadSafeClassLoader: add native property types 2023-12-20 17:01:20 +00:00
Dylan K. Taylor
57f3a04bc5
data: Use statically analyzable ways of ensuring all cases are registered
PHPStan will verify that these matches cover all cases, which guarantees that all cases will be covered.
In addition, if PHPStan is not used, the constructors will immediately bail out when they hit a case that isn't covered.
The only downside is the extra indentation :(
2023-12-20 16:07:05 +00:00
Hugo_
c51b1b2812
Create LightableTrait and remove repetitive code (#6111) 2023-12-20 15:21:11 +00:00
Dylan K. Taylor
80125f9b19
Modernize single-use phpstan-template tags 2023-12-20 15:20:28 +00:00
Dylan K. Taylor
8dc28b7ea8
RuntimeDataDescriber: remove useless template parameter 2023-12-20 15:15:43 +00:00
Dylan K. Taylor
74cb0be868
Noise: give PHPStan some help understanding SplFixedArray 2023-12-20 14:43:36 +00:00
DiamondStrider1
c8da9dea95
WorldManager: Remove unused if in unloadWorld() (#6203) 2023-12-20 10:38:00 +00:00
Dylan K. Taylor
e1f4fd3048
ProcessLoginTask: remove dead comments
This is no longer an issue since b2df405cc0355dcffe202bc4040fae316940d427.
2023-12-15 16:01:43 +00:00
Dylan K. Taylor
d3d7f24015
Noise: make calls with many parameters less nauseating to read 2023-12-15 15:32:54 +00:00
Dylan K. Taylor
944dd7d3e4
BaseBanner: remove unnecessary array_filter() usage 2023-12-15 15:19:44 +00:00
Dylan K. Taylor
00a8ea267c
5.10.1 is next 2023-12-14 16:54:42 +00:00
Dylan K. Taylor
daeba95101
Release 5.10.0 2023-12-14 16:54:38 +00:00
Dylan K. Taylor
06b2e61d3c
Merge remote-tracking branch 'origin/stable' into minor-next 2023-12-14 14:02:15 +00:00
Dylan K. Taylor
b4838f5b4e
5.9.1 is next 2023-12-06 15:02:57 +00:00
Dylan K. Taylor
46307973e3
Release 5.9.0 2023-12-06 15:02:57 +00:00
Dylan K. Taylor
927f129c6e
Fixed borked world loading 2023-12-06 14:41:19 +00:00
Dylan K. Taylor
25cca1b63f
Changes for 1.20.50 2023-12-06 14:29:23 +00:00
TheNewHEROBRINE
2420dee8be
AsyncTask: Fix retrieval of null data from the thread-local storage (#6176) 2023-12-06 13:40:09 +00:00
Dylan K. Taylor
b2df405cc0
NetworkSession: Send less information to clients on error disconnects
in particular, the information from VerifyLoginTask shouldn't be sent to clients, as it could contain sensitive information.
This change only affects disconnection screens. The server log shows the same amount of information as before (though formatted differently in some cases).
2023-11-29 16:31:59 +00:00
ace
d596dc571d
Fix pitcher pod wrongly registered as a block (#6162) 2023-11-27 14:46:20 +00:00
Dylan K. Taylor
a1748a92ca
Avoid unnecessary TypeConverter::getInstance() calls
we already have it available within these contexts
2023-11-17 14:00:25 +00:00