Dylan K. Taylor
541a624d48
ItemFactory::get() now consistently throws SavedDataLoadingException on any error, including unknown items
2022-06-27 17:14:43 +01:00
Dylan K. Taylor
55cb68e5b5
Burn meta wildcards from Item, allow more dynamic recipe inputs
...
this was an obstacle for getting rid of legacy item IDs.
2022-06-27 13:33:26 +01:00
Dylan K. Taylor
bc5a600d59
Added item stack serialize/deserialize methods
2022-06-26 17:02:55 +01:00
Dylan K. Taylor
301b0aba82
Allow Item (de)serializer to accept dynamic BlockState(De)Serializer
2022-06-08 16:22:35 +01:00
Dylan K. Taylor
680615eed8
Namespace rename
2022-06-08 15:54:45 +01:00
Dylan K. Taylor
cf7d42b3ea
Fix CS according to new rules
2022-06-07 20:02:24 +01:00
Dylan K. Taylor
1ff69136a3
Merge branch 'next-major' into modern-world-support
2022-06-07 20:01:40 +01:00
Dylan K. Taylor
aa9f8781ff
Merge branch 'next-minor' into next-major
2022-06-07 19:56:26 +01:00
Dylan K. Taylor
4ec97d0f7a
InGamePacketHandler: added missing break
...
I'm getting sloppy ...
2022-06-07 17:52:59 +01:00
Dylan K. Taylor
016a80bb70
1.19.0 changes
2022-06-07 17:47:13 +01:00
Dylan K. Taylor
c29e23b2f1
TypeConverter: port 5fd685e07d61ef670584ed11a52fd5f4b99a81a7 to modern-world-support
2022-06-06 22:13:26 +01:00
Dylan K. Taylor
57132204ec
ItemTranslator: throw only the expected exception types
2022-06-06 22:09:32 +01:00
Dylan K. Taylor
860fa719b2
ItemTranslator: Accept dynamic BlockStateDictionary instead of using singleton
...
this will be needed for handling protocol updates in the future
2022-06-06 21:50:43 +01:00
Dylan K. Taylor
c89f7f8e5e
TypeConverter: duct tape for crafting recipe block inputs
2022-06-06 21:47:04 +01:00
Dylan K. Taylor
13bb1c26fb
ItemTranslator now operates directly using Item, rather than using item ID/meta + ItemFactory
...
in almost all cases where ItemTranslator is used, an Item already exists, so it doesn't make any sense to make ItemTranslator go and create another item instance just to pass to ItemSerializer.
2022-06-06 20:51:26 +01:00
Dylan K. Taylor
5fd685e07d
TypeConverter: fix crash on arbitrary out-of-bounds item IDs
...
I don't know why I didn't consider this fix necessary when the item meta bug was originally discovered.
2022-06-06 19:29:44 +01:00
Dylan K. Taylor
08fbf92d8d
Filter out recipes containing unknown items
2022-06-06 18:25:14 +01:00
Dylan K. Taylor
e040c2b281
InventoryManager: fixed windows not opening when the server removes windows
...
closes #5094
2022-06-05 16:03:24 +01:00
Dylan K. Taylor
dab7686656
Merge branch 'next-major' into modern-world-support
2022-06-04 18:43:11 +01:00
Dylan K. Taylor
083a35f970
Modernize property type declarations
2022-06-04 18:16:32 +01:00
Dylan K. Taylor
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00
Dylan K. Taylor
ef15dc883a
Merge branch 'next-major' into modern-world-support
2022-06-01 15:34:26 +01:00
Dylan K. Taylor
3fcf6372e0
Merge branch 'stable' into next-minor
2022-06-01 15:32:37 +01:00
Dylan K. Taylor
bf199d3a74
duct tape for recipes
2022-05-27 20:40:32 +01:00
Dylan K. Taylor
2b27b8a230
fixed fucky wucky
2022-05-24 21:52:10 +01:00
Dylan K. Taylor
383be5426e
Rewrite network item serialization to use ItemSerializer
2022-05-24 21:44:57 +01:00
Dylan K. Taylor
227f28a6d2
Use VanillaItems::AIR() instead of ItemFactory
2022-05-24 15:47:27 +01:00
Dylan K. Taylor
03c505aaa7
Merge branch 'next-major' into modern-world-support
2022-05-22 16:21:48 +01:00
Dylan K. Taylor
179cac45f5
Merge branch 'stable' into next-minor
2022-05-22 16:21:05 +01:00
Dylan K. Taylor
fcb2ccab99
NetworkSession: Sync all attributes on respawn
2022-05-21 16:22:35 +01:00
Dylan K. Taylor
f67104c81e
Merge branch 'next-major' into modern-world-support
2022-05-20 17:50:38 +01:00
Dylan K. Taylor
86efa0aae6
Merge remote-tracking branch 'origin/stable' into next-minor
2022-05-20 17:49:04 +01:00
Dylan K. Taylor
554f96bc24
InventoryManager: Defer opening new windows to the client until the window close handshake has been completed
...
fixes #5021 and probably a bunch of other inventory related glitches
When the server initiates a window close, it does so by sending a ContainerClose to the client, which causes the
client to behave as if it initiated the close itself. It responds by sending a ContainerClose back to the server,
which the server is then expected to respond to.
Sending the client a new window before sending this final response creates buggy behaviour on the client, which
is problematic when switching windows. Therefore, we defer sending any new windows until after the client
responds to our window close instruction, so that we can complete the window handshake correctly.
This is a pile of complicated garbage that only exists because Mojang overengineered the process of opening and
closing inventory windows.
2022-05-20 16:54:15 +01:00
Dylan K. Taylor
68491be847
Merge branch 'next-major' into modern-world-support
2022-05-20 11:21:35 +01:00
Dylan K. Taylor
df3a69dcb7
Modernize private property declarations in Threaded classes
...
I previously avoided this due to being unsure of the effects; however, it's clear that we already use typed properties on Threaded things in other places anyway, and the only known issues are with uninit properties, and arrays.
2022-05-17 22:42:18 +01:00
Dylan K. Taylor
d4b7f66e15
Promote some constructors
2022-05-17 22:34:58 +01:00
Dylan K. Taylor
c0b15de504
Modernize private static property declarations
2022-05-17 21:55:16 +01:00
Dylan K. Taylor
6eac2ea7a5
Modernize private property declarations in src/network
2022-05-17 21:22:33 +01:00
Dylan K. Taylor
cd016bedce
Network: Improve typeinfo for PHPStan on bannedIps
2022-05-17 21:19:48 +01:00
ipad54
1e59679ec2
Implemented Stonecutter ( #4732 )
2022-05-17 16:01:03 +01:00
Dylan K. Taylor
1a598bdfd8
RuntimeBlockMapping: make constructor more useful
...
this allows providing more customisable data sources.
2022-05-12 21:20:28 +01:00
Dylan K. Taylor
0326c4964b
Merge branch 'next-major' into modern-world-support
2022-04-28 21:06:44 +01:00
Dylan K. Taylor
937bb4c6ce
Merge branch 'stable' into next-minor
2022-04-28 21:00:23 +01:00
Dylan K. Taylor
33cf085692
PHPStan 1.6.3
2022-04-28 16:06:20 +01:00
Dylan K. Taylor
37f0ccdb7e
fix CS
2022-04-20 14:58:57 +01:00
Dylan K. Taylor
e383f6d8f8
Merge branch 'next-major' into modern-world-support
2022-04-20 14:29:22 +01:00
Dylan K. Taylor
6dbfdd970f
Merge branch 'stable' into next-minor
2022-04-20 14:23:51 +01:00
Dylan K. Taylor
6b4687a36b
RuntimeBlockMapping: unseal constructor to facilitate easier testing of new versions
2022-04-20 14:00:20 +01:00
Dylan K. Taylor
c085bf0db4
Changes for 1.18.30
2022-04-20 13:59:50 +01:00
Dylan K. Taylor
be863015bf
Merge branch 'next-major' into modern-world-support
2022-04-19 15:32:44 +01:00