Team-IO / taam

Tech and Accessory Mod
https://www.team-io.net/taam.php
MIT License
7 stars 3 forks source link

Tech and Accessory Mod : TAAM
Build Status (master branch) Build Status (1.8 branch) Build Status (1.9 branch) Build Status (1.10 branch) Build Status (1.12 branch) Join the chat at https://gitter.im/Team-IO/taam

For details on how to use this mod, check the Wiki.

Also find this mod on CurseForge and on our homepage.

Contributing

If you want to contribute, you can do so by reporting bugs, by helping fix the bugs or by spreading the word!

You are also welcome to support us on Patreon!

Building the mod

Taam uses a fairly simple implementation of ForgeGradle. To build a ready-to-use jar, you can use the gradle wrapper delivered with the rest of the source code.

For Windows systems, run this in the console:

gradlew.bat build

For *nix systems, run this in the terminal:

./gradlew build

Installed Gradle versions should also work fine, but we require at least Gradle 4.6 for the JUnit integration.

Some info on the internal structure

Branches

The master branch currently points to the latest released version for MC 1.12.2. Every supported minecraft version has their own branch.

Packages

Mod & Dependency versions are controlled in the build.gradle and according build.properties file. All mod metadata is done in code, with the version replaced by gradle on compile time.

Item/Block names are recorded in the class net.teamio.taam.Taam. Main mod class is net.teamio.taam.TaamMain. Anything else in that package is somewhat related to global registration with Minecraft or config stuff.

All Item & block classes (and related stuff) are located in the net.teamio.taam.content.* packages, clustered by area. Supporting classes for the themes (Utils, API, etc.) are located in the corresponding net.teamio.taam.* packages.

Integrations with other mods belong in a corresponding package in net.teamio.taam.integration. GUI, rendering and network sit in their respective package in net.teamio.taam.

Tests

This mod uses MinecraftJUnit to run automated tests. It is pulled in via a maven dependency. These tests are run automatically for every commit.