13206 Commits

Author SHA1 Message Date
Dylan K. Taylor
ad2d59923c
Merge branch 'stable' into next-minor 2022-08-18 17:06:15 +01:00
Dylan K. Taylor
792c1b62b7
Introduce and use TransactionBuilder for inventory evacuations 2022-08-18 17:04:12 +01:00
Dylan K. Taylor
e90abecf38
Rewrite InventoryManager handling of complex mapped inventories
this turned out to be necessary when dealing with the ItemStackRequest system.
2022-08-17 14:42:30 +01:00
Dylan K. Taylor
575dd47db7
4.7.3 is next 2022-08-16 17:51:26 +01:00
Dylan K. Taylor
e4a5defabb
Release 4.7.2 2022-08-16 17:51:26 +01:00
Dylan K. Taylor
c9626c610b
Skin: Correctly handle errors produced by commented JSON decoder 2022-08-16 17:35:23 +01:00
Dylan K. Taylor
dce8bd6d21
CS: Standardize new with braces 2022-08-15 17:16:23 +01:00
ShockedPlot7560
8fa81242d6
Sugarcane: fixed support conditions (#5052) 2022-08-15 17:08:26 +01:00
NoClip
2f4a9469b6
Player: spectator shouldn't able to pick blocks they don't have (#5111)
Jury is out on whether they should be able to pick blocks at all, or be considered to have infinite resources, but this solution has been used in a few other places already anyway, so it can be cleaned up another time.
2022-08-15 16:48:37 +01:00
Dylan K. Taylor
4d34885b15
Merge branch 'stable' into next-minor 2022-08-14 20:11:10 +01:00
Dylan K. Taylor
d62df585f2
4.7.2 is next 2022-08-14 19:56:00 +01:00
Dylan K. Taylor
19d7c2b552
Release 4.7.1 2022-08-14 19:55:56 +01:00
Dylan K. Taylor
f7ab0a3b92
Merge branch 'stable' into next-minor 2022-08-14 18:37:56 +01:00
Dylan K. Taylor
036e06e889
Revert "Workaround items in blockentity NBT not being processed correctly in 1.19.10"
This reverts commit 2b61c025c26394c3293bcc12a2d0b2301cb4c7ee.
2022-08-14 17:25:55 +01:00
Dylan K. Taylor
2fc84f6c67
ItemFactory: treat durables with negative meta as unknown items
fixes #5117
2022-08-12 17:24:43 +01:00
Dylan K. Taylor
566f5935a3
CraftingManagerFromDataHelper: do not register recipes with unknown outputs
fixes #5093

we don't need to check the inputs, since unknown input items shouldn't be obtainable anyway.
2022-08-12 17:19:47 +01:00
Dylan K. Taylor
44e4dabf6e
Fixed Turtle Master potions giving no effects 2022-08-12 17:05:08 +01:00
Dylan K. Taylor
e9a1cb7ce5
4.7.1 is next 2022-08-09 19:24:02 +01:00
Dylan K. Taylor
a21419d120
Release 4.7.0 2022-08-09 19:24:01 +01:00
Dylan K. Taylor
df7a1fcba6
Changes for 1.19.20 2022-08-09 19:06:05 +01:00
Dylan K. Taylor
5c6927e16c
4.6.3 is next 2022-08-06 15:35:47 +01:00
Dylan K. Taylor
9abbb85a93
Release 4.6.2 2022-08-06 15:35:47 +01:00
Dylan K. Taylor
d669a6f0c7
ReversePriorityQueue: add ReturnTypeWillChange attribute
it's doubtful any plugin dev is extending this, but nonetheless, we can't change it in a patch.
2022-07-27 03:51:06 +01:00
Dylan K. Taylor
16ed16722a
Merge branch 'stable' into next-minor 2022-07-24 21:21:37 +01:00
Dylan K. Taylor
42f9336f7a
Split packet receive timings into decode and handle subcomponents 2022-07-24 21:16:52 +01:00
Dylan K. Taylor
5d9f783037
InGamePacketHandler: do not update player rotation if it didn't change
setRotation() does an alarmingly large amount of work...
2022-07-24 21:07:35 +01:00
Dylan K. Taylor
01ca14c314
InGamePacketHandler: avoid processing movement if position is unchanged since last tick 2022-07-24 21:00:12 +01:00
Dylan K. Taylor
608c6ed6db
Improved suboptimal code in Player::handleMovement() 2022-07-24 20:51:28 +01:00
Dylan K. Taylor
c26631d06d
InGamePacketHandler: avoid useless object allocations when forceMoveSync=false (99.9% of the time) 2022-07-24 20:44:27 +01:00
Dylan K. Taylor
b75bc61a64
InGamePacketHandler: don't bother checking for flag changes if the flag fields are identical
we don't need to check this on a bit by bit level if the integers are the same.

this saves 2-3 microseconds per packet on my machine, which doesn't sound like much, but it adds up when there are lots of players.
2022-07-24 20:35:49 +01:00
Dylan K. Taylor
3724479be3
InGamePacketHandler: improve performance of input flag resolving 2022-07-24 20:33:35 +01:00
XenialDan
eb916fe43d
Use a falling block entity to improve client side performance of FloatingTextParticle (#4714)
Performance tests show that this has a considerable client-side performance advantage over using players. In my local tests, using 1000 floating texts in a 10x10x10 area, I observed an FPS increase from 1.5 to 8.0.
2022-07-24 18:22:21 +01:00
Dylan K. Taylor
5e3b3a0700
Fix assert spam on debug clients 2022-07-24 17:51:02 +01:00
Dylan K. Taylor
e10a624444
4.6.2 is next 2022-07-22 19:35:10 +01:00
Dylan K. Taylor
b20e04539d
Release 4.6.1 2022-07-22 19:34:57 +01:00
Dylan K. Taylor
4852f8029a
AsyncTask: update documentation 2022-07-21 23:26:46 +01:00
Dylan K. Taylor
2940547026
Eliminate repeated calls to Position->getWorld()
as well as improving readability, it also improves performance in some areas.
2022-07-20 20:44:05 +01:00
Dylan K. Taylor
24e72ec109
ContainerTrait: improve performance of block destroy hook
this was creating useless vector3s for every iteration, as well as repeatedly invoking Position->getWorld() for no reason.
2022-07-20 20:39:37 +01:00
Dylan K. Taylor
040516054f
Merge branch 'stable' into next-minor 2022-07-19 20:20:10 +01:00
IvanCraft623
fec89b7803
Lava burns entities for only 8 seconds in Bedrock (#5173) 2022-07-17 20:50:15 +01:00
Dylan K. Taylor
4e3964ffce
Armor: added clearCustomColor() 2022-07-16 15:10:07 +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
e00f8e3a32
Merge branch 'stable' into next-minor 2022-07-14 20:59:06 +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
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
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
Ali
705df7d508
EffectManager: remove redundant check (#5153) 2022-07-14 17:56:18 +01:00
Dylan K. Taylor
f1a63098bd
Merge branch 'stable' into next-minor 2022-07-14 16:06:15 +01:00