14822 Commits

Author SHA1 Message Date
Dylan K. Taylor
fbcf4649eb
Avoid unnecessary Entity::getWorld() calls in loops 2023-11-17 13:58:41 +00:00
Dylan K. Taylor
0f620fad94
ChunkCache: inline unnecessary function 2023-11-17 13:30:44 +00:00
Dylan K. Taylor
67ad2bad17
World: fixed edge case that could lead to crash during block update sending 2023-11-17 13:24:06 +00:00
Dylan K. Taylor
bc07778434
Avoid unnecessary CompressBatchPromise allocations for sync-prepared batches
Sync-prepared batches account for the vast majority of outbound packets. Avoiding these useless objects further reduces the overhead of zero-compressed packets, as the creation of these objects is a significant part of the overhead for these cases.

closes #6157
2023-11-17 12:35:42 +00:00
Dylan K. Taylor
519784460f
Merge branch 'stable' into minor-next 2023-11-17 12:04:10 +00:00
Dylan K. Taylor
a25597ca30
Server: updated documentation for prepareBatch() 2023-11-17 12:01:19 +00:00
ace
89fbb3fd0d
Fix loading of Item Frame item rotation (#6123) 2023-11-16 10:16:29 +00:00
Dylan K. Taylor
e9c5846a06
World: simplify condition 2023-11-16 10:06:43 +00:00
Dylan K. Taylor
69f197dbec
PluginBase: fixed erroneous replacement 2023-11-14 13:04:14 +00:00
Dylan K. Taylor
13f34a500c
PluginBase: clean up inconsistent getter vs property access usages 2023-11-14 12:59:38 +00:00
Dylan K. Taylor
e5c96faa4b
Server: clean up inconsistent getter vs property access usages 2023-11-14 12:59:05 +00:00
Dylan K. Taylor
dd98e4aaed
block: clean up unnecessary getter usages
with the assistance of a custom phpstan rule
this inconsistent mess has been bothering me for a long time
2023-11-14 12:47:33 +00:00
Dylan K. Taylor
e525699dd4
TimeTrackingSleeperHandler: record time spent in each Snooze handler 2023-11-13 11:35:39 +00:00
Amir Muazzam
0ad6429fee
Fix RegistryTrait documentation (#6153) 2023-11-13 11:15:07 +00:00
Dylan K. Taylor
923c922960
Merge branch 'stable' into minor-next 2023-11-13 11:13:12 +00:00
Dylan K. Taylor
77590fb63a
Server: fixed prepareBatch() not being marked as internal 2023-11-13 11:12:12 +00:00
Dylan K. Taylor
58ea94bab8
... 2023-11-10 15:41:17 +00:00
Dylan K. Taylor
22b10e4cb0
Timings: Stop using BREAKDOWN group
with tree timings, the breakdown is actually pretty annoying, since it makes it hard to find a timer in the aggregate lists.
2023-11-10 15:36:35 +00:00
Dylan K. Taylor
c44758f36c
StringToItemParser: added pitcher_plant and pitcher_pod
it seems a bit weird to map pitcher_pod to PITCHER_CROP(). Perhaps this wasn't implemented correctly.
2023-11-10 15:26:02 +00:00
Dylan K. Taylor
b3766834c6
Merge branch 'stable' into minor-next 2023-11-09 19:02:08 +00:00
Dylan K. Taylor
93699024da
5.8.3 is next 2023-11-09 18:51:20 +00:00
Dylan K. Taylor
c3c81b09e8
Release 5.8.2 2023-11-09 18:51:17 +00:00
Dylan K. Taylor
50592dc269
Merge branch 'stable' into minor-next 2023-11-09 18:05:38 +00:00
Dylan K. Taylor
e3700cab50
ZlibCompressor: use libdeflate for level 0 compression
this is supported since libdeflate 1.15 and ext-libdeflate 0.2.0.
Everyone should be using these versions by now anyway, and if they aren't, they should update.

libdeflate's level 0 compression is over 20 times faster than zlib, so this is a nice performance improvement.
2023-11-09 18:05:07 +00:00
pandaa-be
4103631bc1
Added Smithing Template items (#6132) 2023-11-09 14:25:49 +00:00
ace
c1ed182112
Fix loading of sign text from vanilla world (#6122) 2023-11-09 14:22:37 +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
d09af2e30d
World: don't assume that random Vector3 are int vectors
we can safely assume this for blocks (though the type info doesn't reflect it) but this is not safe to assume for random APIs that might be used by plugins.
2023-11-06 17:15:17 +00:00
Dylan K. Taylor
bbe66e8e09
Block: Improve performance of encodeFullState()
if there's no state data to encode, we can avoid useless calls and object allocations.
For the best cases (blocks which don't use state data at all) this improves the performance of getStateId() by more than 10x.
Blocks which use one or the other benefit by a smaller but still significant margin.
2023-11-06 17:04:39 +00:00
Dylan K. Taylor
457660235e
Crops must have access to a light level of at least 9 2023-11-06 16:02:57 +00:00
ipad54
9fc9609694
Fix ancient debris not being fireproof (#6138) 2023-11-06 15:01:43 +00:00
ipad54
3385087c56
Fix Iron & Gold ores not affected by fortune (#6134) 2023-11-04 10:57:53 +00:00
Dylan K. Taylor
d3b7861d1a
Constify bootstrap options 2023-11-02 16:15:57 +00:00
Dylan K. Taylor
a6b36d6c3c
CropGrowthHelper: avoid unnecessary checks 2023-11-02 15:32:22 +00:00
Dylan K. Taylor
109673382d
Implemented modifiers for crop growth speed
closes #6070

there are some unresolved questions about the growth speed of beetroots, pitcher plants and torchflower crops, but that's a topic for another commit.
this change also doesn't account for the light levels.
2023-11-02 15:16:11 +00:00
Dylan K. Taylor
1e4a1565bb
Stem: fixed not attaching to grown pumpkin/melon
no idea how this got missed ...
2023-11-02 14:48:45 +00:00
Dylan K. Taylor
8aaa6dd176
Stem: do not disable ticking when the stem is not attached to a pumpkin
fixes #6131
2023-11-02 14:47:55 +00:00
Dylan K. Taylor
07dff9c9e8
5.8.2 is next 2023-11-01 17:55:23 +00:00
Dylan K. Taylor
75a39491be
Release 5.8.1 2023-11-01 17:55:22 +00:00
Dylan K. Taylor
a10e4b6481
Merge branch 'minor-next' into stable 2023-11-01 17:51:52 +00:00
Dylan K. Taylor
68c6b87678
5.8.1 is next 2023-11-01 17:49:56 +00:00
Dylan K. Taylor
e20c031aa1
Release 5.8.0 2023-11-01 17:49:53 +00:00
Dylan K. Taylor
9832fe899f
Merge branch 'stable' into minor-next 2023-11-01 16:39:44 +00:00
Dylan K. Taylor
55f3477ed9
5.7.2 is next 2023-11-01 16:37:46 +00:00
Dylan K. Taylor
2c17f82eb8
Release 5.7.1 2023-11-01 16:37:46 +00:00
Dylan K. Taylor
e6e2c54ec9
Fixed various reentrant-unsafe 2D array element unsets (similar to previous commit)
this pattern was used in various places
2023-11-01 16:28:59 +00:00
Dylan K. Taylor
0093732d49
PermissionManager: fixed non-reentrant-safe permission unsubscribing
during unset(), the destructors for other objects with cyclic references can get triggered, resulting in the functions being reentered before the count() call. This leads to a crash because the offset no longer exists.
Instead, we check if only the given PermissibleInternal is present, and clean everything up with a single unset instead of two.
This could also have been solved by adding extra isset() checks before checking the counts, but this way seemed more elegant.

This is similar to an issue with AsyncTask thread-local storage a few months ago, which was also caused by GC reentrancy.

closes #6119
2023-11-01 16:13:28 +00:00
Dylan K. Taylor
9eb2a46942
World: remove useless isChunkLoaded checks
getChunkEntities() will return an empty array if the chunk isn't loaded anyway, so this is just wasting CPU cycles.
2023-11-01 15:53:37 +00:00
Dylan K. Taylor
b41960dfec
Merge branch 'stable' into minor-next 2023-10-26 12:55:47 +01:00
Dylan K. Taylor
0b2fc84827
5.7.1 is next 2023-10-26 12:51:45 +01:00