MultiblockRefreshEvent and a few fixes #377
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Relies on #352
Adds the multiblock refresh event which is needed to finish pylonmc/pylon-base#255
Also fixes an issue with the packet based entities, turns out the id provider gets overwritten by the init method for some reason, so had to move its assignment to after initializing, also stopped tracking platform entities as we don't need to.
This also reworks the EntityHolderBlock so that it can handle entities that get created/destroyed, it now lets entities track which block they are connected to and fixed phantom blocks not having their entities removed.
This also fixes an issue with both entity holder and ticker where broken blocks would be forever held in memory, as they were only removed on unload, not also on break.
Finally it fixes phantom blocks retaining the block texture entity and removes entity libs platform entity tracking (what would automatically notify packet entities that a viewer left), this is primarily for more control and better performance.