388 Commits

Author SHA1 Message Date
Dylan K. Taylor
d945cbf517
Merge remote-tracking branch 'origin/minor-next' into blockstate-schema-generator-improvements 2024-10-17 21:00:11 +01:00
Dylan K. Taylor
3ef7001d8e
Merge branch 'stable' into blockstate-schema-generator-improvements 2024-10-17 20:55:34 +01:00
IvanCraft623
4e6b34f573
Implement new 1.21 copper blocks (#6366)
Added the following new blocks:
- All types of Copper Bulb
- All types of Copper Door
- All types of Copper Trapdoor
- All types of Chiseled Copper
- All types of Copper Grate
2024-09-24 21:25:10 -05:00
github-actions
a4a07a8e5a Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/10986731877
2024-09-23 02:36:00 +00:00
Dries C
60cac18104
Assemble 1.21.30 (#6453) 2024-09-20 18:47:25 -05:00
Dylan T.
5241118f0b
Merge branch 'minor-next' into blockstate-schema-generator-improvements 2024-08-19 19:05:08 +01:00
IvanCraft623
92f380bb9c
Merge branch 'stable' into sync-minor-next 2024-08-17 11:17:48 -05:00
Dries C
0f365886e0
Assemble 1.21.20 (#6423)
Co-authored-by: Dylan T. <dktapps@pmmp.io>
Co-authored-by: IvanCraft623 <ivancraft623@gmail.com>
2024-08-16 11:26:49 +01:00
Dylan K. Taylor
ee17ac5246
Merge branch 'stable' of github.com:pmmp/PocketMine-MP into minor-next 2024-08-09 13:32:07 +01:00
zSALLAZAR
c4a2b6494d
Implement Aqua Affinity enchantment (#6408) 2024-08-06 09:12:47 -05:00
IvanCraft623
2aa64dc15e
Simplify phpstan-doc type hint for better readability 2024-08-05 17:13:23 -05:00
Dylan K. Taylor
d0d7a995fb
Add a TODO in BlockStateUpgrader
this issue can be worked around by adding a dummy schema, but it's a bit clunky.
2024-08-05 22:38:32 +01:00
Dylan K. Taylor
be2437ac6e
Support for flattening TAG_Byte and TAG_Int properties
this allows optimisation in upcoming versions.
2024-08-05 22:38:02 +01:00
IvanCraft623
787afb6b00
Implement all new 1.21 tuff blocks (#6391) 2024-07-23 11:34:46 -05:00
Dylan T
85606925a1
BlockStateData: add a note about CURRENT_VERSION
this is not the same as current game version, as the revision is determined by some Mojang internal factors.
2024-07-12 11:26:51 +01:00
ipad54
accaa0acce
Implement ICopper interface for blocks with common properties (#6390) 2024-07-10 11:15:06 -05:00
ipad54
2ffc38c835
Implement campfire & soul campfire (#4696) 2024-07-07 15:01:34 -05:00
ipad54
b342c497d1 Added 1.21 banner patterns. 2024-06-23 13:27:52 +03:00
Dylan K. Taylor
f121654452
Assemble 1.21.0 2024-06-13 18:41:41 +01:00
Vega Nicholas S
4c418b4318
Remove unnecessary return statement (#6350) 2024-05-31 16:54:50 +01:00
Dylan K. Taylor
10238d7934
Removed beta change 2024-04-25 11:39:09 +01:00
Dylan K. Taylor
6077748caa
Changes for 1.20.80 2024-04-25 11:31:41 +01:00
Dylan K. Taylor
16f29c775e
tools/generate-blockstate-upgrade-schema: added support for generating newFlattenedName with value transforms
as seen in pmmp/BedrockBlockUpgradeSchema@ebd768e5b2, this enables use of newFlattenedName in more places (by allowing the flattened values to be transformed before building the new ID), as well as reducing the number of remappedStates in general by compacting stuff which was partially transformed like color silver -> light_gray.
2024-04-05 17:13:38 +01:00
ipad54
337e462c8f
Added new banner patterns (#6298) 2024-03-25 10:52:21 +00:00
Dylan K. Taylor
e31fd122d9
BlockStateReader: micro optimize unread properties check
this has a pretty much insignificant performance impact, but reduces the cost of this check to basically 0.
2024-03-14 17:54:26 +00:00
Dylan K. Taylor
a835069564
Merge remote-tracking branch 'origin/stable' into minor-next 2024-03-14 12:47:04 +00:00
Dylan K. Taylor
7ff0ae19d6
BlockStateUpgrader: a simple yet hard-to-explain optimization
Prior to this commit, upgrade schemas would be applied to blockstates with the same version, as there wasn't any way to know if they should be applied or not given Mojang's tendency to forget to bump the version.
However, it occurred to me that we only need to do this if there are multiple schemas present for the same version ID, which is rarely the case.
This allows skipping costly logic for blockstates on the newest version (the common case), reducing the time taken to process the blockstate for upgrading by over 30%.
Overall, this translates into less than 10% real performance improvement for chunk loading, but it's still a worthwhile improvement.
2024-03-13 18:19:51 +00:00
Dylan K. Taylor
c11c0679e3
Fix CS 2024-03-13 14:55:54 +00:00
Dylan K. Taylor
ba48f258f3
Support for 1.20.70 2024-03-13 14:53:27 +00:00
Dylan K. Taylor
a6202d0442
BlockStateUpgrader: calculate output version ID in a less stupid way
this improves the performance by a conservative 10%.
2024-03-12 11:48:48 +00:00
Dylan K. Taylor
8ec304e66e
BlockStateUpgradeSchema: avoid unnecessary property access and calculation
this was costing a surprisingly large 5-10% of the processing time for blockstate data.
2024-03-12 11:45:08 +00:00
Dylan K. Taylor
ac8dbf8640
BlockStateUpgrader: extract state remap to its own function 2024-03-06 12:56:49 +00:00
Dylan K. Taylor
98042f844f
Merge remote-tracking branch 'origin/stable' into minor-next 2024-02-28 17:36:21 +00:00
Dylan K. Taylor
db665fefdb
Harden JsonMapper defaults in general 2024-02-23 14:10:24 +00:00
IvanCraft623
920341668f
Implemented working Name tag (#5209) 2024-02-19 18:46:48 +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
fe06bfcda0
Import alias cleanup courtesy of newest php-cs-fixer 2024-02-07 12:50:37 +00:00
Dylan K. Taylor
6492e7f4a2
1.20.60 support 2024-02-07 12:33:44 +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
Dylan K. Taylor
8dc28b7ea8
RuntimeDataDescriber: remove useless template parameter 2023-12-20 15:15:43 +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
25cca1b63f
Changes for 1.20.50 2023-12-06 14:29:23 +00:00
ace
d596dc571d
Fix pitcher pod wrongly registered as a block (#6162) 2023-11-27 14:46:20 +00:00
Dylan K. Taylor
50592dc269
Merge branch 'stable' into minor-next 2023-11-09 18:05:38 +00:00
pandaa-be
4103631bc1
Added Smithing Template items (#6132) 2023-11-09 14:25:49 +00:00
Dylan K. Taylor
5f3a2a5096
BlockStateUpgrader: fixed undefined array key when flattening a block whose new ID is the same as the old
this came up during 1.20.50 testing, where minecraft:stone[stone_type=stone] continues to have an ID minecraft:stone without the stone_type property.
This could have appeared in other ways, such as with an invalid legacy blockstate.
2023-11-08 18:52:22 +00:00
Dylan K. Taylor
b41960dfec
Merge branch 'stable' into minor-next 2023-10-26 12:55:47 +01:00
Dylan K. Taylor
53a740433f
Changes for 1.20.40 2023-10-26 12:32:59 +01:00
Dylan K. Taylor
d0d16cdeb7
RuntimeDataDescriber: Introduce boundedIntAuto, replacing boundedInt
closes #6096
boundedIntAuto automatically calculates the correct number of bits to use based on the given bounds. The bounds must be constant, of course.
2023-10-17 12:03:43 +01:00