Commit Graph

15503 Commits

Author SHA1 Message Date
Dylan K. Taylor
07786dc4bc RuntimeDataWriter: fixed doc comment 2022-07-14 22:51:12 +01:00
Dylan K. Taylor
259f44e57c Merge branch 'next-minor' into next-major 2022-07-14 22:05:04 +01:00
Dylan K. Taylor
93254523e6 Merge branch 'stable' into next-minor 2022-07-14 22:04:38 +01:00
Dylan K. Taylor
2b61c025c2 Workaround items in blockentity NBT not being processed correctly in 1.19.10
closes #5154

this hack sends only the bare essential data to create the tiles in LevelChunkPacket,
and then separately sending the full tile data using BlockActorDataPacket afterwards.

This is necessary because the client doesn't handle items correctly in NBT when chunks are sent without using the SubChunkRequest system.
In 4.6 this is observed with incorrect items shown in item frames; in 5.0 it's seen with items simply not showing up at all (difference due to modernization of the serialization format in 5.0).
2022-07-14 21:54:01 +01:00
Dylan K. Taylor
e5804df24b Merge branch 'next-minor' into next-major 2022-07-14 20:59:13 +01:00
Dylan K. Taylor
e00f8e3a32 Merge branch 'stable' into next-minor 2022-07-14 20:59:06 +01:00
Dylan K. Taylor
c8320fe849 Merge branch 'next-minor' into next-major 2022-07-14 20:50:49 +01:00
Dylan K. Taylor
e2855aadff Simplify handling of broken transactions for crafting and friends
this allows stuff like smithing tables to work without needing any extra hacks.

