Repository navigation
Contribution Guidelines
Code contributions for 4.x (Minecraft 1.20.1+) follow the CONTRIBUTING.md in the repository: development setup, building all versions and loaders with Stonecutter, code layout, code style and the pull request checklist. By contributing you agree to the license terms and the CLA: code is MIT, art (textures, models, sounds) is CC BY-NC-SA 4.0.
For artistic contribution, please adhere to the following definitions:
- The style for textures should range from primitive (as in the tier 1 base, for example) to military with dark colors, preferably gray. That of course doesn't prohibit lighter details, like "glowing" parts.
- Textures, block models, blockstates, lang files and sounds live in
src/main/resources/assets/openmodularturretsand are written by hand.
- Turret models are entity-style models (
LayerDefinitions in Java), see TurretModelDefinitions.java. Blockbench can export this format ("Modded Entity", Mojang mappings). - Models are Y-down, with the base plate at the bottom; the renderer turns them to the face of the base they are mounted on.
- Turrets are 1 block big (except the rail gun, whose model is a bit bigger) and consist of a few parts, grouped by how they are animated.
Model structure (animated parts only on some turrets), assuming the turret is on top of a turret base:
-
base: non-animated socket (kind of like a base plate attached to the turret base) on top of the turret base -
base/holder: clamp/holder for the turret's core, rotates around the axis perpendicular to the base plate (yaw) -
base/holder/weapon: the core of the turret, rotates with the holder plus an additional rotation up/down (pitch), sandwiched in the holder
All user-facing text goes through translation keys in assets/openmodularturrets/lang/. English (en_us.json) is the reference; new or completed translations are very welcome.
If you have more questions, feel free to contact us here, or better via CurseForge or Discord.