Skip to content

Commit de5a405

Browse files
authored
Hytale Plugin Upload Support (#35)
* [CHORE] Update to Gradle 8.14 * [FEAT] Support uploading Hytale Plugins to CurseForge * [FEAT] Skip Modrinth Upload task for Hytale * [FEAT] Initial Support for Modtale * [CHORE] Update Readme, License and Changelog * [FEAT] NightBloom Hytale support * [BUG] Fix Modtale uploading * [BUG] Fix NightBloom and Modtale version filtering
1 parent 258ba60 commit de5a405

21 files changed

Lines changed: 448 additions & 64 deletions

changelog.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
### Version 2.2.0
2+
3+
* [Exp] - Add experimental support for multi-sourceset projects
4+
* [Feat] - Add support for new snapshot version formats for CurseForge
5+
* [Feat] - Add option to not set GitHub release as latest
6+
* [Feat] - Add Support for Modtale
7+
* [Feat] - Add Support for uploading Hytale plugins to CurseForge and NightBloom
8+
19
### Version 2.1.8
210

311
* [Bug] - Fix commit `3562a62` that was wiped out by release 2.1.7
412
* [Chore] - Update dependencies
513
* [Bug] - Fix NightBloom File ID extraction regex following API change
6-
* [Exp] - Add experimental support for multi-sourceset projects
7-
* [Feat] - Add support for new snapshot version formats for CurseForge
8-
* [Feat] - Add option to not set GitHub release as latest
914

1015
### Version 2.1.7
1116

dummy.jar

47.3 KB
Binary file not shown.

gradle.properties

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
version_major=2
2-
version_minor=1
3-
version_patch=8
4-
version_build=4
2+
version_minor=2
3+
version_patch=0
4+
version_build=1
55
release_type=snapshot
66

77
# Dependencies
8-
curse4j=1.0.12
8+
curse4j=1.0.13
99
modrinth4j=2.2.0
10-
github=1.318
10+
github=1.330
1111
mavenart=4.0.0-alpha-10
1212
junit=5.10.1
1313
lombok=1.18.38
14-
nightbloom=1.2.8
14+
nightbloom=1.2.13

gradle/wrapper/gradle-wrapper.jar

302 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 7 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 14 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

license.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2023-2025 HypherionSA and Contributors
3+
Copyright (c) 2023-2026 HypherionSA and Contributors
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

readme.md

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
11
## ModPublisher
22

3-
ModPublisher is a Gradle Plugin that allows modders to publish their mods to Modrinth, Curseforge and GitHub in one go.
3+
ModPublisher is a Gradle Plugin that allows modders to publish their mods to Modrinth, CurseForge and GitHub in one go.
44

55
No need for separate plugins, just one!
66

77
---
88

9+
### Supported Platforms
10+
11+
- [CurseForge](https://curseforge.com)
12+
- [Modrinth](https://modrinth.com)
13+
- [GitHub](https://github.com)
14+
- [NightBloom](https://nightbloom.cc)
15+
- [Modtale](https://modtale.net)
16+
917
### Setup
1018

1119
For full documentation, checkout [ModPublisher Docs](https://modpublisher.fdd-docs.com/)
@@ -60,8 +68,14 @@ publisher {
6068
curseforge System.getenv("CURSE_TOKEN")
6169
// GitHub Token
6270
github System.getenv("GITHUB_TOKEN")
71+
// Modtale Token
72+
modtale System.getenv("MODTALE_TOKEN")
6373
}
6474
75+
// Set the Game Type you are uploading for. This is Optional, but needed for Hytale Mods
76+
// Current valid values are `hytale` and `minecraft`. minecraft is the default
77+
setGameType("minecraft")
78+
6579
// Enable Debug mode. When enabled, no files will actually be uploaded
6680
setDebug(true)
6781
@@ -71,6 +85,9 @@ publisher {
7185
// Modrinth Project ID
7286
setModrinthID("dsgfhs79789")
7387
88+
// Modtale Project ID
89+
setModtaleID("jfghg")
90+
7491
// Type of release. beta, alpha or release
7592
// You can also use VersionType.BETA, VersionType.ALPHA or VersionType.RELEASE
7693
setVersionType("beta")
@@ -81,7 +98,7 @@ publisher {
8198
// Or https://gist.githubusercontent.com/hypherionmc/92f825d3c9337964cc77c9c8c9bf65e6/raw/ceeaaee5b98c688a23398864fe480b84796a1651/test_gist.md
8299
setChangelog("changelog.md")
83100
84-
// Required for Modrinth/GitHub
101+
// Required for Modrinth/GitHub/Modtale
85102
setProjectVersion("1.20.2-${project.version}")
86103
87104
// Fancy display name for the upload.
@@ -94,15 +111,17 @@ publisher {
94111
// The modloaders your upload supports.
95112
// This can also be an Enum from ModLoader,
96113
// like setLoaders(ModLoader.FABRIC, ModLoader.FORGE)
114+
// NOT NEEDED FOR HYTALE PLUGINS
97115
setLoaders("forge", "fabric")
98116
99117
// The new Curseforge Environment tag. Optional
100118
// Valid values are "server", "client" or "both"
101119
// You can also use CurseEnvironment.BOTH, or CurseEnvironment.SERVER or CurseEnvironment.CLIENT
120+
// NOT NEEDED FOR HYTALE PLUGINS
102121
setCurseEnvironment("both")
103122
104123
// Upload the release, but keep it "private" until you are ready
105-
// Unreleased feature on CurseForge, working on Modrinth
124+
// Working CurseForge, not working on Modrinth
106125
setIsManualRelease(true)
107126
108127
// The file to be uploaded. This can be a file, task, or string.
@@ -117,16 +136,15 @@ publisher {
117136
// If this is a task, the task specified will be executed before publishing
118137
// Valid platforms are modrinth, curseforge and github
119138
setPlatformArtifact("modrinth", modrinthJar)
120-
121-
// Disable the built in Fractureizer scanner
122-
setDisableMalwareScanner(true)
123139
124140
// Add supported java versions. Currently only used by CurseForge
125141
// Supports anything that can be parsed using JavaVersion.toVersion()
142+
// NOT NEEDED FOR HYTALE PLUGINS
126143
setJavaVersions(JavaVersion.VERSION_1_8, 11)
127144
128145
// Safety check to check if the artifact contains a valid mod metadata entry,
129146
// which could possibly mean that the jar is empty
147+
// NOT NEEDED FOR HYTALE PLUGINS
130148
setDisableEmptyJarCheck(true)
131149
132150
// Additional files to upload. Same as artifact, this can be a task, file or string
@@ -268,8 +286,14 @@ publisher {
268286
curseforge(System.getenv("CURSE_TOKEN"))
269287
// GitHub Token
270288
github(System.getenv("GITHUB_TOKEN"))
289+
// Modtale Token
290+
modtale(System.getenv("MODTALE_TOKEN"))
271291
}
272292

293+
// Set the Game Type you are uploading for. This is Optional, but needed for Hytale Mods
294+
// Current valid values are `hytale` and `minecraft`. minecraft is the default
295+
gameType.set("minecraft")
296+
273297
// Enable Debug mode. When enabled, no files will actually be uploaded
274298
debug.set(true)
275299

@@ -279,6 +303,9 @@ publisher {
279303
// Modrinth Project ID
280304
modrinthID.set("sdjkg8867")
281305

306+
// Modtale Project ID
307+
modtaleID.set("gjgndg")
308+
282309
// GitHub repo to publish to. Only required for GitHub
283310
githubRepo.set("OWNER/REPO")
284311

@@ -330,9 +357,6 @@ publisher {
330357
// If this is a task, the task specified will be executed before publishing
331358
// Valid platforms are modrinth, curseforge and github
332359
setPlatformArtifact("modrinth", modrinthJar)
333-
334-
// Disable the built in Fractureizer scanner
335-
disableMalwareScanner.set(true)
336360

337361
// Safety check to check if the artifact contains a valid mod metadata entry,
338362
// which could possibly mean that the jar is empty

src/main/java/com/hypherionmc/modpublisher/Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class Constants {
1717
public static final String GITHUB_TASK = "publishGitHub";
1818
public static final String MODRINTH_TASK = "publishModrinth";
1919
public static final String NIGHTBLOOM_TASK = "publishNightbloom";
20+
public static final String MODTALE_TASK = "publishModtale";
2021
public static final String TASK_GROUP = "publishing";
2122
public static final String EXTENSION_NAME = "publisher";
2223
public static final String INTERNAL_TASK_GROUP = "modpublisher";

0 commit comments

Comments
 (0)