* Makes formation planes a bit more consistent and less violent.
Items will now have a slower speed when spawning as well as a narrower area to avoid having them glitch into a wall and be teleported around
* Removed debug output, added clarifying parenthesis and extracted method.
* Fixes various other issues with the formation plane
Also removed now useless code
(cherry picked from commit 12e3fa9127)
* Fixes#4508: Correctly construct the sparse lists.
Also renamed all uncondensed getters to sparse and all condensed to the simple ones.
* Apply suggestions from code review
Co-authored-by: shartte <shartte@users.noreply.github.com>
* Streamlined collapsing the sparse lists
* Extracted helper to condense stacks
* Sort lists desc by stack size
Co-authored-by: shartte <shartte@users.noreply.github.com>
Also use a client-side method to update connected textures
for crafting cubes if two previously distinct clusters are connected.
Refactored MBCalculator to use generics for type checks and remove more casts.
do not always recalculate existing multiblocks. Only do so,
if the adjacent block is either part of the multiblock's bounding
box, or if the adjacent block would be a valid part of the multiblock.
they update their own block-state to display the disconnected
state, effectively reversing their own removal. This occurs
because the cached block state in the tile entity base class is
outdated and doesn't reflect the removal.
* Deduplicate crafting patterns internals
This should save a bit memory for duplicate patterns as well as speed up
loading new patterns on reloading chunks.
* Encode recipe id in pattern
* Use the recipe id directly for looking it up
* Slightly refactored how patterns encode whether they are crafting patterns or not.
* Renamed PatternHelper.
* Added APIs to encode patterns. (#4463)
* Removed ICraftingPatternItem.
* Renamed isCrafting to isCraftable
Co-authored-by: shartte <shartte@users.noreply.github.com>
* Rewrite driver model to support custom cell models
Each cell can now register a mapping Item -> ResourceLocation for a
custom cell model. Fallback will always be a 1k item cell.