Dylan K. Taylor
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
Dylan K. Taylor
824ed0a56a
Merge branch 'stable' into next-minor
2022-11-07 15:04:48 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
cdbdcb5d67
Merge branch 'stable' into next-minor
2022-11-04 20:44:28 +00:00
Dylan K. Taylor
2fdc46c165
PHPStan 1.9 features
2022-11-04 20:23:34 +00:00
Dylan K. Taylor
b6f6671a81
Merge branch 'stable' into next-minor
2022-10-31 15:34:24 +00:00
Dylan K. Taylor
a9361b3f8b
Changes for 1.19.40
2022-10-25 23:11:41 +01:00
Dylan K. Taylor
7864294336
Merge branch 'stable' into next-minor
2022-10-16 16:53:14 +01:00
Dylan K. Taylor
2a910c1cc2
World: more minor documentation improvements
2022-10-16 16:50:42 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
572def9245
World: Improve quality of type information
2022-10-16 16:21:59 +01:00
Dylan K. Taylor
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
IvanCraft623
fc56c041f3
Correct knockback from explosions ( #5161 )
2022-09-28 21:09:07 +01:00
IvanCraft623
5e5661de75
Play burp sound when consuming a FoodSource ( #5158 )
2022-09-27 17:21:55 +01:00
Eren A. Akyol
82ba7903c8
Fixed wrong key being used for entity type ID in save data ( #5288 )
...
closes #5260
2022-09-15 13:40:48 +01:00
Dylan K. Taylor
ca4b8a5827
World: remove local static recursion guard variable, closes #3125
2022-09-02 19:24:09 +01:00
Dylan K. Taylor
c13170a00b
Avoid implicit integer cast in Normal::pickBiome()
...
this throws deprecation warnings on PHP 8.1.
2022-08-20 17:16:38 +01:00
Dylan K. Taylor
dce8bd6d21
CS: Standardize new with braces
2022-08-15 17:16:23 +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
06655bee78
Updated to 1.19.10
2022-07-13 00:59:49 +01:00
Dylan K. Taylor
784d602600
Fixed ItemBreakParticle using untranslated internal ID/meta for network data
...
this caused it to display particles for incorrect items. It may also have been possibly responsible for client crashes.
2022-06-29 14:01:39 +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
179cac45f5
Merge branch 'stable' into next-minor
2022-05-22 16:21:05 +01:00
Dylan K. Taylor
7eaf1246a0
Explosion: cap yield at 100%
...
this could overflow if the explosion size is less than 1.
While this currently doesn't have any negative effects, if we decided to support >100% yield, this would cause some issues.
2022-05-21 22:43:26 +01:00
Dylan K. Taylor
645c44ae9c
Explosion: remove unused variables
2022-05-21 22:41:28 +01:00
Dylan K. Taylor
33e6b63fe5
Explosion: remove unused local variable in explodeB()
2022-05-21 17:39:11 +01:00
Dylan K. Taylor
01b0742bd4
LightUpdate: account for virtual nodes in prepareNodes()
...
fixes #3959
2022-05-21 17:07:49 +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
8b1bd5b7ff
World: do not hardcode length of day in computeSunAnglePercentage()
2022-05-16 18:17:32 +01:00
Dylan K. Taylor
9ff1bf6deb
Merge remote-tracking branch 'origin/stable' into next-minor
2022-05-11 13:12:45 +01:00
Dylan K. Taylor
593a4b65ea
World: fixed crash when using unloadChunk() during ChunkPopulateEvent, ChunkLoadEvent or when using ChunkListeners
...
I sure hope there isn't any other cases where this edge case can appear ...
closes #5022
2022-05-10 13:09:26 +01:00
Dylan K. Taylor
937bb4c6ce
Merge branch 'stable' into next-minor
2022-04-28 21:00:23 +01:00
Dylan K. Taylor
cf15a0913d
World: fixed a corner case assertion failure in generation system
...
This required the following:
- A generation task (taskA) to already be running for any chunk (chunkA)
- A chunk (chunkB) is requested for generation, and the task (taskB) to do the generation
is commenced immediately
- chunkB generation promise is aborted (e.g. due to chunk unload) and
taskB is orphaned
- chunkB is subsequently re-requested, but ends up in the generation
queue because taskB is still running
- taskA completes and drains the generation queue
- chunkB attempts to be populated a second time, but taskB has not yet
been collected, resulting in an assertion failure.
This bug has been appearing intermittently ever since PM 4.0 release.
For most users there is no obvious effect since production servers don't
have assertions enabled; however, it's unclear what kind of weird side
effects this bug may have had.
2022-04-28 20:23:23 +01:00
Dylan K. Taylor
3752225ed5
World: fix CS
2022-04-28 16:00:34 +01:00
Dylan K. Taylor
5cf572892f
WorldManager: fixed missing initializer for $defaultWorld
2022-04-28 15:38:20 +01:00
Dylan K. Taylor
b88a47929f
Modernize property declarations in src/world/*
2022-04-28 15:06:17 +01:00
Dylan K. Taylor
159392e738
wtf is this shitbox code
2022-04-28 14:57:57 +01:00
Dylan K. Taylor
2f03af51dd
Modernize property declarations in src/world/sound
2022-04-28 14:57:01 +01:00
Dylan K. Taylor
cb76c149e1
Modernize property declarations in src/world/particle
2022-04-28 14:55:53 +01:00
Dylan K. Taylor
ed2a239334
Modernize property declarations in src/world/generator
2022-04-28 13:16:21 +01:00
Dylan K. Taylor
de12b701ac
Modernize type declarations in src/world/format
2022-04-28 13:07:58 +01:00
Dylan K. Taylor
c085bf0db4
Changes for 1.18.30
2022-04-20 13:59:50 +01:00
Dylan K. Taylor
70f923714c
Merge branch 'stable' into next-minor
2022-03-02 18:43:34 +00:00
Dylan K. Taylor
c816bbdb6e
Remove unused import that php-cs-fixer doesn't see
2022-02-22 16:46:23 +00:00
Dylan K. Taylor
75d4c47384
LevelDB: fixed incorrectly writing always newest protocol version in world saves
...
this made it impossible to tell the difference between PM worlds and bedrock worlds modified post-1.12.
2022-02-20 21:08:31 +00:00
Dylan K. Taylor
c19a038d47
LevelDB: Added a whole bunch of constants
2022-02-07 00:54:00 +00:00
Dylan K. Taylor
7ddd547190
Merge remote-tracking branch 'origin/stable' into staging/4.1
2022-02-06 23:55:52 +00:00
Dylan K. Taylor
7846ea8acc
LevelDB: do not barf on chunk version 8
...
this covers a wide range from 1.2.13 to 1.8.
2022-02-05 04:18:37 +00:00