5c85aa6e58
Eliminate remaining usages of legacy block ID+meta on disk
...
flower pots loaded from vanilla worlds should now correctly display the plant inside
2022-06-05 21:49:51 +01:00
d2613039ed
Replace BlockLegacyIds usages with BlockTypeIds where possible
2022-06-05 21:17:10 +01:00
5a43db1c6d
LevelDB: remove stale TODO comment
...
this has been addressed by folding to state 0 in the legacy blockstate mapper.
2022-06-04 18:47:29 +01:00
dab7686656
Merge branch 'next-major' into modern-world-support
2022-06-04 18:43:11 +01:00
083a35f970
Modernize property type declarations
2022-06-04 18:16:32 +01:00
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00
01af70f671
Merge branch 'next-major' into modern-world-support
2022-06-02 20:24:25 +01:00
23695fb900
RegionLoader: remove dead static property
...
[bc break]
2022-06-02 16:55:22 +01:00
2bb99fa677
Modernize Position and Location
...
[bc break]
2022-06-01 21:21:31 +01:00
6ee551c5e1
Remove premature optimisation from World::getCollidingEntities()
...
this is already covered in more fine-grained detail by canCollideWith().
[bc break]
2022-06-01 21:00:54 +01:00
03c505aaa7
Merge branch 'next-major' into modern-world-support
2022-05-22 16:21:48 +01:00
179cac45f5
Merge branch 'stable' into next-minor
2022-05-22 16:21:05 +01:00
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
645c44ae9c
Explosion: remove unused variables
2022-05-21 22:41:28 +01:00
33e6b63fe5
Explosion: remove unused local variable in explodeB()
2022-05-21 17:39:11 +01:00
01b0742bd4
LightUpdate: account for virtual nodes in prepareNodes()
...
fixes #3959
2022-05-21 17:07:49 +01:00
68491be847
Merge branch 'next-major' into modern-world-support
2022-05-20 11:21:35 +01:00
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
d4b7f66e15
Promote some constructors
2022-05-17 22:34:58 +01:00
8b1bd5b7ff
World: do not hardcode length of day in computeSunAnglePercentage()
2022-05-16 18:17:32 +01:00
60d3bddfbc
Merge branch 'next-major' into modern-world-support
2022-05-11 13:14:42 +01:00
9ff1bf6deb
Merge remote-tracking branch 'origin/stable' into next-minor
2022-05-11 13:12:45 +01:00
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
0326c4964b
Merge branch 'next-major' into modern-world-support
2022-04-28 21:06:44 +01:00
937bb4c6ce
Merge branch 'stable' into next-minor
2022-04-28 21:00:23 +01:00
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
3752225ed5
World: fix CS
2022-04-28 16:00:34 +01:00
5cf572892f
WorldManager: fixed missing initializer for $defaultWorld
2022-04-28 15:38:20 +01:00
b88a47929f
Modernize property declarations in src/world/*
2022-04-28 15:06:17 +01:00
159392e738
wtf is this shitbox code
2022-04-28 14:57:57 +01:00
2f03af51dd
Modernize property declarations in src/world/sound
2022-04-28 14:57:01 +01:00
cb76c149e1
Modernize property declarations in src/world/particle
2022-04-28 14:55:53 +01:00
ed2a239334
Modernize property declarations in src/world/generator
2022-04-28 13:16:21 +01:00
de12b701ac
Modernize type declarations in src/world/format
2022-04-28 13:07:58 +01:00
43e61336cf
Support 1.18.30 worlds
2022-04-20 14:58:32 +01:00
e383f6d8f8
Merge branch 'next-major' into modern-world-support
2022-04-20 14:29:22 +01:00
6dbfdd970f
Merge branch 'stable' into next-minor
2022-04-20 14:23:51 +01:00
c085bf0db4
Changes for 1.18.30
2022-04-20 13:59:50 +01:00
42474c14aa
World: reduce blockhash padding for Y axis to accommodate new height range
2022-04-15 19:47:25 +01:00
eafbc3a468
Expand height range to include -64 to 320
2022-04-15 19:10:24 +01:00
993adc8c82
LevelDB: remove deprecated constants
...
there's no point pretending we can maintain BC on this now
2022-03-24 12:59:45 +00:00
334c9daa6a
BlockFactory: change property cache arrays to use regular arrays instead of SplFixedArray
...
this does come at a performance cost, but is necessary for metadata expansion.
we finally concede that this is not going to happen without BC breaks, however small they might be ...
2022-03-23 15:22:57 +00:00
ed95679953
Merge branch 'next-minor' into modern-world-support
2022-03-23 13:42:46 +00:00
70f923714c
Merge branch 'stable' into next-minor
2022-03-02 18:43:34 +00:00
a95749f968
Now using new repository for block upgrade schemas
2022-02-22 22:09:47 +00:00
c816bbdb6e
Remove unused import that php-cs-fixer doesn't see
2022-02-22 16:46:23 +00:00
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
e58b3ba46c
First look at loading 1.13+ worlds
2022-02-07 03:06:59 +00:00
c19a038d47
LevelDB: Added a whole bunch of constants
2022-02-07 00:54:00 +00:00
7ddd547190
Merge remote-tracking branch 'origin/stable' into staging/4.1
2022-02-06 23:55:52 +00:00