Skip to content

CyclopsMC/CyclopsCore

Repository files navigation

CyclopsCore

Build Status Coverage Status Crowdin Download CurseForge Discord

Library mod for several other mods.

All stable releases (including deobfuscated builds) can be found on CurseForge.

Development builds are hosted as GitHub packages.

Using CyclopsCore

There are three ways to use this library inside your mod.

1. Using a stable release

We recommend using Cursemaven when pulling in releases from CurseForge.

You can add CyclopsCore to your development environment by adding the following code to your Gradle build file:

repositories {
    maven {
        url "https://cursemaven.com"
        content {
            includeGroup "curse.maven"
        }
    }
}

dependencies {
    implementation fg.deobf("curse.maven:cyclopscore-${cyclopscore_version}")
}

Obviously, you should fill in the required CyclopsCore version yourself. Learn more on https://www.cursemaven.com/ for determining versions.

2. Using a development version

This requires a GitHub personal access token.

You can add CyclopsCore to your development environment by adding the following code to your Gradle build file:

repositories {
    maven {
        name "Cyclops Repo"
        url "https://maven.pkg.github.com/CyclopsMC/packages"
        credentials {
            username = project.findProperty("gpr.user") ?: System.getenv("USERNAME")
            password = project.findProperty("gpr.key") ?: System.getenv("TOKEN")
        }
    }
}
...
dependencies {
    compile "org.cyclops.cyclopscore:cyclopscore:${project.minecraft_version}-${project.cyclopscore_version}:deobf"
}

Obviously, you should fill in the required Minecraft and CyclopsCore version yourself.

3. Using a locally built release

If you do local changes to your CyclopsCore instance and want to test this locally for your mod, you can place your modified build to your local Maven repository by executing the following command:

./gradlew publishToMavenLocal

Then you need to add the following to your Gradle build file to be able to use this custom build:

repositories {
    mavenLocal()
}
...
dependencies {
    compile "org.cyclops.cyclopscore:cyclopscore:${project.minecraft_version}-${secrets.cyclopscore_version}:deobf"
}

While again making sure that you fill in the required Minecraft and CyclopsCore version.

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

This mod uses Project Lombok -- an annotation processor that allows us you 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.

License

All code and images are licenced under the MIT License