Files
vs-vineyard/plan.md
Tim Riddell b0e773aae2 Add suggested development plan for group discussion
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 20:44:24 +13:00

3.5 KiB
Raw Blame History

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.cs to 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.