Files
snowy/TODO
2026-08-12 07:09:10 -05:00

78 lines
3.6 KiB
Plaintext

Key:
[X] : Done
[~] : Partially Implemetned
[!] : Blocked
[ ] : Need to do
General:
[~] Neoforge Support
[!] Fabric Support
[!] Basic support for 1.7.10, 1.12.1, 1.21.1, 26.1
Core (Neoforge):
[X] Basic skeleton project generation
[X] Defining basic blocks
Nix Related:
[X] Mod meta generation
[~] Block defintion generation
[~] Block state generation -- single-variant blockstates.json is generated (declarative cube textures, or a customModel escape hatch for hand-authored shapes); block STATE PROPERTIES (facing, powered, waterlogged, ...) aren't representable in blocks.nix yet, so multi-variant blockstates aren't possible
[ ] Equivalent functionality to regular neoforge development:
Registration / content:
[X] Blocks
[X] BlockBehaviour.Properties (hardness/resistance/collision/sounds/etc.)
[X] Block entities + client/server ticking
[X] Custom Block/BlockEntity subclasses (customClass escape hatch)
[ ] Custom collision shapes / VoxelShape overrides
[ ] Waterlogging and other vanilla block-state property helpers
[~] Items
[X] BlockItems (auto-registered alongside a block, or opt out via item.enabled)
[ ] Standalone (non-block) items -- tools, food, armor, etc.
[ ] Item-specific properties (food, durability, stack size, rarity, tool tiers)
[ ] Creative tabs / item groups -- blocks/items aren't added to any tab yet
[ ] Entities
[ ] EntityType registration
[ ] Entity renderers/models (client)
[ ] Entity attributes
[ ] Commands
[ ] Basic fields for quickly registering commands.
[ ] Sounds (SoundEvent registration + sounds.json)
[ ] Particles
[ ] Fluids
[ ] Enchantments
[ ] Mob effects / potions
[ ] Attributes
Data-driven content:
[ ] Loot tables -- properties.noLootTable/lootFrom exist as per-block hooks, but nothing generates an actual loot table yet
[ ] Recipes + recipe types
[ ] Tags (block/item/entity/fluid, e.g. mineable/pickaxe, needed for tool interactions)
[ ] Advancements
[ ] Data generation (GatherDataEvent providers to emit the above at build time)
[ ] Localization / lang files -- displayName isn't wired to an en_us.json yet, so names show as untranslated keys in-game
Client:
[X] Block models -- declarative cube (textures.all/top/bottom/side/<face>) or hand-authored via customModel
[X] Item models -- 2D icon (item.texture) or 3D block render (default), or hand-authored via item.customModel
[ ] Blockstate variants for block state properties (depends on block state generation above)
[ ] Block entity renderers (BER)
[ ] Custom item/entity renderers
[ ] Screens / menus (GUIs for block entities, e.g. a container menu)
Networking & logic:
[ ] Custom packets / PayloadRegistrar
[ ] Capabilities (block/item/entity)
[ ] Config (ModConfigSpec)
[ ] Commands
World:
[ ] World generation (biomes/features/structures)
[ ] Structure/village integration
Tooling:
[ ] Mod-author-facing GameTest scaffolding (snowy's own build already runs headless runGameTestServer checks internally, but mods built with snowy have no way to declare their own game tests)
[ ] Mod publishing (CurseForge/Modrinth Gradle plugins, GitHub Actions CI templates)
[ ] Multi-MC-version support beyond the current 1.21.1 pin (versionTable in lib/mkMod.nix)