Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 93 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,21 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

# Setup JDK
- name: Set up JDK 8
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: adopt
java-version: 8

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'

# Build Core
- name: Build/Install Core
Expand All @@ -28,7 +32,7 @@ jobs:

# Upload Maven Local
- name: Upload
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
path: ~/.m2/repository
name: maven
Expand All @@ -50,21 +54,25 @@ jobs:

steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v4
- uses: actions/checkout@v6

# Setup JDK
- name: Set up JDK 8
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: adopt
java-version: 8

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'

# Download Core
- name: Download Core Artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: maven
path: ~/.m2/repository
Expand All @@ -81,7 +89,7 @@ jobs:

# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
path: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}/build/libs/*.jar
Expand All @@ -108,7 +116,7 @@ jobs:

steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v4
- uses: actions/checkout@v6

# # Setup JDK
# - name: Set up JDK 1.8
Expand All @@ -124,17 +132,21 @@ jobs:

# Setup JDK
- name: Set up JDK 1.17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: 'adopt'
java-version: 17

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'

# Download Core
- name: Download Core Artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: maven
path: ~/.m2/repository
Expand All @@ -146,7 +158,7 @@ jobs:

# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
path: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}/build/libs/*.jar
Expand All @@ -165,21 +177,74 @@ jobs:

steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v4
- uses: actions/checkout@v6

# Setup JDK
- name: Set up JDK 21
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: 21

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'

# Download Core
- name: Download Core Artifact
uses: actions/download-artifact@v8
with:
name: maven
path: ~/.m2/repository

# Build Minecraft Mod
- name: Build Mod
working-directory: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}
run: './gradlew build --no-daemon'

# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
path: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}/build/libs/*.jar

buildJava25:
name: Build ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
runs-on: ubuntu-latest
needs: buildCore

# Matrix of jobs to run
strategy:
fail-fast: false
matrix:
mod-loader: ['fabric', 'neoforge']
mc-version: ["26.1"]

steps:
# Checks-out the repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v6

# Setup JDK
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
distribution: 'microsoft'
java-version: 25

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'

# Download Core
- name: Download Core Artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: maven
path: ~/.m2/repository
Expand All @@ -191,7 +256,7 @@ jobs:

# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.mod-loader }} ${{ matrix.mc-version }}
path: ./MinecraftMod/${{ matrix.mod-loader }}/${{ matrix.mc-version }}/build/libs/*.jar
Expand All @@ -202,20 +267,24 @@ jobs:
needs: buildCore

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

# Setup JDK
- name: Set up JDK 8
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: adopt
java-version: 8

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service'
build-scan-terms-of-use-agree: 'yes'

- name: Set up Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'npm'
Expand Down Expand Up @@ -253,7 +322,7 @@ jobs:

# Upload Artifact
- name: Upload Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: Stream Deck Plugin
path: ./effectmc/*.streamDeckPlugin
33 changes: 33 additions & 0 deletions MinecraftMod/fabric/26.1/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# gradle

.gradle/
build/
out/
classes/

# eclipse

*.launch

# idea

.idea/
*.iml
*.ipr
*.iws

# vscode

.settings/
.vscode/
bin/
.classpath
.project

# macos

*.DS_Store

# fabric

run/
94 changes: 94 additions & 0 deletions MinecraftMod/fabric/26.1/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
plugins {
id 'net.fabricmc.fabric-loom' version "${loom_version}"
id 'maven-publish'
}

version = project.mod_version
group = project.maven_group

base {
archivesName = project.archives_base_name + "-fabric-" + project.minecraft_version
}

repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.

mavenLocal()
}

loom {
splitEnvironmentSourceSets()

mods {
"effectmc" {
sourceSet sourceSets.main
sourceSet sourceSets.client
}
}

}

dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
implementation "net.fabricmc:fabric-loader:${project.loader_version}"

// Fabric API. This is technically optional, but you probably want it anyway.
implementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

// Uncomment the following line to enable the deprecated Fabric API modules.
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.

// implementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"

implementation "com.mosadie.effectmc:core:${project.effectmc_core_version}"
include "com.mosadie.effectmc:core:${project.effectmc_core_version}"
}
processResources {
inputs.property "version", project.version

filesMatching("fabric.mod.json") {
expand "version": project.version
}
}

tasks.withType(JavaCompile).configureEach {
it.options.release = 25
}

java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()

sourceCompatibility = JavaVersion.VERSION_25
targetCompatibility = JavaVersion.VERSION_25
}

jar {
from("LICENSE") {
rename { "${it}_${project.base.archivesName.get()}"}
}
}

// configure the maven publication
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}

// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}
19 changes: 19 additions & 0 deletions MinecraftMod/fabric/26.1/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G

# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=26.1
loader_version=0.18.4
loom_version=1.15-SNAPSHOT


# Mod Properties
mod_version = 3.1.0
maven_group = com.mosadie.effectmc
archives_base_name = effectmc

# Dependencies
fabric_version=0.144.0+26.1

effectmc_core_version=3.1.0
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading