-
Notifications
You must be signed in to change notification settings - Fork 3
Technical Changelog
First version on 1.21.4! 1.21.2 support has been dropped.
New Features
- Added
block_state
block predicate type. It takes aproperties
field, which is a block state predicate. - Added
offset
placement modifier type as a more configurable version of vanilla'srandom_offset
. It takes anx_offset
,y_offset
andz_offset
integer provider field. These fields can be omitted for an offset of 0 on that axis. Offsets on the x/z axis are clamped from -16 to 16, y axis is unclamped.
Changes
- Renamed the
remove_structures_from_structure_set
worldgen modifier toremove_structure_set_entries
for consistency. - Changed the syntax of most worldgen modifiers slightly.
Fields for the target element to be modified (e.g. the template_pool
field in the add_template_pool_elements
modifier) are now plural and are sets, meaning they can also take lists of elements or a #-prefixed element tag.
Old syntax:
{
"type": "lithostitched:add_template_pool_elements",
"template_pool": "minecraft:trial_chambers/decor",
"elements": []
}
New syntax:
{
"type": "lithostitched:add_template_pool_elements",
"template_pools": [ // This can still be a single element, the list is an example
"minecraft:trial_chambers/decor"
"example:some_other_pool"
],
"elements": []
}
This applies to:
-
base_feature
instack_feature
-
structure_set
inadd_structure_set_entries
andremove_structure_set_entries
-
structure
inset_pool_aliases
andset_structure_spawn_condition
-
template_pool
inadd_template_pool_elements
andset_pool_element_processors
-
processor_list
inadd_processor_list_processors
The old format is currently still supported! Support for the old format will be removed upon the release of Lithostitched v1.4 in January 2025.
New Features
- Added
schedule_tick
processor, which will schedule block and fluid ticking.
Changes
- Made the
random_mode
field in thecondition
processor optional.
Fixes
- Fixed the
reference
processor not working. - Fixed a rare chunk saving error/crash that could occur with jigsaw structures which was amplified when using C2ME.
Changes
- Added the
min_depth
field to thelimited
pool element type. - Made the
match_type
field in thematching_blocks
processor condition default toinput
. - Structures using the
lithostitched:jigsaw
structure type use the chained template pool fallback system even ifbreaks_seed_parity
is disabled.
Fixes
- Fixed the
min_depth
field inguaranteed
pool elements not working. - Fixed the
block_entity_modifier
inset_block
processor not working correctly in some cases. - Fixed 1.20 modifier predicates not working.
Lots of new features and changes this release!
New Features
Because there is so many new features, the changelog won't include format details. Please see the respective wiki pages for details.
-
Configured Feature Types
- Added
composite
for stacking multiple placed features in the same place. - Added
select
for selecting a placed feature to place based on a block predicate. - Added
weighted_selector
as a more convenient version of vanilla'srandom_selector
. - Added
large_dripstone
as a more configurable version of vanilla'slarge_dripstone
. - Added
ore
as a more configurable version of vanilla'sore
. - Added
vines
as a more configurable version of vanilla'svines
.
- Added
-
Block Predicate Types
- Added
multiple_of
for checking if a certain number or range of numbers of block predicates pass. - Added
random_chance
to pass a certain percentage of the time
- Added
-
Block State Provider Types
- Added
random_block
for placing a random block from a block set (block, list of blocks,#
-prefixed tag of blocks) - Added
weighted
as a version of vanilla'sweighted_state_provider
with entries being state providers rather than block states.
- Added
-
Structure Condition Types
- Added
multiple_of
for checking if a certain number or range of numbers of structure conditions pass.
- Added
-
Structure Processor Types
- Added
condition
as a more powerful, configurable and readable version of several vanilla processors.- The
condition
processors checks processor conditions and if they pass, a processor will run. See the [processor condition] page for details.
- The
- Added
discard_input
, which discards the structure template's block and uses the one in the world already. Built for use with thecondition
processor. - Added
set_block
, which sets the block to a new block. Built for use with thecondition
processor.
- Added
-
Worldgen Modifier Types
- Replaced
redirect_feature
withstack_feature
, which lets you stack multiple features onto an existing configured feature. - Added
set_pool_element_processors
for setting structure processors onto template pool entries directly. - Added
set_structure_spawn_condition
for setting/adding a spawn condition onto an existing structure.
- Replaced
Changes
-
The vanilla jigsaw structure type now uses Lithostitched's jigsaw structure system.
- This means all vanilla jigsaw structures and the vast majority of modded ones will support guaranteed/limited pool elements and generate faster.
- The optimizations come at the loss of some seed parity, jigsaw structure layouts without Lithostitched will be different from with it. (The location of structures is unaffected.)
- Disable
breaks_seed_parity
in the config to maintain seed parity.
- Disable
-
Modified the
height_filter
structure condition.- Added a
range_type
field which can beabsolute
(old behavior) orheightmap_relative
. - Replaced
min_inclusive
andmax_inclusive
withpermitted_range
, which is an int range (64
,[64,96]
,{"min_inclusive":64,"max_inclusive":96}
).
- Added a
-
Removed the
matching_blocks
rule test. Use thecondition
processor as a replacement.
Fixes
- Fixed an issue with density function wrapping that would cause some world's worldgen to break down if closed and reopened multiple times.
- Fixed
lithostitched:jigsaw
structure generation being fully random rather than seed-based random. - Fixed the
reference
processor not being able to modify blocks multiple times. - Fixed
set_pool_aliases
modifiers not working consistently on Trial Chambers.
- Updated the generator site for all the new changes.
- Added a placed feature generator to the site.
- Added the ability to customize shipwreck wood types using a processor list tag.
- Updated the wiki with a new Guides section for guides on features like custom shipwreck palettes and custom trial chambers mobs.
- Fixed modifier predicates. If a modifier predicate doesn't pass, the entire modifier won't be registered.
- Massive internal refactoring to
Modifier
to align it with the 1.21 version.
- Fixed the
delegating
structure type not working.
- Updated the Lithostitched generator site to enforce inlining a delegate structure in the
delegating
structure type, as references weren't allowed.
- Added a
dimension
field to thewrap_noise_router
modifier type, being an id for a dimension. The dimension referenced doesn't have to exist.
- Added the
wrap_density_function
andwrap_noise_router
worldgen modifier types, allowing for density function injection.- Both have a
priority
field, being an int representing the priority the modifier takes in wrapping around density functions/noise router entries. These modifiers are applied in ascending priority order (low -> high values). Defaults to 1000. - Both have a
wrapper_function
field, being a density function to wrap around the target. -
wrap_density_function
has atarget_function
field, being a density function reference to wrap. -
wrap_noise_router
has atarget
field, being a noise router field to wrap.
- Both have a
- Added two density function types for use in the previously mentioned modifier types:
wrapped_marker
andoriginal_marker
. Both can only be used in density functions referenced by the density function injection modifiers and will crash the game if attempted to be computed regularly.-
wrapped_marker
is a marker for the current wrapped density function. For example, the following worldgen modifier will multiply temperature by 2:
-
{
"type": "lithostitched:wrap_noise_router",
"target": "temperature",
"wrapper_function": {
"type": "minecraft:mul",
"argument1": 2,
"argument2": {
"type": "lithostitched:wrapped_marker"
}
}
}
-
original_marker
is a marker to get the original density function without other mod/datapack's wrappings around it.
- Updated the Lithostitched generator site with new worldgen modifier and density function types, adding a density function generator as well.
- Brought the 1.20.1 version up to speed with the 1.21 version. They will be the two main supported versions for the foreseeable future.
- Added processor list injection with the
add_processor_list_processors
worldgen modifier type. - Added the ability to place structure nbt files as features with the
structure_template
feature type. - Added the
matching_blocks
rule test type, making functionality such as random tag matches possible. - Added an optional
heightmap
field to theheight_filter
structure condition. - Removed the
apply_with_chance
pool alias type.
- Fully restructured the wiki to be easier to navigate.
- Added a technical changelog (that's where you are right now!).
- Created a modified version of misode.github.io with full Lithostitched support. View it here!
All json here can be generated using the Lithostitched generator website!