Skip to content

Commit

Permalink
properties, shadows, and merges
Browse files Browse the repository at this point in the history
  • Loading branch information
Scarlet-Phonavis committed Jul 6, 2024
1 parent 78eb30d commit 3685593
Show file tree
Hide file tree
Showing 12 changed files with 243 additions and 85 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true

- name: Setup JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

- name: Build with Gradle
uses: gradle/actions/setup-gradle@v3
with:
arguments: build

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: Package
path: "**/build/libs"
83 changes: 83 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@ subprojects {
apply plugin: 'dev.architectury.loom'
apply plugin: 'architectury-plugin'
apply plugin: 'maven-publish'
apply plugin: 'com.github.johnrengelman.shadow'

configurations {

shadowBundle {
canBeResolved = true
canBeConsumed = false

}
}

base {
// Set up a suffixed format for the mod jar names, e.g. `example-fabric`.
Expand All @@ -34,6 +44,79 @@ subprojects {
dependencies {
minecraft "net.minecraft:minecraft:$rootProject.minecraft_version"
mappings loom.officialMojangMappings()


shadowBundle(implementation("com.electronwill.night-config:core:$rootProject.nightconfig_version") )
shadowBundle(implementation("com.electronwill.night-config:toml:$rootProject.nightconfig_version"))


tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
minecraft_version : minecraft_version,
mod_id : mod_id,
mod_name : mod_name,
mod_license : mod_license,
mod_version : mod_version,
mod_authors : mod_authors,
mod_description : mod_description,
maven_group : maven_group,
mod_contact : mod_contact,
mod_git : mod_git,

//Quilt
quilt_architectury : quilt_architectury,
quilt_minecraft : quilt_minecraft,
quilt_quiltloader : quilt_quiltloader,
quilt_quiltbase : quilt_quiltbase,

//Fabric
fabric_fabricloader : fabric_fabricloader,
fabric_minecraft : fabric_minecraft,
fabric_java : fabric_java,
fabric_architectury : fabric_architectury,
fabric_fabricapi : fabric_fabricapi,

//ForgeLikes
forge_loaderversion : forge_loaderversion,
forge_loaderrange : forge_loaderrange,
forge_forgeside : forge_forgeside,
forge_minecraftrange : forge_minecraftrange,
forge_architecturyrange: forge_architecturyrange,
forge_architecturyside : forge_architecturyside,

//NeoForge
neoforge_loaderversion : neoforge_loaderversion,
neoforge_loaderrange : neoforge_loaderrange,
neoforge_neoforgeside : neoforge_neoforgeside,
neoforge_minecraftrange: neoforge_minecraftrange,
neoforge_architecturyrange: neoforge_architecturyrange,
neoforge_architecturyside: neoforge_architecturyside



]
inputs.properties replaceProperties

filesMatching(['META-INF/mods.toml', 'quilt.mod.json', 'fabric.mod.json'] ) {
expand replaceProperties
}
}
}
shadowJar {
configurations = [project.configurations.shadowBundle]
archiveClassifier = 'dev-shadow'


// relocate 'redis.clients', 'net.stonebound.shaded.redis.clients'
relocate 'io.prometheus', 'net.stonebound.SimpleIRCBridge.shaded.io.prometheus'
relocate 'com.electronwill', 'net.stonebound.SimpleIRCBridge.shaded.com.electronwill'


dependencies {
exclude(dependency("org.slf4j:.*:.*"))
exclude(dependency("org.jetbrains:.*:.*"))

}
}

java {
Expand Down
3 changes: 1 addition & 2 deletions fabric/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ dependencies {
common(project(path: ':common', configuration: 'namedElements')) { transitive false }
shadowBundle project(path: ':common', configuration: 'transformProductionFabric')

include("com.electronwill.night-config:core:$rootProject.nightconfig_version")
include("com.electronwill.night-config:toml:$rootProject.nightconfig_version")

}

processResources {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

import net.fabricmc.api.ModInitializer;

import net.stonebound.simpleircbridge.simpleIRCbridgeLoader;
import net.stonebound.simpleircbridge.SimpleIRCBridge;

public final class simpleircbridgeFabric implements ModInitializer {
public final class SimpleIRCBridgeFabric implements ModInitializer {
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.

// Run our common setup.
simpleIRCbridgeLoader.init();
SimpleIRCBridge.init();
}
}
30 changes: 17 additions & 13 deletions fabric/src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
{
"schemaVersion": 1,
"id": "simpleircbridge",
"version": "${version}",
"name": "simple irc bridge",
"description": "This is an example description! Tell everyone what your mod is about!",
"id": "${mod_id}",
"version": "${mod_version}",
"name": "${mod_name}",
"description": "${mod_description}",
"authors": [
"Xnrand and contributors"
"${mod_authors}"
],
"contact": {
"homepage": "https://fabricmc.net/",
"sources": "https://github.com/FabricMC/fabric-example-mod"
"homepage": "${mod_contact}",
"sources": "${mod_git}"
},
"license": "BSD-2-Clause",
"license": "${mod_license}",
"icon": "assets/sbprometheus/icon.png",
"environment": "*",
"entrypoints": {
"main": [
"net.stonebound.simpleircbridge.fabric.SimpleIRCBridgeFabric"
]
},
"mixins": [
"simpleircbridge.mixins.json"
],
"depends": {
"fabricloader": ">=0.15.11",
"minecraft": "~1.20.4",
"java": ">=17",
"architectury": ">=11.1.17",
"fabric-api": "*"
"fabricloader": "${fabric_fabricloader}",
"minecraft": "${fabric_minecraft}",
"java": "${fabric_java}",
"architectury": "${fabric_architectury}",
"fabric-api": "${fabric_fabricapi}"
},
"suggests": {
"another-mod": "*"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;

import net.stonebound.simpleircbridge.simpleIRCbridgeLoader;
import net.stonebound.simpleircbridge.SimpleIRCBridge;

//TODO Test to ensure this actually works on forge, for some reason its not working in IDE but is assembled, but I can't get a normal vanilla forge server to work
@Mod(simpleIRCbridgeLoader.MOD_ID)
public final class simpleircbridgeForge {
public simpleircbridgeForge() {
@Mod(SimpleIRCBridge.MOD_ID)
public final class SimpleIRCBridgeForge {
public SimpleIRCBridgeForge() {
// Submit our event bus to let Architectury API register our content on the right time.
EventBuses.registerModEventBus(simpleIRCbridgeLoader.MOD_ID, FMLJavaModLoadingContext.get().getModEventBus());
EventBuses.registerModEventBus(SimpleIRCBridge.MOD_ID, FMLJavaModLoadingContext.get().getModEventBus());

// Run our common setup.
simpleIRCbridgeLoader.init();
SimpleIRCBridge.init();
}
}
36 changes: 17 additions & 19 deletions forge/src/main/resources/META-INF/mods.toml
Original file line number Diff line number Diff line change
@@ -1,35 +1,33 @@
modLoader = "javafml"
loaderVersion = "[49,)"
#issueTrackerURL = "https://github.com/Stonebound/SimpleIRCBridge"
license = "BSD-2-Clause"
loaderVersion = "${forge_loaderversion}"
issueTrackerURL = "${mod_git}"
license = "${mod_license}"

[[mods]]
modId = "simpleircbridge"
version = "${version}"
displayName = "simple irc bridge"
authors = "Xnrand & contributors"
description = '''
simple irc bridge stonebound fork
'''
modId = "${mod_id}"
version = "${mod_version}"
displayName = "${mod_name}"
authors = "${mod_authors}"
description = "${mod_description}"
#logoFile = ""

[[dependencies.simpleircbridge]]
[[dependencies."${mod_id}"]]
modId = "forge"
mandatory = true
versionRange = "[49,)"
versionRange = "${forge_loaderrange}"
ordering = "NONE"
side = "SERVER"
side = "${forge_forgeside}"

[[dependencies.simpleircbridge]]
[[dependencies."${mod_id}"]]
modId = "minecraft"
mandatory = true
versionRange = "[1.20.4,)"
versionRange = "${forge_minecraftrange}"
ordering = "NONE"
side = "SERVER"
side = "BOTH"

[[dependencies.simpleircbridge]]
[[dependencies."${mod_id}"]]
modId = "architectury"
mandatory = true
versionRange = "[11.1.17,)"
versionRange = "${forge_architecturyrange}"
ordering = "AFTER"
side = "SERVER"
side = "${forge_architecturyside}"
52 changes: 46 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,60 @@ org.gradle.jvmargs=-Xmx2G
org.gradle.parallel=true

# Mod properties
mod_version = 1.0.2
mod_version = 1.0.3
maven_group = net.stonebound.simpleircbridge
archives_name = simpleircbridge
enabled_platforms = fabric,forge,neoforge,quilt
mod_description = Simple Irc Bridge
mod_id = simpleircbridge
mod_name=Simple IRC Bridge
mod_license=BSD-2-Clause
mod_authors=xrand & contributors
mod_contact=https://stonebound.net
mod_git=https://github.com/Stonebound/SimpleIRCBridge/



#Forge TOML Properties
forge_loaderversion = [49,)
forge_loaderrange = [49,)
forge_forgeside = BOTH
forge_minecraftrange = [1.20.4,)
forge_architecturyrange = [11.1.17,)
forge_architecturyside = BOTH


#Neoforge TOML Properties
neoforge_loaderversion = [2,)
neoforge_loaderrange = [20.4,)
neoforge_neoforgeside = BOTH
neoforge_minecraftrange = [1.20.4,)
neoforge_architecturyrange = [11.1.17,)
neoforge_architecturyside = BOTH

# Minecraft properties
minecraft_version = 1.20.4

# Dependencies

#Quilt & Fabric JSON Properties
quilt_architectury= >=11.1.17
quilt_minecraft= >=1.20.4
quilt_quiltloader = *
quilt_quiltbase = *
#yes its cursed
fabric_fabricloader = >=0.15.11
fabric_minecraft = ~1.20.4
fabric_java = >=17
fabric_architectury = >=11.1.17
fabric_fabricapi = *



# Compile Dependencies
minecraft_version = 1.20.4
architectury_api_version = 11.1.17
fabric_loader_version = 0.15.11
fabric_api_version = 0.97.1+1.20.4
forge_version = 1.20.4-49.0.50
neoforge_version = 20.4.234
forge_version = 1.20.4-49.1.2
neoforge_version = 20.4.237
quilt_loader_version = 0.26.1-beta.1
quilted_fabric_api_version = 9.0.0-alpha.8+0.97.0-1.20.4
nightconfig_version=3.6.4
Loading

0 comments on commit 3685593

Please sign in to comment.