3.5 KiB
VS Vineyard — Development Plan
This is a suggested breakdown of the work ahead. Nothing here is set in stone — feel free to reorder, combine, skip, or tackle things differently. It's meant as a starting point for discussion and to help split work between contributors.
Phase 1: Grape Vines (Foundation)
Everything else depends on being able to grow and harvest grapes, so this is a natural place to start — but the art and JSON work can happen independently while the C# is being written.
1a. Grape Vine Block Logic — C#
- Create
BlockGrapeVine.csto handle growth stages, seasonal transitions, and right-click harvesting - Register it in
VSVineyardModSystem.cs
1b. Grape Vine Block Definition — JSON
blocktypes/grapevine.json— defines growth stages, drops, and how the vine attaches (trellis, wall, etc.)
1c. Grape Vine Textures & Shapes — Art
- Textures for each growth stage: bare, budding, leafy, fruiting, dormant
- 3D shape (or a simple flat cross-plant shape to start)
- Tools: pixel art editor (16×16), optionally Blockbench for shapes
Phase 2: Grapes as Items
2a. Grape Item Definition — JSON
itemtypes/grapes.json— nutritional values, variants by grape type
2b. Grape Item Texture — Art
- Inventory sprite for grapes
Phase 3: Juice Pressing
3a. Wine Press Block Logic — C#
BlockEntityWinePress.cs— a container block entity with input/output slots and a pressing interaction
3b. Wine Press Definition, Shape & Textures — JSON + Art
- Blocktype JSON, 3D shape model, textures
- Tools: Blockbench, pixel art editor
3c. Pressing Recipes — JSON
- Recipe entries: grapes → grape juice
Phase 4: Fermentation & Barrel Aging
This phase has the most complexity. The barrel block entity will need to handle time-based fermentation, liquid storage, and aging — worth discussing the approach before diving in.
4a. Wine Barrel Block Entity — C#
BlockEntityWineBarrel.cs— time-based fermentation, liquid handling, aging stages- Probably the most involved C# task in the mod
4b. Barrel Definition, Shape & Textures — JSON + Art
- Blocktype JSON, shape, textures (empty / filling / full variants)
4c. Barrel Recipes — JSON
recipes/barrel/entries: grape juice → wine over time
4d. Wine Item Variants — JSON + Art
- Item definitions for each wine variety, stat effects, textures
Phase 5: World Generation
5a. Wild Vine Worldgen Patches — JSON
worldgen/patches/— spawn wild vines on trees or cliff faces in appropriate biomes
5b. Wild Vine Behaviour — C# (optional)
- Only needed if wild vines require different behaviour from player-placed vines
Skill Summary
| Area | Skill | Can start immediately? |
|---|---|---|
| Block/item/recipe logic | C# | Phase 1a first, then in parallel |
| Block/item/recipe definitions | JSON | Yes — alongside C# once structure is clear |
| Textures | Pixel art (16×16) | Yes — fully independent |
| 3D block shapes | Blockbench + JSON | Yes — fully independent |
| World generation | JSON | After Phase 1 |
The art work (textures and shapes) can be picked up right now without needing to wait for any code. JSON definitions and C# can generally be split across two people once Phase 1a establishes the patterns to follow.
This plan was put together as a rough guide. Adapt it however works best for the group — the goal is to have fun building this.