Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Header

Static Badge Static Badge Static Badge

Static Badge Static Badge Static Badge

Terrain development in Minecraft relies on large, deeply nested JSON structures that quickly become difficult to read and maintain. Rhombus introduces powerful abstractions and a comprehensive Python API, making world generation code cleaner, more modular, and significantly faster to develop.

Rhombus is an eDSL delivered as a Python package that allows worldgen developers to comfortably write expressions resembling the abstract syntax trees of density functions for Minecraft while benefiting from Python's forgiving syntax.

Key Advantages

  • 📦 Object-oriented Design
    Full use of Python’s object model for composing, reusing, and structuring density functions.
  • 📝 Native Comments
    Since Python code is in use, comments work naturally without any custom syntax.
  • 📖 Integrated Documentation
    Functions and classes provide docstrings describing behavior, parameters, and usage.
  • Performance Optimization
    Recurring expressions and resource intense operations can be cached automatically.
  • 🗄️ Macro Library
    Growing collection of macros for common patterns and complex operations, reducing boilerplate and improving readability.
  • Multi-Version Compilation
    While Rhombus follows an up-to-date-first approach, density functions can be compiled to older versions too. The most optimal implementation for each version is chosen automatically.

Features

Unveil

This list only includes features that are principally not necessary, but make up the real strengths of Rhombus.

  • Rhombus Preview
    A lightweight local frontend with file-watching for previewing density functions
    • Visualizer (built on deepslate)
      • Supports all major worldgen mods (see Mod Support)
    • File Explorer & Viewer (built on monaco)
    • Spline Visualization
  • Macro Library
  • Mod Support
    • More Density Functions
    • Lithostitched
    • Tectonic
    • En-sityFunctions

Impressions

pip install rhombus
from rhombus import *

continent_noise = Noise(-10, [2, 1, 2, 2, 2, 1, 1, 1, 1])
erosion_noise = Noise(-9, [3.5, 0, 2, 4, 2, 2, 3])

erosion = clamp(noise(erosion_noise, xz_scale=1.3, y_scale=0) - 0.1, min=-1, max=1)

height_map = spline(
    erosion,
    [
        (-1, -1, 0),
        (-0.6, -0.95, 0),
        (-0.61, -0.6, 0),
        (-0.2, -0.55, 0),
        (-0.21, -0.2, 0),
        (0.05, -0.2, 0),
        (0.21, 0.2, 0),
        (0.6, 0.3, 0),
        (0.61, 0.8, 0),
        (1, 0.8, 0),
    ],
)

FINAL = maps.extrude_heightmap(height_map, (-1, 0.8), (64, 256))

Preview

Spread the Word

The easiest way to support the Rhombus project is to propagate its use in your projects. You can use our custom Devin's Badges:


<a href="https://github.com/annhilati/rhombus"><img src="https://raw.githubusercontent.com/annhilati/rhombus/main/docs/images/badge-cozy.svg"/></a>


<a href="https://github.com/annhilati/rhombus"><img src="https://raw.githubusercontent.com/annhilati/rhombus/main/docs/images/badge-cozy-minimal.svg"/></a>

Release files for rhombus 0.1.0rc3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rhombus 0.1.0rc3
File Size Uploaded
rhombus-0.1.0rc3.tar.gz 873.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rhombus 0.1.0rc3
File Interpreter ABI Platform
rhombus-0.1.0rc3-py3-none-any.whl Python 3 none any Details

Total release size: 1.3 MB

Release files / rhombus-0.1.0rc3.tar.gz

Download URL rhombus-0.1.0rc3.tar.gz
Size 873.4 kB
Tags Source
SHA-256 checksum
How to use checksums
fbbb50ba4936573d8c21f1e36dde2bdbb8db1fd6bb7a8890c2f86453d56197e5
BLAKE2b-256 checksum
How to use checksums
6cd43866a60a93c34cc82045d2ac32a81c26d1c5e5bcf7eba1e278a66d7b8258
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / rhombus-0.1.0rc3-py3-none-any.whl

Download URL rhombus-0.1.0rc3-py3-none-any.whl
Size 386.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1ba7c60b1575ef4bf3ddda3fabaf7b38e51e85b79593f402230866774e7bc4d
BLAKE2b-256 checksum
How to use checksums
af6cd88fc54c1be8114a8893794bdc244032d068f5a8fb2b814d45dd2cd13bb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page