-
-
Notifications
You must be signed in to change notification settings - Fork 714
Contributing to the codebase
Louis Erbkamm edited this page Jun 22, 2025
·
4 revisions
This document outlines guidelines for contributing to the Arnis project. Arnis is a tool designed to convert OpenStreetMap (OSM) data into Minecraft worlds. Adhering to these guidelines helps maintain project quality and facilitates efficient collaboration.
Element processing involves the translation of OpenStreetMap tags and elements into Minecraft blocks and features. This is a core component of Arnis functionality.
- Adding New Elements and Tags: Contributions that extend Arnis's ability to process new OpenStreetMap elements and tags are welcome.
- Tag Usage Requirement: Before implementing processing for a new OSM tag, verify its global usage. The tag must be used at least 1,000 times within OpenStreetMap to be considered for inclusion. This prevents the codebase from becoming burdened by niche tags with minimal global presence. Tag usage statistics can be verified on the OSM Wiki or via OSM Taginfo.
- Pull Request Submission: All changes should be submitted via a Pull Request (PR). The PR description should clearly document the additions, specifying which new elements have been implemented and which OpenStreetMap tags are now supported.
Not sure what to work on? Here's a list of open issues - pick any item from below or implement your own idea!
- Fix compilation for Mac
- Fix coastal cities generation duration time (
water_areas.rs) - Support OSM files as data input
- Rotate maps (#97)
- Add support for older Minecraft versions (<= 1.16.5) (#124, #137)
- Mapping real coordinates to Minecraft coordinates (#29)
- Add street names as signs
- Support
innerattribute in multipolygons and non-building multipolygons - Refactor bridges implementation
- Improve code documentation
- Refactor fountain structure implementation
- Minecraft Bedrock Edition Support - maybe world conversion? (#148)
- Evaluate and implement elevation (#66)
- Add interior to buildings
- Implement house roof types
- Refactor railway implementation
- Faster region saving
- Support multipolygons (#112, #114)
- Memory optimization
- Fix GitHub Action workflow for MacOS release
- Design and implement GUI
- Automatic new world creation
- Fix faulty empty chunks (fastnbt #120) (workaround found)
- Setup fork of bboxfinder.com