15236 Commits

Author SHA1 Message Date
Dylan K. Taylor
c548923116
... 2025-08-25 02:16:38 +01:00
Dylan K. Taylor
4a2c7dc684
Apparently hanging signs are self supporting 2025-08-25 02:15:24 +01:00
Dylan K. Taylor
f04c458e54
Merge branch 'stable' into minor-next 2025-08-25 01:49:19 +01:00
Dylan K. Taylor
5c0a109f18
Sign: Strip trailing newlines from text blobs
fixes sign editor always putting the cursor on the last line when right-clicking to edit
2025-08-25 01:48:29 +01:00
Dylan K. Taylor
31f6f5d252
CS again 2025-08-24 20:13:15 +01:00
Dylan K. Taylor
00d6171463
Implement hanging signs 2025-08-24 20:07:59 +01:00
Dylan K. Taylor
be90c6c399
World: trigger readStateFromWorld on tile blocks immediately on load
this ensures that the state IDs reflect the actual PM block type, which would probably
be important for a bunch of different async things.
2025-08-24 17:01:59 +01:00
Dylan K. Taylor
17ecf11a1b
Remove stupid thing PhpStorm keeps doing 2025-08-24 16:49:49 +01:00
Dylan K. Taylor
93e33dad8e
tidy CS 2025-08-24 16:42:05 +01:00
Dylan K. Taylor
4cdf064344
VanillaBlockMappings: Use some model mappings
this way there are some minor symmetry benefits, and the only asymmetric parts are the code that selects which model to use.

