-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c67d133
commit d9c1fa8
Showing
33 changed files
with
635 additions
and
566 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,5 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto | ||
# Disable autocrlf on generated files, they always generate with LF | ||
# Add any extra files or paths here to make git stop saying they | ||
# are changed when only line endings change. | ||
src/generated/**/.cache/cache text eol=lf | ||
src/generated/**/*.json text eol=lf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Build | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 1000 | ||
fetch-tags: true | ||
|
||
- name: Setup JDK 17 | ||
uses: actions/setup-java@v2 | ||
with: | ||
java-version: '17' | ||
distribution: 'temurin' | ||
|
||
- name: Build with Gradle | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
arguments: build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,149 +1,113 @@ | ||
buildscript { | ||
repositories { | ||
maven { url = 'https://maven.minecraftforge.net/' } | ||
maven { url = 'https://maven.parchmentmc.org' } | ||
maven { url = 'https://repo.spongepowered.org/repository/maven-public/' } | ||
jcenter() | ||
mavenCentral() | ||
} | ||
dependencies { | ||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '[6.0.14,6.2)', changing: true | ||
classpath 'org.parchmentmc:librarian:1.+' | ||
classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT' | ||
} | ||
} | ||
apply plugin: 'net.minecraftforge.gradle' | ||
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. | ||
apply plugin: 'eclipse' | ||
apply plugin: 'maven-publish' | ||
apply plugin: 'org.parchmentmc.librarian.forgegradle' | ||
apply plugin: 'org.spongepowered.mixin' | ||
|
||
mixin { | ||
add sourceSets.main, "guardvillagers.refmap.json" | ||
plugins { | ||
id 'java-library' | ||
id 'eclipse' | ||
id 'idea' | ||
id 'maven-publish' | ||
id 'net.neoforged.gradle.userdev' version '7.0.45' | ||
} | ||
|
||
version = mod_version | ||
group = mod_group_id | ||
|
||
version = '1.20.2-1.6.4' | ||
group = 'tallestegg.guardvillagers' // http://maven.apache.org/guides/mini/guide-naming-conventions.html | ||
archivesBaseName = 'guardvillagers' | ||
|
||
java.toolchain.languageVersion = JavaLanguageVersion.of(17) | ||
|
||
minecraft { | ||
// The mappings can be changed at any time, and must be in the following format. | ||
// snapshot_YYYYMMDD Snapshot are built nightly. | ||
// stable_# Stables are built at the discretion of the MCP team. | ||
// Use non-default mappings at your own risk. they may not always work. | ||
// Simply re-run your setup task after changing the mappings to update your workspace. | ||
mappings channel: 'parchment', version: "1.20.1-2023.06.26-1.20.2" | ||
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. | ||
|
||
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') | ||
|
||
// Default run configurations. | ||
// These can be tweaked, removed, or duplicated as needed. | ||
runs { | ||
client { | ||
workingDirectory project.file('run') | ||
|
||
// Recommended logging data for a userdev environment | ||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' | ||
|
||
// Recommended logging level for the console | ||
property 'forge.logging.console.level', 'debug' | ||
arg "-mixin.config=guardvillagers.mixins.json" | ||
|
||
mods { | ||
examplemod { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
|
||
server { | ||
workingDirectory project.file('run') | ||
repositories { | ||
mavenLocal() | ||
} | ||
|
||
// Recommended logging data for a userdev environment | ||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' | ||
base { | ||
archivesName = mod_id | ||
} | ||
|
||
// Recommended logging level for the console | ||
property 'forge.logging.console.level', 'debug' | ||
arg "-mixin.config=guardvillagers.mixins.json" | ||
// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. | ||
java.toolchain.languageVersion = JavaLanguageVersion.of(17) | ||
|
||
mods { | ||
examplemod { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
minecraft.accessTransformers.file rootProject.file('src/main/resources/META-INF/accesstransformer.cfg') | ||
|
||
// Default run configurations. | ||
// These can be tweaked, removed, or duplicated as needed. | ||
runs { | ||
// applies to all the run configs below | ||
configureEach { | ||
// Recommended logging data for a userdev environment | ||
// The markers can be added/remove as needed separated by commas. | ||
// "SCAN": For mods scan. | ||
// "REGISTRIES": For firing of registry events. | ||
// "REGISTRYDUMP": For getting the contents of all registries. | ||
systemProperty 'forge.logging.markers', 'REGISTRIES' | ||
|
||
// Recommended logging level for the console | ||
// You can set various levels here. | ||
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels | ||
systemProperty 'forge.logging.console.level', 'debug' | ||
|
||
modSource project.sourceSets.main | ||
} | ||
|
||
data { | ||
workingDirectory project.file('run') | ||
client { | ||
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces. | ||
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id | ||
} | ||
|
||
// Recommended logging data for a userdev environment | ||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' | ||
server { | ||
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id | ||
programArgument '--nogui' | ||
} | ||
|
||
// Recommended logging level for the console | ||
property 'forge.logging.console.level', 'debug' | ||
arg "-mixin.config=guardvillagers.mixins.json" | ||
// This run config launches GameTestServer and runs all registered gametests, then exits. | ||
// By default, the server will crash when no gametests are provided. | ||
// The gametest system is also enabled by default for other run configs under the /test command. | ||
gameTestServer { | ||
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id | ||
} | ||
|
||
args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/') | ||
data { | ||
// example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it | ||
// workingDirectory project.file('run-data') | ||
|
||
mods { | ||
examplemod { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. | ||
programArguments.addAll '--mod', project.mod_id, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath() | ||
} | ||
} | ||
|
||
dependencies { | ||
minecraft 'net.minecraftforge:forge:1.20.2-48.0.34' | ||
annotationProcessor "org.spongepowered:mixin:0.8.5:processor" | ||
} | ||
// Include resources generated by data generators. | ||
sourceSets.main.resources { srcDir 'src/generated/resources' } | ||
|
||
repositories { | ||
maven { | ||
url "https://www.cursemaven.com" | ||
} | ||
} | ||
|
||
// Example for how to get properties into the manifest for reading by the runtime.. | ||
jar { | ||
manifest { | ||
attributes([ | ||
"Specification-Title": "examplemod", | ||
"Specification-Vendor": "examplemodsareus", | ||
"Specification-Version": "1", // We are version 1 of ourselves | ||
"Implementation-Title": project.name, | ||
"Implementation-Version": "${version}", | ||
"Implementation-Vendor" :"examplemodsareus", | ||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), | ||
"MixinConfigs": "guardvillagers.mixins.json" | ||
]) | ||
} | ||
dependencies { | ||
implementation "net.neoforged:neoforge:${neo_version}" | ||
} | ||
|
||
// Example configuration to allow publishing using the maven-publish task | ||
// we define a custom artifact that is sourced from the reobfJar output task | ||
// and then declare that to be published | ||
// Note you'll need to add a repository here | ||
def reobfFile = file("$buildDir/reobfJar/output.jar") | ||
def reobfArtifact = artifacts.add('default', reobfFile) { | ||
type 'jar' | ||
builtBy 'reobfJar' | ||
// This block of code expands all declared replace properties in the specified resource targets. | ||
// A missing property will result in an error. Properties are expanded using ${} Groovy notation. | ||
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments. | ||
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html | ||
tasks.withType(ProcessResources).configureEach { | ||
var replaceProperties = [ | ||
minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range, | ||
neo_version : neo_version, neo_version_range: neo_version_range, | ||
loader_version_range: loader_version_range, | ||
mod_id : mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version, | ||
mod_authors : mod_authors, mod_description: mod_description, pack_format_number: pack_format_number, | ||
] | ||
inputs.properties replaceProperties | ||
|
||
filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) { | ||
expand replaceProperties + [project: project] | ||
} | ||
} | ||
// Example configuration to allow publishing using the maven-publish plugin | ||
publishing { | ||
publications { | ||
mavenJava(MavenPublication) { | ||
artifact reobfArtifact | ||
register('mavenJava', MavenPublication) { | ||
from components.java | ||
} | ||
} | ||
repositories { | ||
maven { | ||
url "file:///${project.projectDir}/mcmodsrepo" | ||
url "file://${project.projectDir}/repo" | ||
} | ||
} | ||
} | ||
} | ||
|
||
tasks.withType(JavaCompile).configureEach { | ||
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation | ||
} |
Oops, something went wrong.