add things to make releasing mod easier
This commit is contained in:
parent
a48ec00100
commit
609e6461f7
@ -26,13 +26,13 @@ Flan 1.4.0
|
|||||||
Flan 1.3.3
|
Flan 1.3.3
|
||||||
======================
|
======================
|
||||||
- Some blocks permission changed from PROJECTILES to OPENCONTAINER on direct interaction
|
- Some blocks permission changed from PROJECTILES to OPENCONTAINER on direct interaction
|
||||||
Affected blocks: campfire, tnt, (chorus fruit), bells
|
Affected blocks: campfire, tnt, (chorus fruit), bells
|
||||||
Direct interaction as in right clicking the block. For actual projectile hits this remains unchanged
|
Direct interaction as in right clicking the block. For actual projectile hits this remains unchanged
|
||||||
- Fix several entities not protected on indirect non projectile player attacks (e.g. through player ignited tnt)-
|
- Fix several entities not protected on indirect non projectile player attacks (e.g. through player ignited tnt)-
|
||||||
More noticable with other mods #52
|
More noticable with other mods #52
|
||||||
- Add gunpowder currency support.
|
- Add gunpowder currency support.
|
||||||
Enables the purchase and selling of claim blocks. Price configurable. Disabled by default
|
Enables the purchase and selling of claim blocks. Price configurable. Disabled by default
|
||||||
Only selling and purchase of additional claim blocks possible (not the ones you get with time).
|
Only selling and purchase of additional claim blocks possible (not the ones you get with time).
|
||||||
|
|
||||||
Flan 1.3.2
|
Flan 1.3.2
|
||||||
======================
|
======================
|
||||||
@ -52,13 +52,13 @@ Flan 1.3.0
|
|||||||
- Fix inventory desync when using the naming screen
|
- Fix inventory desync when using the naming screen
|
||||||
- Add /flan help command. For now it only displays all available commands
|
- Add /flan help command. For now it only displays all available commands
|
||||||
- Add default groups. Set via the config file in defaultGroups.
|
- Add default groups. Set via the config file in defaultGroups.
|
||||||
Every claim created will have those groups by default to make group creation easier
|
Every claim created will have those groups by default to make group creation easier
|
||||||
and without having to make the same group for multiple claims again and again.
|
and without having to make the same group for multiple claims again and again.
|
||||||
- Add personal groups. Set either via the command /flan permissions personal ...
|
- Add personal groups. Set either via the command /flan permissions personal ...
|
||||||
or via the gui /flan personalGroups.
|
or via the gui /flan personalGroups.
|
||||||
Personal groups are just like default groups except player bound. If a player has any
|
Personal groups are just like default groups except player bound. If a player has any
|
||||||
personal groups that will be used instead of the global default group. That way the player
|
personal groups that will be used instead of the global default group. That way the player
|
||||||
can also specify what groups a claim should have upon creation.
|
can also specify what groups a claim should have upon creation.
|
||||||
- Localized various gui strings
|
- Localized various gui strings
|
||||||
|
|
||||||
Flan 1.2.6
|
Flan 1.2.6
|
||||||
@ -73,9 +73,9 @@ Flan 1.2.5
|
|||||||
- Sync itemstack when failing to place blocks
|
- Sync itemstack when failing to place blocks
|
||||||
- Fix various thrown entitys to not abide by claim protection
|
- Fix various thrown entitys to not abide by claim protection
|
||||||
- Add 2 new permissions:
|
- Add 2 new permissions:
|
||||||
- Item drop permission: If set to false prevents items being dropped (players only)
|
Item drop permission: If set to false prevents items being dropped (players only)
|
||||||
- Item pickup permission: If set to false prevents items from being picked up. Player thrown items
|
Item pickup permission: If set to false prevents items from being picked up. Player thrown items
|
||||||
(Death included) gets a special tag so that the one who threw them can always pick it up.
|
(Death included) gets a special tag so that the one who threw them can always pick it up.
|
||||||
- Change some permissions to default true: Enderchest, Enchanting table, Item drop, Item pickup
|
- Change some permissions to default true: Enderchest, Enchanting table, Item drop, Item pickup
|
||||||
|
|
||||||
Flan 1.2.4
|
Flan 1.2.4
|
||||||
|
249
build.gradle
249
build.gradle
@ -1,111 +1,218 @@
|
|||||||
plugins {
|
buildscript {
|
||||||
id 'fabric-loom' version '0.4-SNAPSHOT'
|
dependencies {
|
||||||
id 'maven-publish'
|
classpath group: 'com.diluv.schoomp', name: 'Schoomp', version: '1.1.0'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id 'fabric-loom' version '0.4-SNAPSHOT'
|
||||||
|
id 'maven-publish'
|
||||||
|
id 'com.matthewprenger.cursegradle' version '1.4.0'
|
||||||
|
}
|
||||||
|
|
||||||
|
import com.diluv.schoomp.Webhook
|
||||||
|
import com.diluv.schoomp.message.Message
|
||||||
|
import com.diluv.schoomp.message.embed.Embed
|
||||||
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
targetCompatibility = JavaVersion.VERSION_1_8
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
|
|
||||||
archivesBaseName = project.archives_base_name
|
archivesBaseName = project.archives_base_name
|
||||||
version = project.minecraft_version+"-"+project.mod_version
|
version = project.minecraft_version + "-" + project.mod_version
|
||||||
group = project.maven_group
|
group = project.maven_group
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
jcenter()
|
jcenter()
|
||||||
maven {
|
maven {
|
||||||
name = 'Fabric-Permission-API'
|
name = 'Fabric-Permission-API'
|
||||||
url 'https://oss.sonatype.org/content/repositories/snapshots'
|
url 'https://oss.sonatype.org/content/repositories/snapshots'
|
||||||
}
|
}
|
||||||
maven {
|
maven {
|
||||||
name = "Gunpowder"
|
name = "Gunpowder"
|
||||||
url = "https://maven.martmists.com/releases"
|
url = "https://maven.martmists.com/releases"
|
||||||
}
|
}
|
||||||
maven {
|
maven {
|
||||||
name = 'Ladysnake Mods'
|
name = 'Ladysnake Mods'
|
||||||
url = 'https://ladysnake.jfrog.io/artifactory/mods'
|
url = 'https://ladysnake.jfrog.io/artifactory/mods'
|
||||||
content {
|
content {
|
||||||
includeGroup 'io.github.ladysnake'
|
includeGroup 'io.github.ladysnake'
|
||||||
includeGroupByRegex 'io\\.github\\.onyxstudios.*'
|
includeGroupByRegex 'io\\.github\\.onyxstudios.*'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
//to change the versions see the gradle.properties file
|
//to change the versions see the gradle.properties file
|
||||||
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
||||||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
||||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
||||||
|
|
||||||
// Fabric API. This is technically optional, but you probably want it anyway.
|
// Fabric API. This is technically optional, but you probably want it anyway.
|
||||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
||||||
|
|
||||||
compile group: 'org.yaml', name: 'snakeyaml', version: '1.25'
|
compile group: 'org.yaml', name: 'snakeyaml', version: '1.25'
|
||||||
include group: 'org.yaml', name: 'snakeyaml', version: '1.25'
|
include group: 'org.yaml', name: 'snakeyaml', version: '1.25'
|
||||||
|
|
||||||
modImplementation "me.lucko:fabric-permissions-api:${project.fabric_permissions_api}"
|
modImplementation "me.lucko:fabric-permissions-api:${project.fabric_permissions_api}"
|
||||||
modCompileOnly "io.github.gunpowder:gunpowder-api:${gunpowder_version}+1.16.2"
|
modCompileOnly "io.github.gunpowder:gunpowder-api:${gunpowder_version}+1.16.2"
|
||||||
modImplementation "io.github.ladysnake:PlayerAbilityLib:${project.player_ability_lib}"
|
modImplementation "io.github.ladysnake:PlayerAbilityLib:${project.player_ability_lib}"
|
||||||
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs.
|
|
||||||
// You may need to force-disable transitiveness on them.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
inputs.property "version", project.version
|
inputs.property "version", project.version
|
||||||
|
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
include "fabric.mod.json"
|
include "fabric.mod.json"
|
||||||
expand "version": project.version
|
expand "version": project.version
|
||||||
}
|
}
|
||||||
|
|
||||||
from(sourceSets.main.resources.srcDirs) {
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
exclude "fabric.mod.json"
|
exclude "fabric.mod.json"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ensure that the encoding is set to UTF-8, no matter what the system default is
|
// ensure that the encoding is set to UTF-8, no matter what the system default is
|
||||||
// this fixes some edge cases with special characters not displaying correctly
|
// this fixes some edge cases with special characters not displaying correctly
|
||||||
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
|
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
|
||||||
tasks.withType(JavaCompile) {
|
tasks.withType(JavaCompile) {
|
||||||
options.encoding = "UTF-8"
|
options.encoding = "UTF-8"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
||||||
// if it is present.
|
// if it is present.
|
||||||
// If you remove this task, sources will not be generated.
|
// If you remove this task, sources will not be generated.
|
||||||
task sourcesJar(type: Jar, dependsOn: classes) {
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
||||||
classifier = "sources"
|
classifier = "sources"
|
||||||
from sourceSets.main.allSource
|
from sourceSets.main.allSource
|
||||||
}
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
from "LICENSE"
|
from "LICENSE"
|
||||||
}
|
}
|
||||||
|
|
||||||
// configure the maven publication
|
// configure the maven publication
|
||||||
publishing {
|
publishing {
|
||||||
publications {
|
publications {
|
||||||
mavenJava(MavenPublication) {
|
mavenJava(MavenPublication) {
|
||||||
// add all the jars that should be included when publishing to maven
|
// add all the jars that should be included when publishing to maven
|
||||||
artifact(remapJar) {
|
artifact(remapJar) {
|
||||||
builtBy remapJar
|
builtBy remapJar
|
||||||
}
|
}
|
||||||
artifact(sourcesJar) {
|
artifact(sourcesJar) {
|
||||||
builtBy remapSourcesJar
|
builtBy remapSourcesJar
|
||||||
}
|
}
|
||||||
artifactId project.archives_base_name
|
artifactId project.archives_base_name
|
||||||
version project.version
|
version project.version
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
repositories {
|
|
||||||
maven {
|
repositories {
|
||||||
url "https://gitlab.com/api/v4/projects/21830712/packages/maven"
|
maven {
|
||||||
//url "https://maven.pkg.github.com/flemmli97/RuneCraftory"
|
url "https://gitlab.com/api/v4/projects/21830712/packages/maven"
|
||||||
credentials {
|
//url "https://maven.pkg.github.com/flemmli97/RuneCraftory"
|
||||||
username = project.findProperty("gpr.user") ?: System.getenv("GPR_USER")
|
credentials {
|
||||||
password = project.findProperty("gpr.gitlab.token") ?: System.getenv("GPR_GITLAB_TOKEN")
|
username = project.findProperty("gpr.user") ?: System.getenv("GPR_USER")
|
||||||
//password = project.findProperty("gpr.github.token") ?: System.getenv("GPR_TOKEN")
|
password = project.findProperty("gpr.gitlab.token") ?: System.getenv("GPR_GITLAB_TOKEN")
|
||||||
}
|
//password = project.findProperty("gpr.github.token") ?: System.getenv("GPR_TOKEN")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def changelog(int versions) {
|
||||||
|
try {
|
||||||
|
def changelog = ""
|
||||||
|
def match = 0
|
||||||
|
file("Changelog.txt").eachLine {
|
||||||
|
if (it.matches("${project.project_name} ([0-9].[0-9].[0-9])"))
|
||||||
|
match++
|
||||||
|
if (match <= versions) {
|
||||||
|
changelog += it + "\n"
|
||||||
|
} else
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return changelog + "\n\n"
|
||||||
|
} catch (exception) {
|
||||||
|
return "${project.project_name} ${project.mod_version}\n==========\n"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Splits the changelog into multiple parts if they get bigger than discords embed field size (1024)
|
||||||
|
def discordChangelog() {
|
||||||
|
def changelog = changelog(1)
|
||||||
|
def res = new ArrayList()
|
||||||
|
if (changelog.size() < 1024) {
|
||||||
|
res.add(changelog)
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
def temp = ""
|
||||||
|
changelog.split("\n").each {
|
||||||
|
it = it + "\n"
|
||||||
|
if ((temp.size() + it.size()) >= 1024) {
|
||||||
|
res.add(temp)
|
||||||
|
temp = it
|
||||||
|
} else
|
||||||
|
temp += it
|
||||||
|
}
|
||||||
|
res.add(temp)
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
curseforge {
|
||||||
|
apiKey = findProperty('curseApiToken') ?: 0
|
||||||
|
|
||||||
|
project {
|
||||||
|
id = "${curse_id}"
|
||||||
|
changelog = changelog(3)
|
||||||
|
releaseType = 'release'
|
||||||
|
"${project.curse_versions}".split(', ').each {
|
||||||
|
addGameVersion "${it}"
|
||||||
|
}
|
||||||
|
relations {
|
||||||
|
"${project.curse_dep}".split(', ').each {
|
||||||
|
requiredDependency "${it}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.getByName("curseforge").doLast {
|
||||||
|
try {
|
||||||
|
def newFileId = tasks.getByName("curseforge${project.curse_id}").property('mainArtifact').fileID
|
||||||
|
|
||||||
|
def webhook = new Webhook(findProperty('discordHook'), "${project.project_name} Upload")
|
||||||
|
|
||||||
|
def message = new Message()
|
||||||
|
def version = project.curse_versions.split(', ')[0]
|
||||||
|
message.setUsername("Release")
|
||||||
|
message.setContent("@Flan ${project.project_name} ${project.mod_version} for Minecraft ${version} has been released!")
|
||||||
|
|
||||||
|
def embed = new Embed()
|
||||||
|
embed.addField('Get it here', "${project.findProperty('curse_page')}/files/${newFileId}", false)
|
||||||
|
def changelog = discordChangelog()
|
||||||
|
if (changelog.size() == 1)
|
||||||
|
embed.addField('Change Log', "```md\n${changelog.get(0) ?: 'Unavailable :('}```", false)
|
||||||
|
else
|
||||||
|
changelog.forEach {
|
||||||
|
embed.addField("Change Log", "```md\n${it}```", false)
|
||||||
|
}
|
||||||
|
embed.setColor(0xFF8000)
|
||||||
|
message.addEmbed(embed)
|
||||||
|
|
||||||
|
webhook.sendMessage(message)
|
||||||
|
}
|
||||||
|
|
||||||
|
catch (IOException e) {
|
||||||
|
println 'Failed to push to the Discord webhook.'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
task buildUploadAll(group: "upload") {
|
||||||
|
dependsOn clean, publish, tasks.getByName("curseforge")
|
||||||
|
build.mustRunAfter clean
|
||||||
|
tasks.findByName("curseforge").mustRunAfter publish
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.getByName("curseforge").dependsOn build
|
||||||
|
publish.dependsOn build
|
||||||
|
@ -1,20 +1,24 @@
|
|||||||
# Done to increase the memory available to gradle.
|
# Done to increase the memory available to gradle.
|
||||||
org.gradle.jvmargs=-Xmx2G
|
org.gradle.jvmargs=-Xmx2G
|
||||||
|
|
||||||
# Fabric Properties
|
# Fabric Properties
|
||||||
# check these on https://fabricmc.net/use
|
# check these on https://fabricmc.net/use
|
||||||
minecraft_version=1.16.2
|
minecraft_version=1.16.2
|
||||||
yarn_mappings=1.16.2+build.1
|
yarn_mappings=1.16.2+build.1
|
||||||
loader_version=0.9.1+build.205
|
loader_version=0.9.1+build.205
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 1.4.1
|
mod_version=1.4.1
|
||||||
maven_group = io.github.flemmli97
|
maven_group=io.github.flemmli97
|
||||||
archives_base_name = flan
|
archives_base_name=flan
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
|
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
|
||||||
fabric_version=0.19.0+build.398-1.16
|
fabric_version=0.19.0+build.398-1.16
|
||||||
gunpowder_version=0.2.10
|
gunpowder_version=0.2.10
|
||||||
fabric_permissions_api=0.1-SNAPSHOT
|
fabric_permissions_api=0.1-SNAPSHOT
|
||||||
player_ability_lib=1.2.2
|
player_ability_lib=1.2.2
|
||||||
|
# Curse properties
|
||||||
|
curse_page=https://www.curseforge.com/minecraft/mc-mods/flan
|
||||||
|
curse_versions=1.16.5
|
||||||
|
curse_id=404578
|
||||||
|
curse_dep=fabric-api
|
||||||
|
# Other
|
||||||
|
project_name=Flan
|
@ -8,7 +8,7 @@
|
|||||||
"Flemmli97"
|
"Flemmli97"
|
||||||
],
|
],
|
||||||
"contact": {
|
"contact": {
|
||||||
"homepage": "",
|
"homepage": "https://www.curseforge.com/minecraft/mc-mods/flan",
|
||||||
"sources": "https://github.com/Flemmli97/Flan"
|
"sources": "https://github.com/Flemmli97/Flan"
|
||||||
},
|
},
|
||||||
"license": "ARR",
|
"license": "ARR",
|
||||||
|
Loading…
Reference in New Issue
Block a user