Skip to content

Commit 1da21e2

Browse files
committed
Decked out initial commit
1 parent 3cb54c0 commit 1da21e2

27 files changed

+963
-0
lines changed

.gitattributes

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#
2+
# https://help.github.com/articles/dealing-with-line-endings/
3+
#
4+
# Linux start script should use lf
5+
/gradlew text eol=lf
6+
7+
# These are Windows script files and should use crlf
8+
*.bat text eol=crlf
9+

.github/workflows/build.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Automatically build the project and run any configured tests for every push
2+
# and submitted pull request. This can help catch issues that only occur on
3+
# certain platforms or Java versions, and provides a first line of defence
4+
# against bad commits.
5+
6+
name: build
7+
on: [pull_request, push]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-24.04
12+
steps:
13+
- name: checkout repository
14+
uses: actions/checkout@v4
15+
- name: validate gradle wrapper
16+
uses: gradle/actions/wrapper-validation@v4
17+
- name: setup jdk
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: '21'
21+
distribution: 'microsoft'
22+
- name: make gradle wrapper executable
23+
run: chmod +x ./gradlew
24+
- name: build
25+
run: ./gradlew build
26+
- name: capture build artifacts
27+
uses: actions/upload-artifact@v4
28+
with:
29+
name: Artifacts
30+
path: build/libs/

.gitignore

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# gradle
2+
3+
.gradle/
4+
build/
5+
out/
6+
classes/
7+
8+
# eclipse
9+
10+
*.launch
11+
12+
# idea
13+
14+
.idea/
15+
*.iml
16+
*.ipr
17+
*.iws
18+
19+
# vscode
20+
21+
.settings/
22+
.vscode/
23+
bin/
24+
.classpath
25+
.project
26+
27+
# macos
28+
29+
*.DS_Store
30+
31+
# fabric
32+
33+
run/
34+
35+
# java
36+
37+
hs_err_*.log
38+
replay_*.log
39+
*.hprof
40+
*.jfr

build.gradle

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
plugins {
2+
id 'fabric-loom' version "${loom_version}"
3+
id 'maven-publish'
4+
}
5+
6+
version = project.mod_version
7+
group = project.maven_group
8+
9+
base {
10+
archivesName = project.archives_base_name
11+
}
12+
13+
repositories {
14+
maven {
15+
url "https://jitpack.io"
16+
17+
metadataSources {
18+
artifact() // Look directly for artifact
19+
}
20+
}
21+
22+
// Scheduler, Queue, MultiDim, AutoJSON
23+
maven { url "https://theo.is-a.dev/maven-repo/" }
24+
25+
// YACL
26+
maven { url 'https://maven.isxander.dev/releases' }
27+
28+
// ModMenu
29+
maven { url "https://maven.terraformersmc.com/releases/" }
30+
31+
exclusiveContent {
32+
forRepository {
33+
maven {
34+
name = "Modrinth"
35+
url = "https://api.modrinth.com/maven"
36+
}
37+
}
38+
filter {
39+
includeGroup "maven.modrinth"
40+
}
41+
}
42+
}
43+
44+
loom {
45+
splitEnvironmentSourceSets()
46+
47+
mods {
48+
"decked-out" {
49+
sourceSet sourceSets.main
50+
sourceSet sourceSets.client
51+
}
52+
}
53+
54+
}
55+
56+
fabricApi {
57+
configureDataGeneration {
58+
client = true
59+
}
60+
}
61+
62+
dependencies {
63+
// To change the versions see the gradle.properties file
64+
minecraft "com.mojang:minecraft:${project.minecraft_version}"
65+
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
66+
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
67+
68+
// Fabric API. This is technically optional, but you probably want it anyway.
69+
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
70+
71+
modImplementation "dev.isxander:yet-another-config-lib:${project.yacl_version}"
72+
modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}")
73+
74+
modImplementation("com.github.amblelabs:modkit:v${project.amblekit_version}") {
75+
exclude(group: "net.fabricmc.fabric-api")
76+
}
77+
include(modImplementation("dev.drtheo:scheduler:${project.scheduler_version}")) {
78+
exclude(group: "net.fabricmc.fabric-api")
79+
}
80+
81+
}
82+
83+
processResources {
84+
duplicatesStrategy = DuplicatesStrategy.EXCLUDE // Exclude duplicate files, I don"t why this even works
85+
inputs.property "version", project.version
86+
inputs.property "minecraft_version", project.minecraft_version
87+
inputs.property "loader_version", project.loader_version
88+
inputs.property "yacl_version", project.yacl_version
89+
filteringCharset "UTF-8"
90+
91+
filesMatching("fabric.mod.json") {
92+
expand "version": project.version,
93+
"minecraft_version": project.minecraft_version,
94+
"loader_version": project.loader_version,
95+
"yacl_version": project.yacl_version
96+
}
97+
}
98+
99+
tasks.withType(JavaCompile).configureEach {
100+
it.options.release = 21
101+
}
102+
103+
java {
104+
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
105+
// if it is present.
106+
// If you remove this line, sources will not be generated.
107+
withSourcesJar()
108+
109+
sourceCompatibility = JavaVersion.VERSION_21
110+
targetCompatibility = JavaVersion.VERSION_21
111+
}
112+
113+
jar {
114+
inputs.property "archivesName", project.base.archivesName
115+
116+
from("LICENSE") {
117+
rename { "${it}_${inputs.properties.archivesName}"}
118+
}
119+
}
120+
121+
// configure the maven publication
122+
publishing {
123+
publications {
124+
create("mavenJava", MavenPublication) {
125+
artifactId = project.archives_base_name
126+
from components.java
127+
}
128+
}
129+
130+
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
131+
repositories {
132+
// Add repositories to publish to here.
133+
// Notice: This block does NOT have the same function as the block in the top level.
134+
// The repositories here will be used for publishing your artifact, not for
135+
// retrieving dependencies.
136+
}
137+
}

gradle.properties

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Done to increase the memory available to gradle.
2+
org.gradle.jvmargs=-Xmx1G
3+
org.gradle.parallel=true
4+
5+
# IntelliJ IDEA is not yet fully compatible with configuration cache, see: https://github.com/FabricMC/fabric-loom/issues/1349
6+
org.gradle.configuration-cache=false
7+
8+
# Fabric Properties
9+
# check these on https://fabricmc.net/develop
10+
minecraft_version=1.20.1
11+
yarn_mappings=1.20.1+build.10
12+
loader_version=0.17.2
13+
loom_version=1.11-SNAPSHOT
14+
15+
# Mod Properties
16+
mod_version=1.0.0
17+
maven_group=amble.deckedout
18+
archives_base_name=decked-out
19+
20+
# Dependencies
21+
fabric_version=0.92.5+1.20.1
22+
amblekit_version=1.1.14
23+
modmenu_version = 7.0.1
24+
yacl_version = 3.6.1+1.20.1-fabric
25+
scheduler_version = 1.1.0

gradle/wrapper/gradle-wrapper.jar

44.4 KB
Binary file not shown.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
6+
zipStoreBase=GRADLE_USER_HOME
7+
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)