it also has the added benefit of removing some duplicated code paths (e.g. now it's possible to get rid of readUnitEnum() and such).
2025-08-24 16:37:42 +01:00
Dylan K. Taylor
5bf0cbec87
... 2025-08-24 15:39:23 +01:00
Dylan K. Taylor
ef53676a59
Fix unit tests 2025-08-24 15:38:07 +01:00
Dylan K. Taylor
8f9478e82f
Illager banners finally working
closes #2951
2025-08-24 15:31:10 +01:00
Dylan T.
7c521b456e
Unify block serializers (#6769)
This has several advantages:

    Easier to implement new blocks (one less file to modify)
    Easier to adjust serialization of existing blocks
    Guaranteed consistency between serializers and deserializers
    Potentially, exposes more metadata for programmatic analysis, instead of having everything baked inside opaque Closures

There are some exceptions which still use the old approach: big dripleaf, cauldrons, mushroom stems, and pitcher crops. These all have multiple PM block types for a single ID, with relatively complex logic to select which to use. These weren't worth the effort to unify due to their small number. I may revisit this in the future, but I already spent a lot of brainpower on it.
2025-08-24 14:12:18 +01:00
Dylan K. Taylor
47140cb8d7
RedstoneLamp: implement Lightable, shimmed to powered 2025-08-22 18:27:32 +01:00
Dylan K. Taylor
e824266457
ChiseledBookshelf: add setSlots() 2025-08-22 18:27:06 +01:00
Dylan K. Taylor
2bb78f2a94
Fixed Furnace not implementing HorizontalFacing
looks like this was missed in #6639
I checked all other uses of HorizontalFacingTrait and FacesOppositePlacingPlayerTrait and this seems to be the only one.
2025-08-20 00:58:57 +01:00
Dylan K. Taylor
547544b5b4
Merge branch 'stable' of github.com:pmmp/PocketMine-MP into minor-next 2025-08-17 15:25:57 +01:00
Dylan K. Taylor
eea4f40138
BlockStateToObjectDeserializer: Remove duplicated CHISELED_COPPER registration
allowing overriding of serializers by the same method as first registration was a mistake...
2025-08-17 15:24:40 +01:00
Dylan K. Taylor
431790a319
Additional specialisation for colored blocks
this reduces boilerplate even further
2025-08-15 22:24:27 +01:00
Dylan K. Taylor
c0fad353a2
missed one
sadly glazed_terracotta had to be special
2025-08-15 22:09:54 +01:00
Dylan K. Taylor
e89523ce66
First look at flattened ID specialisation for block serializers
in the future we should be able to unify these, similarly to simple mappings.
unifying blocks with states will, however, be considerably more work.

only color benefits from this so far
2025-08-15 22:02:12 +01:00
ShockedPlot7560
1e8612cfc8
BlockObjectToStateSerializer: Avoid unnecessary Writer and Closure (#6759)
---------

Co-authored-by: Dylan K. Taylor <dktapps@pmmp.io>
2025-08-15 20:39:13 +01:00
pmmp-admin-bot[bot]
edb8dcbe90 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16979483636
2025-08-15 00:03:08 +00:00
pmmp-admin-bot[bot]
f633416f05 5.32.2 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/16962847004
2025-08-14 10:38:22 +00:00
Dylan T.
442049d564
Prepare 5.32.1 release (#6766) 2025-08-14 11:37:24 +01:00
pmmp-admin-bot[bot]
cce55e8939 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16923820104
2025-08-13 00:03:15 +00:00
Dylan K. Taylor
e375437439
ResourcePacksPacketHandler: harden checks for client responses 2025-08-12 20:11:35 +01:00
Dylan K. Taylor
c417ecd30d
NetworkSession: Abort packet processing if handling triggered a disconnection
this shows up when requesting invalid data during resource pack handling, for example
2025-08-12 18:38:24 +01:00
pmmp-admin-bot[bot]
1f87c67e37 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16867858213
2025-08-11 00:03:28 +00:00
Dylan K. Taylor
11612ed0e2
Fixed content log warning about recipe with missing ID 2025-08-11 00:49:37 +01:00
pmmp-admin-bot[bot]
959fd7e5e6 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16791576698
2025-08-07 00:03:34 +00:00
pmmp-admin-bot[bot]
275fdc4280 5.32.1 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/16781699267
2025-08-06 15:42:50 +00:00
Dries C
173b685b02
Bedrock 1.21.100 (#6760)
---------

Co-authored-by: Dylan T. <dktapps@pmmp.io>
2025-08-06 16:41:44 +01:00
Dylan K. Taylor
89d18f929f
RakLibServer: fixed deadlock on thread crash
synchronized block -> getCrashInfo -> join -> synchronized on the same
context on the child thread -> deadlock

instead we check for isTerminated and then get the crash info outside
of the synchronized block.
2025-08-06 15:49:52 +01:00
Dylan K. Taylor
5139800e13
BlockStateUpgrader: All but removed dependency on BlockStateData 2025-08-03 15:47:12 +01:00
Hugo_
cc17e68072
Add blocks interfaces for commons properties (#6639) 2025-07-31 08:48:47 +02:00
Dylan K. Taylor
d41f1b2889
World: avoid hammering the disk looking for known ungenerated chunks
closes #6679

judging by the debug logs, this actually happens a lot during initial world generation,
which I suppose isn't that surprising.
2025-07-25 18:01:02 +01:00
pmmp-admin-bot[bot]
0977f0db7d Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16144129050
2025-07-08 13:08:27 +00:00
pmmp-admin-bot[bot]
a1d74b5710 5.31.1 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/16143550499
2025-07-08 12:43:11 +00:00
Dylan T.
50e15db9ac
Prepare 5.31.0 release (#6752) 2025-07-08 13:41:59 +01:00
pmmp-admin-bot[bot]
7082522509 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15837783229
2025-06-24 00:03:00 +00:00
pmmp-admin-bot[bot]
e415518435 5.30.2 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/15834488047
2025-06-23 20:31:58 +00:00
ipad54
cb508f4382
Release 5.30.1 (#6744) 2025-06-23 23:30:48 +03:00
ipad54
177fa76434
Disable client-side locator bar (#6743)
Without a propper server-side implementation, it just a mess of white dots of nearby players
2025-06-23 14:57:33 -05:00
ipad54
2a97b4294d
Fixed held block placement after respawn anchor explosion (#6742) 2025-06-23 16:59:40 +01:00
Dylan K. Taylor
258923cc78
World: verify blockstate IDs in setChunk()
I think I've finally traced the source of these problems back to BuilderTools setting bad values in async tasks :)
2025-06-21 23:05:51 +01:00
Dylan T.
04494e845c
EntityExplodeEvent: Fixed accidental BC break introduced by #6646
thanks @Yexeed
2025-06-20 15:26:42 +01:00
pmmp-admin-bot[bot]
6826420876 5.30.1 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/15743323722
2025-06-18 20:49:31 +00:00
Dylan K. Taylor
3643d3aeb8
Ready 5.30.0 release 2025-06-18 20:42:10 +01:00