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.
Removed crafttweaker info. Will be moved to a wiki page when necessary
again.
Updated API part with the info about github packages and also moved it
higher.
when this class is used. Otherwise if a thread is not correctly detected to be part of the server or client
thread groups, a shared item stack from the wrong domain is returned.
`#spatial/whitelist` needs to be explicitly enabled through a config
value.
`#spatial/blacklist` will always be consider on top of the normal
blacklist.
Preparation in case we need more to support custom non solid, non
opaque, or similar blocks.
Removed custom fullSize/opaque blocks in favour of Material