mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 16:24:05 +00:00
[ci skip] more world stuff for changelog
This commit is contained in:
parent
d728160a77
commit
070d8efda3
@ -761,11 +761,46 @@ This version features substantial changes to the network system, improving coher
|
||||
- The following API methods have been added:
|
||||
- `World->registerChunkListener()`
|
||||
- `World->unregisterChunkListener()`
|
||||
- `Chunk->isDirty()` (replacement for `Chunk->hasChanged()`)
|
||||
- `Chunk->getDirtyFlag()` (more granular component-based chunk dirty-flagging, used to avoid saving unmodified parts of the chunk)
|
||||
- `Chunk->setDirty()`
|
||||
- `Chunk->setDirtyFlag()`
|
||||
- The following API methods have been removed:
|
||||
- `ChunkLoader->getLoaderId()` (now object ID is used)
|
||||
- `ChunkLoader->isLoaderActive()`
|
||||
- `ChunkLoader->getPosition()`
|
||||
- `ChunkLoader->getLevel()`
|
||||
- `Chunk->fastSerialize()` (use `FastChunkSerializer::serialize()` instead)
|
||||
- `Chunk->getBlockData()`
|
||||
- `Chunk->getBlockDataColumn()`
|
||||
- `Chunk->getBlockId()`
|
||||
- `Chunk->getBlockIdColumn()`
|
||||
- `Chunk->getBlockLight()`
|
||||
- `Chunk->getBlockLightColumn()`
|
||||
- `Chunk->getBlockSkyLight()`
|
||||
- `Chunk->getBlockSkyLightColumn()`
|
||||
- `Chunk->getMaxY()`
|
||||
- `Chunk->getSubChunkSendCount()` (this was specialized for protocol usage)
|
||||
- `Chunk->getX()`
|
||||
- `Chunk->getZ()`
|
||||
- `Chunk->hasChanged()` (use `Chunk->isDirty()` or `Chunk->getDirtyFlag()` instead)
|
||||
- `Chunk->isGenerated()`
|
||||
- `Chunk->networkSerialize()` (see `ChunkSerializer` in the `network\mcpe\serializer` package)
|
||||
- `Chunk->populateSkyLight()` (use `SkyLightUpdate->recalculateChunk()` instead)
|
||||
- `Chunk->recalculateHeightMap()` (moved to `SkyLightUpdate`)
|
||||
- `Chunk->recalculateHeightMapColumn()` (moved to `SkyLightUpdate`)
|
||||
- `Chunk->setAllBlockLight()`
|
||||
- `Chunk->setAllBlockSkyLight()`
|
||||
- `Chunk->setBlock()`
|
||||
- `Chunk->setBlockData()`
|
||||
- `Chunk->setBlockId()`
|
||||
- `Chunk->setBlockLight()`
|
||||
- `Chunk->setBlockSkyLight()`
|
||||
- `Chunk->setChanged()` (use `Chunk->setDirty()` or `Chunk->setDirtyFlag()` instead)
|
||||
- `Chunk->setGenerated()`
|
||||
- `Chunk->setX()`
|
||||
- `Chunk->setZ()`
|
||||
- `Chunk::fastDeserialize()` (use `FastChunkSerializer::deserialize()` instead)
|
||||
- `World->isFullBlock()`
|
||||
- `World->getFullBlock()`
|
||||
- `World->getBlockIdAt()`
|
||||
@ -801,9 +836,12 @@ This version features substantial changes to the network system, improving coher
|
||||
- `World->addRandomTickedBlock()` now accepts `Block` instead of `int, int`.
|
||||
- `World->removeRandomTickedBlock()` now accepts `Block` instead of `int, int`.
|
||||
- `World->setBlock()` has had the `$direct` parameter removed.
|
||||
- `World->loadChunk()` now returns `?Chunk`, and the `$create` parameter is mandatory.
|
||||
- `World->loadChunk()` now returns `?Chunk`, and the `$create` parameter has been removed.
|
||||
- `World->getChunk()` no longer accepts a `$create` parameter.
|
||||
- `World->updateAllLight()` now accepts `int, int, int` instead of `Vector3`.
|
||||
- `Chunk->__construct()` now has the signature `array<int, SubChunk> $subChunks, ?list<CompoundTag> $entities, ?list<CompoundTag> $tiles, ?BiomeArray $biomeArray, ?HeightArray $heightArray`.
|
||||
- `Chunk->getSubChunk()` now returns `SubChunk` instead of `SubChunkInterface|null` (and throws `InvalidArgumentException` on out-of-bounds coordinates).
|
||||
- `Chunk->setSubChunk()` no longer accepts `SubChunkInterface`, and the `$allowEmpty` parameter has been removed.
|
||||
- The following API methods have been renamed / moved:
|
||||
- `Level->getCollisionCubes()` -> `World->getCollisionBoxes()`
|
||||
- `World->getName()` -> `World->getDisplayName()`
|
||||
@ -812,9 +850,10 @@ This version features substantial changes to the network system, improving coher
|
||||
- The following methods now throw `WorldException` when targeting ungenerated terrain:
|
||||
- `World->getSafeSpawn()` (previously it just silently returned the input position)
|
||||
- `World->getHighestBlockAt()` (previously it returned -1)
|
||||
- Extracted a unit `pocketmine\world\format\io\FastChunkSerializer` from `Chunk`:
|
||||
- `Chunk->fastDeserialize()` -> `FastChunkSerializer::deserialize()`
|
||||
- `Chunk->fastSerialize()` -> `FastChunkSerializer::serialize()`
|
||||
- `World->loadChunk()` no longer creates an empty chunk when the target chunk doesn't exist on disk.
|
||||
- `World->setChunk()` now fires `ChunkLoadEvent` and `ChunkListener->onChunkLoaded()` when replacing a chunk that didn't previously exist.
|
||||
- `World->useBreakOn()` now returns `false` when the target position is in an ungenerated or unloaded chunk (or chunk locked for generation).
|
||||
- `World->useItemOn()` now returns `false` when the target position is in an ungenerated or unloaded chunk (or chunk locked for generation).
|
||||
- A `ChunkListener` interface has been extracted from `ChunkLoader`. The following methods have been moved:
|
||||
- `ChunkLoader->onBlockChanged()` -> `ChunkListener->onBlockChanged()`
|
||||
- `ChunkLoader->onChunkChanged()` -> `ChunkListener->onChunkChanged()`
|
||||
|
Loading…
x
Reference in New Issue
Block a user