CloudburstMC / Nukkit

Cloudburst Nukkit - Nuclear-Powered Minecraft: Bedrock Edition Server Software
https://cloudburstmc.org
GNU General Public License v3.0
1.22k stars 419 forks source link

LevelDB support & other updates #2175

Open PetteriM1 opened 6 months ago

PetteriM1 commented 6 months ago

This PR adds support for LevelDB (version 1.20.70) worlds together with various other stuff from Nukkit PM1E (changelog) including but not limited to:

Jenkins downloads: https://ci.opencollab.dev/job/NukkitX/job/Nukkit/job/leveldb/

For server owners:

For plugin developers:

Contains (at least partially) or should make following pull requests obsolete:

417, #786, #879, #914 , #1819, #1280, #1493, #1511, #1873, #1908, #1967, #2117, #2197

Contains parts of code from other projects: Cloudburst Server, PowerNukkit

Should resolve following issues:

2178, #2160, #2036, #2001, #2000, #1885, #1706, #1605, #1604, #1593, #1573, #1563, #1540, #1482, #1456, #1383, #1378, #1367, #1340, #1324, #1320, #1200, #864, #846, #839, #785, #733, #702, #698, #660, #497, #444, #418, #398, #325, #272, #116

Co-author: @Alemiz112

PetteriM1 commented 6 months ago

Just had a skim over a few of the core classes. This definitely requires bumping the API to 2.0.

I my opinion, we shouldn't break all plugins just because a part of the API (which most of them don't even depend on) was changed. You know how many plugin devs are inactive and how much people depend on public plugins. The whole point of releasing this at its current stage is trying to Keep Nukkit alive, avoid having all plugins needed to be rewritten until Nukkit has gained active users and plugin devs again. If we break all plugins, most people are just going to use forks and other software that have already finished their rewrite. If 1.0.20 isn't good, maybe we can do 1.5?