Skip to content

Commit

Permalink
Merge pull request #79 from EssentialGG/feature/standalone
Browse files Browse the repository at this point in the history
Add Standalone version
  • Loading branch information
Johni0702 authored Aug 12, 2024
2 parents 2889efd + 165a619 commit 7abd7ed
Show file tree
Hide file tree
Showing 58 changed files with 2,743 additions and 188 deletions.
20 changes: 19 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

A full Java interop library that wraps Minecraft classes which allows you to write code for multiple versions at the same time. Built using ReplayMod's [Preprocessor](https://github.com/ReplayMod/preprocessor).


It also features a "standalone" edition, which can run GUIs without Minecraft so long as they only depend on
UniversalCraft and not Minecraft directly.
This can allow for a faster development loop (no need to wait a minute for Minecraft to start),
automated testing without having to bootstrap a full Minecraft environment,
and even development of completely standalone applications using the same toolkit (e.g. [Elementa]) as one is already
familiar with from Minecraft development.
See the `standalone/example/` folder for a fully functional example.

## Dependency

It's recommended that you include [Essential](link eventually) instead of adding it yourself.
Expand Down Expand Up @@ -58,6 +67,13 @@ done
<th>mcPlatform</th>
<th>buildNumber</th>
</tr>
<tr>
<td>standalone</td>
<td>N/A</td>
<td>
<img alt="standalone" src="https://img.shields.io/badge/dynamic/xml?color=A97BFF&label=%20&query=/metadata/versioning/versions/version[not(contains(text(),'%2B'))][last()]&url=https://repo.essential.gg/repository/maven-releases/gg/essential/universalcraft-standalone/maven-metadata.xml">
</td>
</tr>
<tr><td>1.21</td><td>fabric</td><td><img alt="1.21-fabric" src="https://img.shields.io/badge/dynamic/xml?color=A97BFF&label=%20&query=/metadata/versioning/versions/version[not(contains(text(),'%2B'))][last()]&url=https://repo.essential.gg/repository/maven-releases/gg/essential/universalcraft-1.21-fabric/maven-metadata.xml"></td></tr>
<tr><td>1.20.6</td><td>fabric</td><td><img alt="1.20.6-fabric" src="https://img.shields.io/badge/dynamic/xml?color=A97BFF&label=%20&query=/metadata/versioning/versions/version[not(contains(text(),'%2B'))][last()]&url=https://repo.essential.gg/repository/maven-releases/gg/essential/universalcraft-1.20.6-fabric/maven-metadata.xml"></td></tr>
<tr><td>1.20.4</td><td>forge</td><td><img alt="1.20.4-forge" src="https://img.shields.io/badge/dynamic/xml?color=A97BFF&label=%20&query=/metadata/versioning/versions/version[not(contains(text(),'%2B'))][last()]&url=https://repo.essential.gg/repository/maven-releases/gg/essential/universalcraft-1.20.4-forge/maven-metadata.xml"></td></tr>
Expand Down Expand Up @@ -154,4 +170,6 @@ tasks.shadowJar {
tasks.reobfJar { dependsOn(tasks.shadowJar) }
```

</details>
</details>

[Elementa]: https://github.com/EssentialGG/Elementa
5 changes: 5 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,8 @@ tasks.withType<KotlinCompile> {
apiVersion = "1.6"
}
}

preprocess {
vars.put("STANDALONE", 0)
vars.put("!STANDALONE", 1)
}
4 changes: 4 additions & 0 deletions root.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,7 @@ preprocess {
forge11602.link(forge11202, file("versions/1.16.2-1.12.2.txt"))
forge11202.link(forge10809)
}

apiValidation {
ignoredProjects += listOf("standalone", "example")
}
3 changes: 3 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ pluginManagement {
rootProject.name = "UniversalCraft"
rootProject.buildFileName = "root.gradle.kts"

include(":standalone")
include(":standalone:example")

listOf(
"1.8.9-forge",
"1.12.2-forge",
Expand Down
Loading

0 comments on commit 7abd7ed

Please sign in to comment.