Skip to content

helpdocs/density.md and sky-islands example: corrections against 26.3 vanilla data #186

Open

Description

@ItsMeBrianD

Small corrections to engine/sema/helpdocs/density.md and the sky-islands example, found while checking the helper text against the 26.3 vanilla data and Mojang's snapshot notes.

helpdocs/density.md

  1. end_outer_islands says "The End's island terrain: the main island in the middle, and scattered islands beyond 1024 blocks." Since 26.3 Snapshot 6 the function was renamed from end_islands and "no longer computes the density of the main island". Vanilla now builds the main island separately in end/islands.json from distance_to_point (clamp(100 − d, −100, 80) − 8) / 128, sliced at y = 0) and maxes it with end_outer_islands. Suggested text: "The End's outer islands only. The main island is built separately from distance_to_point; see vanilla end/islands."
  2. half_negative says "Vanilla uses it to soften cave walls." Vanilla's only use is on the jagged noise inside overworld/sloped_cheese (and the amplified/large-biomes variants): jaggedness * half_negative(noise(jagged, 1500, 0)), which biases mountain peaks upward. Cave walls are not involved.
  3. mul says "Vanilla stops computing right where left is 0." The static-range short-circuit existed through 1.21; I could not confirm it survived the 26.3 single-precision rewrite (Snapshot 7). Suggest hedging or dropping the sentence.
  4. interpolated could mention the vanilla cells (4, 8 for overworld/nether/caves, 8, 4 for the End, 16, 1 for chunk_surface_level) and that thresholds (range_choice, thin abs tubes) belong outside it, since interpolation blurs a sign change across the cell.
  5. noise shift_x/shift_z: "Vanilla uses ShiftA/ShiftB" is right; worth adding that shift_b samples with x and z swapped so the two warps are decorrelated, and that the vanilla files are minecraft:shift_x / minecraft:shift_z, which a pack can reference directly to line up with vanilla coastlines.

examples/sky-islands/terrain.mms

  • islands is used as final_density with no Interpolated, so a 3D noise is sampled at every block. Wrapping it (Interpolated(islands, 4, 8) or a Squeeze around that, as vanilla does) is both faster and the pattern the example should teach.
  • No Beardifier(); fine for islands, but a one-line comment saying so would stop people copying the omission into overworld-style packs (26.3 no longer adds it implicitly).

Sources


Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions