Repository navigation
v0.9.100
Release v0.9.100
Anvil
- Fixed
blocks.jsonnesting its blocks under a"blocks"key, which the game ignores: they now sit next toformat_version, like vanilla. This affected every block with custom sounds. - Added
block.client.sound_group(BlockSoundGroup.Wood), which gives a block the sounds of a vanilla sound group throughblocks.json, with no sound files (block_soundis still how you make your own).BlockSoundGrouplists the vanilla groups, andBlocksJSONObject.add_blocktakes the group. process_subcommandtakesexit_on_error, which exits with the subprocess's return code when it fails. The script build andanvil builduse it, so a failed build fails the CI job instead of carrying on.- A Blockbench model already loaded as another source can also be loaded as
items, this is particularly useful for Item Embeds and because there are no item model exports. - The generated GitHub release workflow runs on Ubuntu and can also be started by hand, never runs two releases of a ref at once, installs
mcanvilat least as new as the Anvil that generated it, plus the project'srequirements.txt, and builds with local export on. It releases only when no release exists for the version (any other API error fails the job instead of guessing), checks that the build made the.mcaddonor.mcworldthe target needs, and tags the pushed commit.
Kit
- Added
WoodSet.map_color(color)(andmap_color=oncreate_wood_set) to the wood set kit: the color every block of the set has on a map, "#e6d063" by default. Each block'screatetakes it as a keyword-onlymap_color. - Added
WoodSet.sound_group(group, parts)andWoodSet.options(parts, **options)to the wood set kit: the first sets the vanilla sound group of some parts, the second passes keyword arguments to theircreate, like the ids of the sounds the scripts play (open_sound,close_soundfor doors, trapdoors and fence gates,on_sound,off_soundfor buttons and pressure plates). A block's own sounds from files are made withblock.client.block_sound(...)on the built part. - Wood set blocks have vanilla sounds: the
woodgroup,hanging_signfor the hanging sign andgrassfor leaves and saplings, as oak has. - Wood set doors, trapdoors, fence gates, buttons and pressure plates play their vanilla open, close and click sounds: the game only plays those for vanilla blocks, so the scripts play them (also when redstone opens or closes them).
BlockWoodSetInteractable,BlockWoodSetRedstoneConsumerandBlockWoodSetTogglabletake their ids asopen_sound,close_sound,on_soundandoff_sound. - Wood set blocks now use
BlockLiquidDetectionlike vanilla Bedrock: slabs, stairs, fences, fence gates, doors, trapdoors, signs, hanging signs and leaves can be waterlogged, and saplings pop off and drop their loot when water flows into them. Leaves that decay while waterlogged leave their water behind. - Wood set doors, trapdoors and fence gates keep their open state when the world reloads. A
poweredstate remembers the last redstone power, so they only open or close when it changes (before, any redstone update without power closed them). Doors count as powered while either half is. Blocks usingBlockWoodSetRedstoneConsumerneed apoweredstate.
Repository
- Anvil's own GitHub workflows are split into
main,test,version,release,publish_pypianddocs(renamed frombuild_docs), replacingpublish_to_pypiandpublish_to_test_pypi.