Compatibility with any 1.15 datapack that uses world gen is questionable (ie. Mechanization and Cave Biomes). Any other datapack should still work correctly.
Updated to Minecraft 1.16
- Updated chunk scan
- Updated block, item, and entity tags
- Updated predicates
- Updated attribute names
Rework of world generation (again)
- Added support for custom dimensions
- World type is now determined at run time rather than hardcoding each dimension. This means sky island type overworlds will now use sky island type generation (previously end style generation).
- Dimension and Biomes now use string ids
- Structures now have 3 placement schemes: surface, underground, and sky. These generate separately so you can add underground structures without removing structures on the surface.
- Registry arguments have changed to support these new features- existing datapacks are likely incompatible
Fixed a dupe glitch with the custom crafting table
Various other tweaks and fixes
Added Built-in pre-generator with special compatibility with chunk scan. To use, run the command /function du:world/pregen.
Added Forest biomes type predicate
Updated ChunkScan, fixes entities being spammed in the End
Fixed click detection for modes 3b and 5b
Added xor-shift pRNG: useful for generating a random number based on x/z position.
Added function du:world/random_seeded, based on the new xor-shift. Uses and LCG to generate random numbers seeded from the current location
Ore generation is now seeded
The structure generator will restrict placement if it detects a vanilla structure
Fixed some issues with ore gen
Fixed some issues with structure gen
Fixed item stutter in certain cases
Fixed Coal Block not being accepted as fuel in custom smelting recipes
Finalized 2.1 API
Updated Chunk Scan
- Changed variable names in base, crafting, and get powered functions
- Cleaned up some code related to Lantern Load
Click Detect should no longer push you around in Spigot environments (and its derivatives)
Fixed another bug in click detection
Fixed bamboo & scaffolding not being recognized as fuel
WARNING: Do not update to DU 2.1.0 until the dependents(s) you're using say they have updated to this version! The API has undergone a minor rework to clean up old code and improve usability. As a result, all datapacks that use pre 2.1 are not compatible with this update.
- Updated to Minecraft 1.15
- Completely overhauled the terrain generator:
- Now using the library ChunkScan, created in collaboration with misode, which makes DU's generation (and it's derivatives) usable with other datapacks that also use ChunkScan (actual compatibility may vary).
- Added a new "Tiny" structure size that generates in every chunk
- Large structures now have guaranteed spacing instead of being a random upgrade from medium structs
- Medium & Large structs now prevent smaller structs from generating in an area around them, preventing overwriting
- Ore & struct generation now use storage for better performance
- Optimized many sections of the structure generator
Notes to developers (if there are any out there):
- Pretty much everything uses storage now, where applicable
- Added a bunch of useful predicates
- Cleaned up some old code, removed some unused systems
- Fixed get/restore equipment functions
- Fixed items with custom durability sometimes deleting your mainhand/other armor
- Fixed click detect entities sometimes being left in the world
- Altered the shulker box loot table to improve compatibility
- Fixed unpowered comparaters trigging the get redstone function
- The struct/ore register functions have changed
- Several function tags have been renamed or moved into new directories
- Most functions have had their scoreboard variables prefixed with $<sections>.: for example math/random.mcfunction now uses $math.in_0 du_data and $math.out_0 du_data. You can see all of the variables and what they do by looking at the function code (they are declared at the top).