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
6d5c46b091
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/17168505072
2025-08-23 00:03:09 +00:00
47140cb8d7
RedstoneLamp: implement Lightable, shimmed to powered
2025-08-22 18:27:32 +01:00
e824266457
ChiseledBookshelf: add setSlots()
2025-08-22 18:27:06 +01:00
4e7077d169
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/17084719293
2025-08-20 00:03:16 +00:00
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
237b304ef9
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/17027521569
2025-08-18 00:03:20 +00:00
547544b5b4
Merge branch 'stable' of github.com:pmmp/PocketMine-MP into minor-next
2025-08-17 15:25:57 +01:00
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
fc3f3d62f1
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/17001748601
2025-08-16 00:03:11 +00:00
431790a319
Additional specialisation for colored blocks
...
this reduces boilerplate even further
2025-08-15 22:24:27 +01:00
c0fad353a2
missed one
...
sadly glazed_terracotta had to be special
2025-08-15 22:09:54 +01:00
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
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
5ee081fbb1
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16979483636
2025-08-15 00:03:09 +00:00
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
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
442049d564
Prepare 5.32.1 release ( #6766 )
2025-08-14 11:37:24 +01:00
b03804d1eb
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16923820104
2025-08-13 00:03:17 +00:00
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
e375437439
ResourcePacksPacketHandler: harden checks for client responses
2025-08-12 20:11:35 +01:00
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
cd6199ad62
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16867858213
2025-08-11 00:03:30 +00:00
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
11612ed0e2
Fixed content log warning about recipe with missing ID
2025-08-11 00:49:37 +01:00
12f404b20d
Merge branch 'minor-next' into major-next
2025-08-08 01:09:17 +01:00
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
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
173b685b02
Bedrock 1.21.100 ( #6760 )
...
---------
Co-authored-by: Dylan T. <dktapps@pmmp.io >
2025-08-06 16:41:44 +01:00
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
c65f740ce5
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16710901339
2025-08-04 00:03:46 +00:00
5139800e13
BlockStateUpgrader: All but removed dependency on BlockStateData
2025-08-03 15:47:12 +01:00
e630fc2dd6
Merge remote-tracking branch 'origin/minor-next' into major-next
2025-07-31 13:00:12 +01:00
cc17e68072
Add blocks interfaces for commons properties ( #6639 )
2025-07-31 08:48:47 +02:00
79e3f2b281
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/16533775916
2025-07-26 00:03:00 +00:00
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
c02feba056
Merge remote-tracking branch 'origin/minor-next' into major-next
2025-07-10 01:58:34 +01:00
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
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
50e15db9ac
Prepare 5.31.0 release ( #6752 )
2025-07-08 13:41:59 +01:00
afcd6b4e12
Merge remote-tracking branch 'origin/minor-next' into major-next
2025-06-25 01:07:16 +01:00
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
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
cb508f4382
Release 5.30.1 ( #6744 )
2025-06-23 23:30:48 +03:00
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
2a97b4294d
Fixed held block placement after respawn anchor explosion ( #6742 )
2025-06-23 16:59:40 +01:00
68126b308a
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15800888918
2025-06-22 00:03:38 +00:00
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
e4b6f96535
Merge 'minor-next' into 'major-next'
...
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15789835501
2025-06-21 00:02:58 +00:00
04494e845c
EntityExplodeEvent: Fixed accidental BC break introduced by #6646
...
thanks @Yexeed
2025-06-20 15:26:42 +01:00