Dylan T.
Dylan T.
### Link to crashdump https://crash.pmmp.io/view/12801862 ### Additional comments (optional) Not clear how this happens but it shouldn't cause a crash. The bad data should be rejected gracefully.
This PR started out as an effort to decouple Command and CommandMap, but it's turned into a bit more than that. A summary of changes: - `Command` no longer tracks...
### Problem description Implementing bamboo-like blocks has been a problem because bamboo doesn't have logs, so we can't just directly add it to `WoodType`. One solution we explored for this...
This PR breaks the cyclic dependency between `Inventory` and its holder, which unblocks a lot of new developments. ### Related issues & PRs Fixes #5033 Opens the gates for #6147...
### Problem description `World->lockChunk()` is used for advisory locking for async worldgen. Async generation won't take place if a chunk is locked. However, we don't account for the possibility that...
## Problem description An inventory listener is strongly referenced by an inventory. Since inventory listeners are typically used to dispatch updates to an owner (e.g. a [delegate]( https://github.com/pmmp/PocketMine-MP/blob/1481977f35b69b5b77551107584dc6503e1e5286/src/inventory/DelegateInventory.php#L40)), this means...
### Problem description We currently have no way in `World` to remember that we already attempted to load a chunk and found that it didn't exist. This presents some potential...
### Issue description It can be desirable to load worlds which do not use standard disk-loading providers. For example, one could hypothetically create a world format in which chunks are...
### Link to crashdump https://crash.pmmp.io/view/12462321 ### Additional comments (optional) Most common blocks don't need to store any properties. In these cases we can avoid redundant object allocations by allowing the...
This PR implements the system described in pmmp/BedrockProtocol#301. By default, the system will only warn when the read ops budget is depleted. In the future, once the defaults are dialled...