Skip to content

MinecraftschurliMods/Ars-Magica-Legacy

Repository files navigation

Ars Magica: Legacy

Build Status GitHub Releases GitHub Issues Maven
CurseForge Downloads Modrinth Downloads Discord

Download

You can download the latest version of the mod from CurseForge or Modrinth.

Minecraft Version Latest Mod Version Minimum Modloader Version* Supported Download
1.18.1 0.1.5 Forge 39.0.66 CurseForge
1.18.2 1.3.0 Forge 40.1.35 CurseForge / Modrinth
1.19.2 1.3.1 Forge 43.1.13 CurseForge / Modrinth
1.20.1 1.5.0 Forge 47.0.34 CurseForge / Modrinth
1.20.4 1.5.0 NeoForge 20.4.232 CurseForge / Modrinth

Dependencies

Developing addons

You can develop addons for this mod using the Ars Magica API. To use the API you need to first add the maven repository to your build.gradle:

repositories {
    maven {
        name = "MinecraftschurliMods"
        url = "https://minecraftschurli.ddns.net/repository/maven-public/"
    }
}

Then you can add the API as a dependency (don't forget to also include the required dependencies at runtime):

dependencies {
    compileOnly fg.deobf('com.github.minecraftschurli:arsmagicalegacy:<arsmagicalegacy-version>:api')
    runtimeOnly fg.deobf('com.github.minecraftschurli:arsmagicalegacy:<arsmagicalegacy-version>')
    runtimeOnly fg.deobf('vazkii.patchouli:Patchouli:<patchouli-version>')
    runtimeOnly fg.deobf('software.bernie.geckolib:geckolib-forge-<mc-version>:<geckolib-version>')
}

Development

Setup

  1. Clone the repository.
  2. Run ./gradlew genIntellijRuns / ./gradlew genEclipseRuns / ./gradlew genVSCodeRuns depending on your IDE to set up the workspace.
  3. Open the project in your IDE.

Launching the game

Client

To launch the client either:

  1. Run the runClient run configuration generated in setup.
  2. Run ./gradlew runClient in the project directory.

Server

To launch the dedicated server either:

  1. Run the runServer run configuration generated in setup.
  2. Run ./gradlew runServer in the project directory.

Running the data generators

To run the data generators either:

  1. Run the runData run configuration generated in setup.
  2. Run ./gradlew runData in the project directory.

Testing

Adding test cases

  1. Create a new class in src/test/java in the package com.github.minecraftschurli.arsmagicalegacy.test.
  2. Add the @PrefixGameTestTemplate(false) and @GameTestHolder(ArsMagicaAPI.MOD_ID) annotations to the class.
  3. Add the @GameTest annotation to the test method and specify the template name (e.g. @GameTest(template = "example")). Use the empty template for tests that don't require a specific template.
  4. Write the test case. Use the GameTestHelper parameter of your test method to fail or succeed. Your testcase is required to call succeed at least once or it will fail with a timeout.

Running tests

To run the tests either:

  1. Run the runGameTestServer run configuration generated in setup.
  2. Run ./gradlew runGameTestServer in the project directory.
  3. Launch the client and use the /test command.

Building

Run ./gradlew build to build the mod. The resulting jars will be located in build/libs.

Legal disclaimer

Ars Magica is a trademark of Atlas Games®, used with permission.

Some textures used in this mod are property of D3miurge, used with permission.