* Ported the "one spatial dimension" concept from pre-1.15
* Apply lighting updates after moving chunks.
Mark world data as dirty when changing it.
* Consolidated naming of spatial storage world/dimension.
Use server light manager to update lighting info in chunk.
* Save last transition information,
and add ae2 spatial command to interact with spatial storage.
* Formatting fixes.
* Improved docs for the origin generation.
Inverted condition on when the x/z axis are flipped.
Also added a helper to map a plot to a region file
* Remove TransitionResult since it's only used in lieu of a boolean.
Rework transition to make the checks BEFORE allocating a new cell.
* Removed unused imports.
Co-authored-by: yueh <yueh@users.noreply.github.com>
* 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
Co-authored-by: Sebastian Hartte <sebastian@hartte.de>
* Refactors all plane parts to use a common helper for
calculating connections to adjacent planes.
Also fixes problems with updating these connections on neighbor updates.
* Fix conflicting GuiSync ID.
* Slightly refactor PlaneConnectionHelper, and fix an issue where the bounding box was calculated incorrectly by using the wrong up-direction.
* Apply the FE tunnel behaviour to the fluid tunnel
* Make a second pass to try and get all the requested fill amount sent out to outputs.
Co-authored-by: Sebastian Hartte <sebastian@hartte.de>
* Clean up the global state used to hack part interaction into respecting
the player's facade render mode. Make the name more indicative of
what is actually happening.
* Fun.
* 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>
* 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>
Replaced fuzzy ints with a well defined enum
Moved API related cell interfaces to a new subpackage
Introduced a new client helper method to register a cell texture for a storage channel
Added a method to obtain the storage channel for a drive or chest slot
Added a new cell state for cells with stored items but neither types nor completely full
Added annihilation plane blacklist tags.
Moved to using loot-table item generation for annihilation plane.
Play fluid pickup sound rather than block break sound for fluid annihilation planes.
Do not play a second block break sound (the server already does).