- Re-added Mythic Mob support via everyone's favourite friend: Reflection
- Added room for Citizens to be supported using the same system
- MythicMobs can be spawned by adding `"specialType": "MythicMobs:<mobName>"` to your entity file. In future, Citizens could also be used here
- Redid object paste command
- Added rotate flag to paste with rotation
- Added scale flag to paste with scale. Optional interpolation method can be used
- Changes are now logged and can be reverted with the undo command
- Fixed edit flag
- Made the edit flag now update your wand even if it isn't in your hand
- Added object undo command
- Added object check command
- Added a surface target to spawn on for entities. This will fix mobs spawning in water
- LAND for mobs that spawn on any land surface
- ANIMAL for mobs that should only spawn on grass and dirt
- WATER for mobs that should spawn in water
- OVERWORLD for mobs that can spawn on both land and water (turtles, for example)
- LAVA for mobs that can spawn on lava (striders, for example)
- Attempted to fix PAPI complaining about registering on the wrong thread
- Fixed console spam for entities (was due to the mount event being called async)
- Fixed grass paths and a few other update breaking blocks
- Made it so if a block state changes on an update, it will now use as many as the other states as it can rather than not use anything
- Patch to stop people naming the world 'Iris'
- Fixed Jigsaw pieces with rotation disabled rotating randomly. They will now inherit the parent's rotation
- Fixed pallete of blocks in stacked blocks not being chosen randomly on the Y axis
Fixes for issues in the last commit:
- Fixed CEILING decorators not working with scaleStack
- Added scaleStack to decorators. It allows the size of the stack to scale to the size of the cave, using stackMin and stackMax as a min/max percentage
- Fixed stacks missing a block in size when the top block isn't defined
- Changed decorator stacks of a single block to place the top block instead of the body
- Fixed tab sound playing to other players
- Surface decorators are no longer placed below liquids in caves
- SEA_FLOOR and SEA_SURFACE decorators now function within caves relative to the cave liquid
- Fixed stacked decorators going above the height of caves and the map
- Made the download command easier to use with less errors than before
- Usage is now `/iris download <repo> [branch=master]`
- Fixed multiplicitive being useless in noise generators
- Tweaked cards in map neater around the text
- Fixed map coordinate inaccuracy when zoomed
- Fixed too many commas when teleporting via the map
- Fixed no message being sent to the player at all when a studio world is opened
- Increased map zoom default to 400%
- Fixed create command NPE when downloaded a fresh pack
- Allows you to see a map of a world/pack (without being in the world)
- Chooses a random color for each biome if no color is chosen, based on vanilla derivative
Dev note:
- The biome at your cursor is not accurate when zoomed out
- Features biomes using random color (based on vanilla derivative) if a color isn't provided in the biome class
- Allows a map to be opened for packs that don't have a world open (`/iris std map overworld`)
- Added SEA_FLOOR type to decorators which will only place bellow sea level/in water
- Implemented CEILING type to decorators, which will allow stacked blocks to place from the top down
- Fixed height variance not being implemented properly. The height of stacked blocks is now correct
Dev notes: This WILL require updates to the overworld pack as fixing some of the bugs here made some workarounds in the overworld pack kinda break
- Fixed decorators using the same RNG when picking from a pool of blocks as it used to place it. This caused it to only use pool entries above the placement chance threshold. (E.g. a flower pool with a 0.15 chance to place will only use the first 0.15 of the pool of flowers since the RNG is the same)
- Removed `zoom`, `verticalZoom` and `varianceZoom` properties from decorators. Zooms can be done inside the individual styles instead.
- WIP Tab Completion (Create command only rn)
Dev notes:
It's very important from now on that in decorators, the X and Z remain switched when getting noise so that the result of the noise is not exactly the same as the noise that choose if the decor should be placed or not
- Fixed Strongholds not generating in 1.17
- Made 9 strongholds now generate by default
Dev note: Tile entities are not placing correctly in jigsaws when generating (manual placement is fine)
- Fixed loot chests containing the exact same loot
- Fixed chests having nothing if a roll fails
- Fixed rolls always being done in the same order
- Added method to BlockPosition to get a unique long from 3 integers (x, y z)
- Added the ability for placed objects and jigsaws to have select loot tables
- Includes the ability to filter loot tables based on block type/block state
- Overrides loot tables from the biome/region, but if no loot tables are provided for an object, they will still be used
- Uses weight based system for determining which table to pick (so it's guaranteed rather than by chance)
- Added WeightedRandom util class
- Fixed loot tables not being random based on the seed
- Fixed jigsaws breaking bedrock
- Fixed enchantments in loot tables not working for enchanted books
- Fixed mobs spawned in Jigsaws not being spawned in the center like they should be
- Fixed double sided connectors not working properly
- Fixed skulls not being able to be rotated when they are placed on an angle that isn't perfectly straight (north, south, east, west)
- Fixed NPE occuring when Jigsaw fails to find Object in pool. Now just produces a warning in the console like it should
- Fixed pointless copies of lists being created within PlannedStructure
- Fixed mobs spawning within other blocks and suffocating on spawn
- Fixed creating a jigsaw with a non existent object causing jigsaw commands to lock up (#377)
- Fixed editing a non existent jigsaw just not doing anything
- Added support for banner NBT to be saved to objects
- Fixed spawners not saving their spawn type to objects
- Removed pointless IDs from the TileEntity registry system