8fd4918429
Use Filesystem::fileGetContents() in more places
2022-12-25 18:26:53 +00:00
c89df7eb1c
Merge remote-tracking branch 'origin/next-minor' into next-major
2022-12-25 18:22:13 +00:00
0d169b4e80
Filesystem: added fileGetContents to reduce ErrorToExceptionHandler boilerplate code
2022-12-25 17:13:51 +00:00
f8cc015c51
Merge branch 'next-minor' into next-major
2022-12-23 16:58:59 +00:00
17125ce0e3
Merge branch 'stable' into next-minor
2022-12-23 16:56:54 +00:00
ee7d4728d8
World: added cache for isChunkTickable()
...
this considerably reduces the amount of work done by the function, since it's usually checking the same chunks over and over again.
2022-12-19 21:20:21 +00:00
923dcec4e7
Revert "World: do not refresh ticked chunks list every tick"
...
This reverts commit aebcfc516f
.
this has edge cases in the handling of adjacent chunk locks which I
didn't consider at the time. Once accounting for those edge cases, it
became significantly more complex to the point that I realized this
needed more planning.
2022-12-19 20:57:51 +00:00
1e5597f0d5
World: account for null chunk edge case in tickChunk()
...
the target chunk may no longer be loaded if it was unloaded during a previous chunk's tick (e.g. during BlockGrowEvent).
Since the parent function iterates over a pre-selected array of chunks, the chunk will still be present in the list even if it's no longer loaded by the time it's reached.
2022-12-19 20:20:52 +00:00
aebcfc516f
World: do not refresh ticked chunks list every tick
...
this is just wasting CPU time, since the effects aren't noticeable on such a small timescale anyway.
This reduces the CPU impact of chunk selection by 95%. However, this is the lesser part of chunk ticking, and the lion's share of the performance impact still comes from actually ticking the chunks.
2022-12-19 20:17:29 +00:00
9809909072
BedrockWorldData: remove unused custom fields
2022-12-19 15:06:06 +00:00
de3af9e660
Fix CS
2022-12-19 15:02:59 +00:00
a30c649607
BedrockWorldData: enable commands by default
2022-12-19 14:59:55 +00:00
d7ebabd771
Fixed the client asking to upgrade PM-generated worlds
2022-12-19 14:56:04 +00:00
be1087c071
Accept worlds from 1.19.40 and up
2022-12-19 14:55:24 +00:00
b27c47335c
JavaWorldData: remove Bedrock-compatible hacks
...
we don't need these, since we don't write to Java world formats anymore anyway.
2022-12-19 13:43:28 +00:00
58eec637c1
Constify NBT keys in world data handling
...
this code is one giant mess that needs to be cleaned up though...
2022-12-19 13:39:41 +00:00
3d75094874
Standardize explosion radius terminology
...
closes #5061
2022-12-15 22:43:36 +00:00
4d79aced07
Merge branch 'next-minor' into next-major
2022-12-15 19:50:27 +00:00
95d0a3bf41
Merge branch 'stable' into next-minor
2022-12-15 19:38:22 +00:00
4357c110c8
Add the event: WorldParticleEvent ( #5428 )
2022-12-06 14:19:14 +00:00
99996b62d6
Align PhpDoc @param tags according to PHP-CS-Fixer
2022-12-06 13:21:20 +00:00
fed2a6d917
Add the event: WorldSoundEvent ( #5322 )
2022-12-06 13:06:40 +00:00
b6982a84ef
Merge branch 'next-minor' into next-major
2022-11-25 14:52:56 +00:00
5c1e9a35a9
Fix missing sounds when interacting with item frames ( #5383 )
...
closes #5168
2022-11-25 14:28:41 +00:00
34839da757
Fix missing sound when a projectile strikes an amethyst block ( #5382 )
...
closes #5358
2022-11-15 14:50:05 +00:00
613ce251c5
Merge branch 'next-minor' into next-major
2022-11-13 14:32:54 +00:00
2fcff13578
World: added getter and setter for simulation radius
2022-11-12 23:32:12 +00:00
b4b8ef1c6b
World: Improve performance of ticked chunk selection when lots of loaders use the same chunk
...
since we use the same simulation distance for every loader, multiple loaders on the same chunk will produce the same set of ticked chunks.
2022-11-12 22:21:30 +00:00
a205d64732
Merge branch 'next-minor' into next-major
2022-11-12 17:02:56 +00:00
83ddcce987
World: Considerably simplify ticked chunk selection
...
WARNING: This WILL have a performance impact on larger servers, but that's the price to pay for having crops actually grow.
The old overengineered method for doing this was causing glacially slow crop growth, vanilla parity issues and really just didn't make much sense. This method is probably incorrect too, but it will at least produce visible results.
2022-11-12 16:57:35 +00:00
824ed0a56a
Merge branch 'stable' into next-minor
2022-11-07 15:04:48 +00:00
2d0602d19f
World: fixed spawning in the void when the spawn terrain is higher than y=70 on default worlds
...
fixes #5390
2022-11-07 14:24:17 +00:00
1a5cc8212c
World: fixed spawning in the void when the spawn terrain is higher than y=70 on default worlds
...
fixes #5390
2022-11-07 14:23:29 +00:00
01bad344a0
Merge branch 'next-minor' into next-major
2022-11-04 20:47:26 +00:00
cdbdcb5d67
Merge branch 'stable' into next-minor
2022-11-04 20:44:28 +00:00
2fdc46c165
PHPStan 1.9 features
2022-11-04 20:23:34 +00:00
fba4895a17
Merge branch 'next-minor' into next-major
2022-10-31 19:11:39 +00:00
b6f6671a81
Merge branch 'stable' into next-minor
2022-10-31 15:34:24 +00:00
a9361b3f8b
Changes for 1.19.40
2022-10-25 23:11:41 +01:00
9f6c6b2b71
Merge branch 'next-minor' into next-major
2022-10-16 16:58:50 +01:00
7864294336
Merge branch 'stable' into next-minor
2022-10-16 16:53:14 +01:00
2a910c1cc2
World: more minor documentation improvements
2022-10-16 16:50:42 +01:00
cd04a3db2e
World: ensure that addParticle/addSound don't send stuff to players who are not in range, even when an array of targets is given
...
closes #5347
2022-10-16 16:45:52 +01:00
572def9245
World: Improve quality of type information
2022-10-16 16:21:59 +01:00
7bcc663b60
Migrate core code to using symfony/filesystem
...
webmozart/path-util is retained for plugin compatibility, but is dropped in 5.0
2022-10-14 21:51:29 +01:00
f88ae93897
BC break: Replaced webmozart/path-util with symfony/filesystem, closes #5332
2022-10-13 16:43:36 +01:00
8dc0d506f4
Merge branch 'next-minor' into next-major
2022-10-11 22:29:21 +01:00
fc56c041f3
Correct knockback from explosions ( #5161 )
2022-09-28 21:09:07 +01:00
383dc2a2b9
Fix the copper block scrape sound ( #5147 )
...
Co-authored-by: Dylan T <dktapps@pmmp.io >
2022-09-28 18:18:53 +01:00
a6cc611e9f
Merge branch 'next-minor' into next-major
2022-09-28 01:06:11 +01:00