Implementing enchanting or anvils would require some extra work, but I don't plan to implement those under the legacy transaction system anyway.
2022-07-14 20:50:06 +01:00
Dylan K. Taylor
21ed5a450f Updated BlockFactory consistency check 2022-07-14 20:42:16 +01:00
Dylan K. Taylor
ba2baba7cc Added netherite blocks and items 2022-07-14 20:39:09 +01:00
Dylan K. Taylor
c7133bc2e6 InGamePacketHandler: don't kick the player out of inventory windows on actor events
this is sent when the player crafts something using an anvil.
2022-07-14 20:36:11 +01:00
Dylan K. Taylor
d4f4fda442 Merge branch 'next-minor' into next-major 2022-07-14 19:54:50 +01:00
Dylan K. Taylor
4d6ec66270 Merge branch 'stable' into next-minor 2022-07-14 19:54:38 +01:00
Dylan K. Taylor
baf75089f5 Entity: cancel fire damage for fireproof entities 2022-07-14 19:53:25 +01:00
Dylan K. Taylor
b4ce5ed515 ItemDeserializer: throw a more specific exception on unknown items 2022-07-14 19:16:15 +01:00
Dylan K. Taylor
eb8fb63409 Added cartography and smithing tables
these have working inventories, and their crafting menus will 'just work' once the items for the associated recipes have been implemented (maps, netherite).
2022-07-14 18:01:47 +01:00
Ali
705df7d508 EffectManager: remove redundant check (#5153) 2022-07-14 17:56:18 +01:00
Dylan K. Taylor
91719051e2 BlockStateToBlockObjectDeserializer: removed TODO mess
these were useful when writing the initial version from scratch; not so much for implementing random blocks
2022-07-14 16:50:08 +01:00
Dylan K. Taylor
d321094081 Added hanging roots 2022-07-14 16:47:55 +01:00
Dylan K. Taylor
323d31005f Added glowing item frames 2022-07-14 16:24:20 +01:00
Dylan K. Taylor
0c7370e564 Added wither rose 2022-07-14 16:07:16 +01:00
Dylan K. Taylor
3dd4c42fd3 Merge branch 'next-minor' into next-major 2022-07-14 16:06:35 +01:00
Dylan K. Taylor
f1a63098bd Merge branch 'stable' into next-minor 2022-07-14 16:06:15 +01:00
Dylan K. Taylor
75d7adfb2d WitherEffect: fixed incorrect damage interval 2022-07-14 16:05:35 +01:00
Dylan K. Taylor
7dd8876515 TNT: remove the old unreliable way of ignition on burning arrow collide 2022-07-14 00:23:12 +01:00
Dylan K. Taylor
d0067cfac5 TNT now ignites when hit by a burning projectile 2022-07-14 00:12:02 +01:00
Dylan K. Taylor
eafc23c756 Added candles and cakes with candles 2022-07-13 23:54:41 +01:00
Dylan K. Taylor
20cb67461f Block: add the current class to the exception messages for block runtime data serialization 2022-07-13 19:50:35 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
dea0207e4e Merge branch 'next-minor' into next-major 2022-07-13 17:06:04 +01:00
Dylan K. Taylor
4b1052022c Merge branch 'stable' into next-minor 2022-07-13 17:00:58 +01:00
Dylan K. Taylor
32f9fcd4e9 Ignore coral_hang_type_bit on coral_fan_hang3
it's always written, but never used.
2022-07-13 16:38:37 +01:00
Dylan K. Taylor
9d535e2917 4.6.1 is next 2022-07-13 01:28:42 +01:00
Dylan K. Taylor
3ccd288afd Release 4.6.0 4.6.0 2022-07-13 01:28:37 +01:00
Dylan K. Taylor
06655bee78 Updated to 1.19.10 2022-07-13 00:59:49 +01:00
Dylan K. Taylor
2ba51567d8 RuntimeBlockMapping: avoid keeping two copies of the same blockstate data in memory 2022-07-10 17:41:01 +01:00
Dylan K. Taylor
14933a731b Implement copper waxing, unwaxing and scraping, minus particles
there is a LevelEvent for the particles, but it's both particle and sound, which doesn't integrate well with the existing API.
2022-07-10 01:00:13 +01:00
Dylan K. Taylor
a22276e679 there's always one ... 2022-07-10 00:19:27 +01:00
Dylan K. Taylor
260e54e4b1 Skeleton for copper blocks, stairs and slabs 2022-07-10 00:18:35 +01:00
Dylan K. Taylor
a44c089f98 REEEEEEEEEEEEEE 2022-07-09 20:40:18 +01:00
Dylan K. Taylor
5e70ae2066 Added lightning rods 2022-07-09 20:18:22 +01:00
Dylan K. Taylor
ad7528e3f3 Added warped wart blocks, gilded blackstone and crying obsidian 2022-07-09 20:00:10 +01:00
Dylan K. Taylor
99ff78a8a5 Updated BedrockData 2022-07-09 18:57:32 +01:00
Dylan K. Taylor
9ffee7cfc3 always the CS ... 2022-07-09 16:30:59 +01:00
Dylan K. Taylor
ccb3c3cb05 BlockStateData: use array<Tag> instead of CompoundTag to store state properties
this reduces the footprint of RuntimeBlockMapping by a further 1 MB, as well as simplifying various parts of the code, and solidifying the immutability guarantee of BlockStateData.
2022-07-09 16:03:51 +01:00
Dylan K. Taylor
151f2c3f3a BlockStateDictionary: reduce memory footprint by 5 MB by deduplicating blockstate NBT keys and values 2022-07-08 21:51:44 +01:00
Dylan K. Taylor
66d655731a Don't barf on air itemstacks found on disk
closes #5143

this is caused by bugs in PM4, where it saved air itemstacks when it wasn't supposed to.

These issues are now all addressed in PM5, since ItemSerializer won't accept air itemstacks.
2022-07-08 18:19:46 +01:00
Dylan K. Taylor
54a773be0c SubChunk::__construct(): rename blocks to blockLayers 2022-07-07 20:04:16 +01:00
Dylan K. Taylor
d894c5e97f Drop string ID -> legacy ID conversion tables
these are not used for anything anymore
2022-07-07 20:00:25 +01:00
Dylan K. Taylor
419b21281d Fix Copilot mixup 2022-07-07 19:54:04 +01:00