Skip to content

feat: author authentic stone, cobblestone, and diamond ore vector masters #28

Description

@BharathASL

Description

Author high-fidelity vector (SVG) masters and un-rotated blockstates for the foundational subterranean blocks: Stone, Cobblestone, and Diamond Ore, matching the official cinematic Minecraft trailer aesthetic.


Scope of Work

1. Vector Masters (textures/)

  • textures/stone.svg:
    • Clean slate base palette with stylized horizontal striation bars.
    • Primary shapes aligned to the 32px texel grid (16x16 vanilla resolution).
    • Seamless toroidal wrapping for striation bars touching canvas borders ($X=0 \leftrightarrow X=512$).
  • textures/cobblestone.svg:
    • Stepped, rounded cobblestone boulders over dark mortar.
    • Seamless Toroidal Tiling: Verified $X$ and $Y$ wrapping so boulders stack and tile without cutoffs, hard seams, or asymmetrical blobs.
    • 2-to-3 tone depth (subtle sunlit highlights and crevice shadows) to match Keyframe trailer art direction.
  • textures/diamond_ore.svg:
    • Base Sync: Background striation pattern and corner radius (rx) must be identical to textures/stone.svg so ore blocks blend seamlessly with surrounding stone in caves.
      • Nothing enforces this, and it will drift the first time stone.svg is edited — whoever touches stone gets no signal that a second file depends on it. Add a comment at the top of both SVGs naming the other, and note in the PR whether a build-time assertion in tools/build.mjs is worth adding.
    • Vibrant 2-tone diamond crystal gem overlays (light cyan highlight + deep teal shadow).

2. Blockstate Definitions (pack_template/assets/minecraft/blockstates/)

  • pack_template/assets/minecraft/blockstates/stone.json
  • pack_template/assets/minecraft/blockstates/cobblestone.json
  • pack_template/assets/minecraft/blockstates/diamond_ore.json

Check vanilla before authoring all three. Every blockstate in this pack exists to suppress vanilla's rotation or mirroring, which would break seamless toroidal tiling — the established shape is a single-entry array, as in dirt.json:

{ "variants": { "": [ { "model": "minecraft:block/dirt" } ] } }

stone is varied in vanilla and needs the override. cobblestone and diamond_ore are believed to be single-variant already — verify against the vanilla assets, and drop whichever files would be no-ops rather than shipping overrides that change nothing.

3. Models — none required

Stone, cobblestone and diamond ore all use the vanilla cube model, so no files under pack_template/assets/minecraft/models/block/ are needed. Models are authored here only where a non-default parent applies, as the grass family does with minecraft:block/cross. Stated so the omission reads as deliberate.


Technical & Contribution Requirements

Please review the Contributing Guidelines before opening the PR:

  • CHANGELOG.md [Unreleased] updated with the blocks added. release.yml fails a stable release when the version has no changelog section, and that failure surfaces at tag time rather than in the PR that caused it.
  • Viewport is 512x512 (viewBox="0 0 512 512").
  • Toroidal seamless tiling verified on both X and Y axes.
  • Primary shapes aligned to the 32px texel grid.
  • diamond_ore.svg background matches stone.svg exactly.
  • JSON files formatted cleanly with 2 spaces and trailing newlines per .editorconfig.
  • Pack compiles cleanly via npm run build.
  • Commit message follows Conventional Commits (e.g. feat(textures): author stone, cobblestone, and diamond_ore vector masters).
  • Every commit is signed off with DCO (git commit -s).
  • Feature branch rebased onto main (no merge commits).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

epic:stone-oresEpic 3: Lithosphere, Cave Strata & Mineral Ore Veinstype: taskAtomic (<1 hr) development task

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions