Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cyclopsmc/integrateddynamics

A Minecraft mod to take full and automated control of your appliances.
https://github.com/cyclopsmc/integrateddynamics

forge hacktoberfest java minecraft

Last synced: 6 days ago
JSON representation

A Minecraft mod to take full and automated control of your appliances.

Awesome Lists containing this project

README

        

## Integrated Dynamics

[![Build Status](https://github.com/CyclopsMC/IntegratedDynamics/workflows/CI/badge.svg)](https://github.com/CyclopsMC/IntegratedDynamics/actions?query=workflow%3ACI)
[![Coverage Status](https://coveralls.io/repos/github/CyclopsMC/IntegratedDynamics/badge.svg)](https://coveralls.io/github/CyclopsMC/IntegratedDynamics)
[![Crowdin](https://badges.crowdin.net/cyclopsmc-integrateddynamic/localized.svg)](https://crowdin.com/project/cyclopsmc-integrateddynamic)
[![Download](https://img.shields.io/static/v1?label=Maven&message=GitHub%20Packages&color=blue)](https://github.com/CyclopsMC/packages/packages/769739)
[![CurseForge](http://cf.way2muchnoise.eu/full_236307_downloads.svg)](https://minecraft.curseforge.com/projects/integrated-dynamics)
[![Discord](https://img.shields.io/discord/386052815128100865.svg?colorB=7289DA&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAABWAgMAAABnZYq0AAAACVBMVEUAAB38%2FPz%2F%2F%2F%2Bm8P%2F9AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfhBxwQJhxy2iqrAAABoElEQVRIx7WWzdGEIAyGgcMeKMESrMJ6rILZCiiBg4eYKr%2Fd1ZAfgXFm98sJfAyGNwno3G9sLucgYGpQ4OGVRxQTREMDZjF7ILSWjoiHo1n%2BE03Aw8p7CNY5IhkYd%2F%2F6MtO3f8BNhR1QWnarCH4tr6myl0cWgUVNcfMcXACP1hKrGMt8wcAyxide7Ymcgqale7hN6846uJCkQxw6GG7h2MH4Czz3cLqD1zHu0VOXMfZjHLoYvsdd0Q7ZvsOkafJ1P4QXxrWFd14wMc60h8JKCbyQvImzlFjyGoZTKzohwWR2UzSONHhYXBQOaKKsySsahwGGDnb%2FiYPJw22sCqzirSULYy1qtHhXGbtgrM0oagBV4XiTJok3GoLoDNH8ooTmBm7ZMsbpFzi2bgPGoXWXME6XT%2BRJ4GLddxJ4PpQy7tmfoU2HPN6cKg%2BledKHBKlF8oNSt5w5g5o8eXhu1IOlpl5kGerDxIVT%2BztzKepulD8utXqpChamkzzuo7xYGk%2FkpSYuviLXun5bzdRf0Krejzqyz7Z3p0I1v2d6HmA07dofmS48njAiuMgAAAAASUVORK5CYII%3D)](https://discord.gg/9yDxubB)

All stable releases (including deobfuscated builds) can be found on [CurseForge](http://minecraft.curseforge.com/projects/integrated-dynamics/files).

[Development builds](https://github.com/CyclopsMC/packages/packages/) are hosted as GitHub packages.

### Contributing
* Before submitting a pull request containing a new feature, please discuss this first with one of the lead developers.
* When fixing an accepted bug, make sure to declare this in the issue so that no duplicate fixes exist.
* All code must comply to our coding conventions, be clean and must be well documented.

### Issues
* All bug reports and other issues are appreciated. If the issue is a crash, please include the FULL Forge log.
* Before submission, first check for duplicates, including already closed issues since those can then be re-opened.

### Branching Strategy

For every major Minecraft version, two branches exist:

* `master-{mc_version}`: Latest (potentially unstable) development.
* `release-{mc_version}`: Latest stable release for that Minecraft version. This is also tagged with all mod releases.

### Building and setting up a development environment

To get started, you will need a [Maven token](https://github.com/settings/tokens/new?scopes=read:packages&description=GPR%20for%20Gradle) so that gradle can fetch dependencies.
Once you have this, use it by editing `~/.gradle/gradle.properties` and adding the following lines;
```
gpr.user=
gpr.key=
```
Alternatively, you can use the environment variables `MAVEN_USERNAME` (your github username), and `MAVEN_KEY` (your token).

Run `./gradlew test` to run the test suite, and `./gradlew build` to build the mod. The resulting jar file will be in `build/libs`.

If you're using IntelliJ, you can also run `./gradlew genIntellijRuns` to set up some useful run configurations, such as the ability to build this mod and run minecraft in one step.

This mod uses [Project Lombok](http://projectlombok.org/) -- an annotation processor that allows us to generate constructors, getters and setters using annotations -- to speed up recurring tasks and keep part of our codebase clean at the same time. Because of this it is advised that you install a plugin for your IDE that supports Project Lombok. Should you encounter any weird errors concerning missing getter or setter methods, it's probably because your code has not been processed by Project Lombok's processor. A list of Project Lombok plugins can be found [here](http://projectlombok.org/download.html).

### License
All code and images are licensed under the [MIT License](https://github.com/CyclopsMC/IntegratedDynamics/blob/master-1.8/LICENSE.txt)
This mod packages [re2j](https://github.com/google/re2j/) in order to provide linear time regex matching.