Skip to content

Commit

Permalink
feat: ported to 1.20.4
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelHillcox committed Jun 10, 2024
1 parent 2e5463e commit 8826700
Show file tree
Hide file tree
Showing 16 changed files with 241 additions and 151 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ jobs:
uses: gradle/gradle-build-action@v2
env:
SNAPSHOT: true
SAPS_TOKEN: ${{ secrets.SAPS_TOKEN }}
NANITE_TOKEN: ${{ secrets.NANITE_DEPLOY }}
with:
arguments: publish
25 changes: 8 additions & 17 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,18 @@ jobs:
if: |
!contains(github.event.head_commit.message, '[ciskip]')
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v2
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: build
- name: Publish to Maven & Curseforge
- name: Build & Publish
uses: gradle/gradle-build-action@v2
env:
SAPS_TOKEN: ${{ secrets.SAPS_TOKEN }}
CURSEFORGE_KEY: ${{ secrets.CURSEFORGE_KEY }}
with:
arguments: publish curseforge
- name: Release to Github
uses: "softprops/action-gh-release@v1"
NANITE_TOKEN: ${{ secrets.NANITE_DEPLOY }}
CURSEFORGE_TOKEN: ${{ secrets.CURSE_DEPLOY }}
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
body_path: "./CHANGELOG.md"
prerelease: false
files: |
./build/libs/*+@(mc+([0-9]).+([0-9]).+([0-9])).jar
arguments: build publish publishMods
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ bin/
# fabric

run/
runs
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Kube Utils Changelog

## [1.0.3]
## [20.4.0]

### Changed

- Updated support to KubeJS 6.1! This will cause issues when attempted to use with 6.0. You have been warned!
- Updated to 1.20.4
249 changes: 166 additions & 83 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,130 +1,213 @@
plugins {
id "dev.architectury.loom" version "0.12.0-SNAPSHOT"
id "maven-publish"
id "com.matthewprenger.cursegradle" version "1.4.0"
id 'java-library'
id 'eclipse'
id 'idea'
id 'maven-publish'
id 'net.neoforged.gradle.userdev' version '7.0.142'
id "me.modmuss50.mod-publish-plugin" version "0.5.1"
}

sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17
def mcBase = getMinecraftBaseVersion()
def snapshotEnv = providers.environmentVariable("SNAPSHOT")
def isSnapshot = snapshotEnv.isPresent() && snapshotEnv.get().toBoolean()

def ENV = System.getenv()

archivesBaseName = project.archives_base_name
version = "${project.mod_version}+mc${project.minecraft_version}"
version = "${mcBase}.${project.mod_version}${isSnapshot ? "-SNAPSHOT" : ""}"
group = project.maven_group

def SNAPSHOT = ENV.SNAPSHOT != null && (ENV.SNAPSHOT == "true" || ENV.SNAPSHOT == true)
def MAVEN_URL = "https://maven.saps.dev/${SNAPSHOT ? "snapshots" : "releases"}"
def MAVEN_VERSION = project.version + (SNAPSHOT ? "-SNAPSHOT" : "")
base {
archivesName =project.archives_base_name
}

java.toolchain.languageVersion = JavaLanguageVersion.of(17)

loom {
silentMojangMappingsLicense()
//def MAVEN_URL = "https://maven.saps.dev/${SNAPSHOT ? "snapshots" : "releases"}"
//def MAVEN_VERSION = project.version + (SNAPSHOT ? "-SNAPSHOT" : "")

forge {
mixinConfigs = [
"kubeutils.mixins.json"
]
runs {
configureEach {
systemProperty 'forge.logging.markers', 'REGISTRIES'
systemProperty 'forge.logging.console.level', 'debug'

dataGen {
mod project.mod_id
}
modSource project.sourceSets.main
}

launches {
data {
arg "--existing", file("src/main/resources").absolutePath
}
client {
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
}
}

repositories {
maven {
url "https://maven.saps.dev/minecraft"
server {
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
programArgument '--nogui'
}

data {
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
}
}

dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings loom.officialMojangMappings()
sourceSets.main.resources { srcDir 'src/generated/resources' }

forge "net.minecraftforge:forge:${project.forge_version}"
configurations {
runtimeClasspath.extendsFrom localRuntime
}

modApi "dev.latvian.mods:kubejs-forge:1902.6.1-build.327"
modApi "dev.latvian.mods:rhino-forge:1902.2.2-build.268"
//loom {
// silentMojangMappingsLicense()
//
// forge {
// mixinConfigs = [
// "kubeutils.mixins.json"
// ]
//
// dataGen {
// mod project.mod_id
// }
// }
//
// launches {
// data {
// arg "--existing", file("src/main/resources").absolutePath
// }
// }
//}

dependencies {
implementation "net.neoforged:neoforge:${mcBase}.${neoforge_version}"

implementation "dev.latvian.mods:kubejs-neoforge:${kubejs_version}"
}

processResources {
inputs.property "version", project.version
repositories {
mavenLocal()

filesMatching("META-INF/mods.toml") {
expand "version": project.version
maven {
name = "Kubejs"
url "https://maven.saps.dev/minecraft"
content {
includeGroup "dev.latvian.mods"
}
}
}

tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.release = 17
maven {
url "https://maven.architectury.dev"
content {
includeGroup "dev.architectury"
}
}
}

java {
withSourcesJar()
}
tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
minecraft_version : minecraft_version,
neoforge_base_two : mcBase,
neoforge_loader_version: neoforge_loader_version,
version : version,
kubejs_version : kubejs_version
]

inputs.properties replaceProperties

jar {
manifest {
attributes([
"Specification-Title" : project.mod_id,
"Specification-Vendor" : project.mod_author,
"Specification-Version" : "1",
"Implementation-Title" : project.name,
"Implementation-Version" : version,
"Implementation-Vendor" : project.mod_author,
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
filesMatching(['META-INF/mods.toml']) {
expand replaceProperties
}
}

remapJar {
setArchivesBaseName("${project.archivesBaseName}-forge") // adds fabric to the maven and curse name
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
}

if (ENV.CURSEFORGE_KEY) {
curseforge {
apiKey = ENV.CURSEFORGE_KEY
project {
id = project.curseforge_id
releaseType = "release"
addGameVersion "Forge"
addGameVersion "Java 17"
addGameVersion project.minecraft_version
mainArtifact(remapJar.archiveFile)
relations {
requiredDependency 'kubejs'
}
changelog = file("./CHANGELOG.md")
changelogType = 'markdown'
}
idea {
module {
downloadSources = true
downloadJavadoc = true
}
}
//
//if (ENV.CURSEFORGE_KEY) {
// curseforge {
// apiKey = ENV.CURSEFORGE_KEY
// project {
// id = project.curseforge_id
// releaseType = "release"
// addGameVersion "Forge"
// addGameVersion "Java 17"
// addGameVersion project.minecraft_version
// mainArtifact(remapJar.archiveFile)
// relations {
// requiredDependency 'kubejs'
// }
// changelog = file("./CHANGELOG.md")
// changelogType = 'markdown'
// }
// }
//}

publishing {
publications {
mavenJava(MavenPublication) {
artifactId = "${project.archivesBaseName}"
register('mavenJava', MavenPublication) {
from components.java

version = MAVEN_VERSION
}
}

repositories {
if (ENV.SAPS_TOKEN) {
def naniteSecret = providers.environmentVariable("NANITE_TOKEN");
if (naniteSecret.isPresent()) {
maven {
url MAVEN_URL
url "https://maven.nanite.dev/${isSnapshot ? "snapshots" : "releases"}"
credentials {
username = "errormikey"
password = "${ENV.SAPS_TOKEN}"
username = "nanite"
password = naniteSecret.get()
}
}
}
}
}

publishMods {
dryRun = providers.environmentVariable("CURSEFORGE_TOKEN").getOrNull() == null
changelog = file("./CHANGELOG.md").text
version = project.version
file = project.provider { project.tasks.jar }.flatMap { it.archiveFile }
modLoaders.add("neoforge")
type = STABLE
displayName = "[${minecraft_version}] KubeUtils ${project.version}"

curseforge {
projectId = curseforge_id
accessToken = providers.environmentVariable("CURSEFORGE_TOKEN")
minecraftVersions.add("${minecraft_version}")
javaVersions.add(JavaVersion.VERSION_17)

requires("kubejs")
}

modrinth {
projectId = modrinth_id
accessToken = providers.environmentVariable("NANITE_TOKEN")
minecraftVersions.add("${minecraft_version}")
requires("kubejs")
}

github {
accessToken = providers.environmentVariable("GITHUB_TOKEN")
repository = "Nanite/KubeUtils"
commitish = providers.environmentVariable("GITHUB_SHA").orElse("dryRun")
}
}

/**
* Removes the 1. from Minecraft's version, then adds a 0 to the end if the
* version does not contain three dots.
*/
def getMinecraftBaseVersion() {
def version = project.minecraft_version
def parts = version.split("\\.")

// Remove the first part of the version
parts = parts[1..-1]

if (parts.size() < 2) {
parts << "0"
}

return parts.join(".")
}
14 changes: 9 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G
org.gradle.jvmargs=-Xmx2G

loom.platform=forge
# The MC version is used to determine the base the version for neo and the mod
minecraft_version=1.20.4

minecraft_version=1.19.2
forge_version=1.19.2-43.2.3
neoforge_version=237
neoforge_loader_version=2
mod_version=0

mod_version=1.0.3
maven_group=pro.mikey.mods
archives_base_name=kube-utils
mod_id=kubeutils
mod_author=ErrorMikey/Mikey

curseforge_id=678815
modrinth_id=JHdL51WR

kubejs_version=2004.7.0-build.24
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 8826700

Please sign in to comment.