cd59e272bc
PHPStan 2.0 fixes
2025-01-07 22:10:42 +00:00
09bf203267
Update RuntimeDataDescriber.php
2024-11-12 22:57:14 +00:00
f3cc4a28e1
Easy wins for PHPStan 2.0 support
2024-11-12 22:12:54 +00:00
8dc28b7ea8
RuntimeDataDescriber: remove useless template parameter
2023-12-20 15:15:43 +00:00
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
78cc5ba635
CS again
2023-09-28 16:06:38 +01:00
4b9d170954
RuntimeDataDescriber: added dynamic method for reading and writing enum sets
...
this was previously only needed for brewing stands, but it's now become needed for chiselled bookshelves too.
2023-09-28 16:06:17 +01:00
d94391af57
Implement Chiseled Bookshelf ( #5827 )
2023-09-28 15:56:46 +01:00
7dcd2592d4
RuntimeDataDescriber: Support dynamically describing arbitrary enums ( #6039 )
...
Previously, we were using codegen to support describing a fixed set of enums.
Instead, we implement an enum() function, allowing any native PHP enum to be described.
All enums used in runtime data have been migrated to native PHP 8.1 enums in minor-next to facilitate this.
This implementation:
- is faster (in extreme cases by 40x, such as with PotionType)
- requires way less code
- does not require a build step
- is way more flexible
This fixes #5877 , increasing the range of stuff that plugins are now able to do.
EnumTrait enums are not supported, as it's easier and cleaner to just support native enums. Most core EnumTrait enums have been migrated to native enums by now to facilitate this.
2023-09-07 20:07:14 +01:00
6887fcd590
RuntimeEnum(De)SerializerTrait no longer uses legacy accessors for enum members
2023-09-07 19:40:14 +01:00
ae564e445d
Start migrating EnumTrait enums to PHP 8.1 native enums
2023-09-07 17:20:52 +01:00
83d11c7429
Implemented Big & Small dripleaf ( #5835 )
2023-07-17 16:30:52 +01:00
7132ac0ad3
Implemented strong slowness potion ( #5888 )
2023-07-13 13:22:01 +01:00
a34514c6a1
RuntimeDataDescriber: document that this is a sealed interface
2023-07-04 15:56:03 +01:00
bccda4fe44
Implement Piglin Head ( #5839 )
2023-06-19 12:07:49 +01:00
6d7f44d8fe
Implement glow lichen ( #5401 )
2023-06-04 16:04:08 +01:00
bdb0ed0701
Consistently use 'mob head' terminology in the API
...
previously, we were sometimes using 'mob head' and other times 'skull', sometimes even within the same file.
2023-05-26 15:08:00 +01:00
5eeb63f64b
always the CS ...
2023-03-04 15:52:57 +00:00
b9d62de29d
Pack wall connections into 7 bits for runtime data encoding
2023-03-04 15:47:34 +00:00
55a48e0c84
Block: specifying required type/state data bits is no longer required
...
RuntimeDataSizeCalculator allows calculating the number of required bits from describeType directly, which considerably reduces boilerplate code.
2023-02-16 16:45:19 +00:00
c2f6d8139a
Added interface RuntimeDataDescriber
2023-02-16 16:23:32 +00:00
b4c7d33388
Implement Medicine (from Education Edition) ( #5450 )
2022-12-24 17:38:12 +00:00
b65e0f64f6
Implement Suspicious Stew ( #5224 )
2022-08-16 17:26:32 +01:00
102406ee79
Added froglights
2022-07-23 17:40:38 +01:00
a7313ed9d9
Added rooted dirt
2022-07-23 16:12:17 +01:00
6d4279671e
A giant hack to cut down code needed for runtime block serialization by 50%
...
this also avoids repeated information and inconsistencies.
2022-07-18 18:25:41 +01:00
cf34f88a67
Make Block::decodeState() and encodeState() more codegen-friendly
2022-07-18 15:48:03 +01:00
b8d1b00985
phpstan fail very sad :(
2022-07-18 15:26:14 +01:00
8660dfe576
Generate traits for runtime enum serialization instead of helper classes
2022-07-18 15:16:33 +01:00
07786dc4bc
RuntimeDataWriter: fixed doc comment
2022-07-14 22:51:12 +01:00
8b2d941502
Offset integer ranges in runtime block data serialization
...
this is useful for stuff like snow layers where the range doesn't start at 0.
2022-07-13 19:49:30 +01:00
260e54e4b1
Skeleton for copper blocks, stairs and slabs
2022-07-10 00:18:35 +01:00
68cbe46600
Exterminate legacy item IDs
2022-07-05 15:12:55 +01:00
c5282b059b
...
2022-07-05 14:27:02 +01:00
325f1cf82e
Generalize runtime block data serialization
...
we want to reuse this code for item type data
2022-07-05 14:13:37 +01:00
b5914f4587
phpstorm ...
2022-07-02 16:58:28 +01:00
3792ef5a50
Move blockstate data runtime serialization to a more appropriate package
2022-07-02 16:48:41 +01:00