Compare commits

...
This repository has been archived on 2024-07-25. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.

15 commits
main ... 1.20.1

5 changed files with 66 additions and 37 deletions

View file

@ -2,8 +2,9 @@ plugins {
id 'eclipse' id 'eclipse'
id 'idea' id 'idea'
id 'maven-publish' id 'maven-publish'
id 'net.minecraftforge.gradle' version '[6.0,6.2)' id 'net.neoforged.gradle' version '[6.0.18,6.2)'
id 'org.parchmentmc.librarian.forgegradle' version '1.+' id 'org.spongepowered.mixin' version '0.7.+'
//id 'org.parchmentmc.librarian.forgegradle' version '1.+'
} }
version = mod_version version = mod_version
@ -13,6 +14,11 @@ base {
archivesName = mod_id archivesName = mod_id
} }
java {
withSourcesJar()
withJavadocJar()
}
// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
java.toolchain.languageVersion = JavaLanguageVersion.of(17) java.toolchain.languageVersion = JavaLanguageVersion.of(17)
@ -61,7 +67,7 @@ minecraft {
runs { runs {
// applies to all the run configs below // applies to all the run configs below
configureEach { configureEach {
workingDirectory project.file('run') workingDirectory project.file("run/${it.name}")
// Recommended logging data for a userdev environment // Recommended logging data for a userdev environment
// The markers can be added/remove as needed separated by commas. // The markers can be added/remove as needed separated by commas.
@ -100,13 +106,14 @@ minecraft {
} }
data { data {
// example of overriding the workingDirectory set in configureEach above // example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
workingDirectory project.file('run-data') // workingDirectory project.file('run-data')
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. // Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
} }
} }
} }
// Include resources generated by data generators. // Include resources generated by data generators.
@ -150,7 +157,8 @@ dependencies {
// The "userdev" classifier will be requested and setup by ForgeGradle. // The "userdev" classifier will be requested and setup by ForgeGradle.
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"], // If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository. // then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" minecraft "net.neoforged:forge:${minecraft_version}-${neo_version}"
implementation fg.deobf("dev.zontreck:LibZontreckMod:${libzontreck}") implementation fg.deobf("dev.zontreck:LibZontreckMod:${libzontreck}")
// Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings // Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings
@ -173,13 +181,13 @@ dependencies {
// A missing property will result in an error. Properties are expanded using ${} Groovy notation. // 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. // 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 // See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
tasks.named('processResources', ProcessResources).configure { tasks.withType(ProcessResources).configureEach {
var replaceProperties = [ var replaceProperties = [
minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range, minecraft_version : minecraft_version, minecraft_version_range: minecraft_version_range,
forge_version: forge_version, forge_version_range: forge_version_range, neo_version : neo_version, neo_version_range: neo_version_range,
loader_version_range: loader_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_id : mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version,
mod_authors: mod_authors, mod_description: mod_description, mod_authors : mod_authors, mod_description: mod_description, pack_format_number: pack_format_number,
] ]
inputs.properties replaceProperties inputs.properties replaceProperties
@ -188,6 +196,7 @@ tasks.named('processResources', ProcessResources).configure {
} }
} }
// Example for how to get properties into the manifest for reading at runtime. // Example for how to get properties into the manifest for reading at runtime.
tasks.named('jar', Jar).configure { tasks.named('jar', Jar).configure {
manifest { manifest {
@ -211,20 +220,31 @@ tasks.named('jar', Jar).configure {
// dependsOn 'reobfJar' // dependsOn 'reobfJar'
// } // }
// Example configuration to allow publishing using the maven-publish plugin
def MAVEN_PASSWORD_PROPERTY = "AriasCreationsMavenPassword"
publishing { publishing {
publications { publications {
register('mavenJava', MavenPublication) { mavenJava(MavenPublication) {
artifact jar artifact jar
artifact sourcesJar
artifact javadocJar
} }
} }
repositories { repositories {
maven { maven {
url "file://${project.projectDir}/mcmodsrepo" url = "https://maven.zontreck.com/repository/zontreck"
name = "ariascreations"
if (project.findProperty(MAVEN_PASSWORD_PROPERTY) != null) {
credentials {
username = "admin"
password = project.findProperty(MAVEN_PASSWORD_PROPERTY)
}
}
} }
} }
} }
tasks.withType(JavaCompile).configureEach { tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
} }

View file

@ -3,21 +3,19 @@
org.gradle.jvmargs=-Xmx3G org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false org.gradle.daemon=false
libzontreck=1.10.011524.0045 libzontreck=1201.13.043024.0404
## Environment Properties ## Environment Properties
# The Minecraft version must agree with the Forge version to get a valid artifact # The Minecraft version must agree with the Forge version to get a valid artifact
minecraft_version=1.20.1 minecraft_version=1.20.1
# The Minecraft version range can use any release version of Minecraft as bounds.
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly minecraft_version_range=[1.20,1.21)
# as they do not follow standard versioning conventions. # The Neo version must agree with the Minecraft version to get a valid artifact
minecraft_version_range=[1.20.1,1.21) neo_version=47.1.65
# The Forge version must agree with the Minecraft version to get a valid artifact # The Neo version range can use any version of Neo as bounds or match the loader version range
forge_version=47.2.0 neo_version_range=[47.1,)
# The Forge version range can use any version of Forge as bounds or match the loader version range # The loader version range can only use the major version of Neo/FML as bounds
forge_version_range=[47,)
# The loader version range can only use the major version of Forge/FML as bounds
loader_version_range=[47,) loader_version_range=[47,)
# The mapping channel to use for mappings. # The mapping channel to use for mappings.
# The default set of supported mapping channels are ["official", "snapshot", "snapshot_nodoc", "stable", "stable_nodoc"]. # The default set of supported mapping channels are ["official", "snapshot", "snapshot_nodoc", "stable", "stable_nodoc"].
@ -33,10 +31,11 @@ loader_version_range=[47,)
# #
# Parchment is an unofficial project maintained by ParchmentMC, separate from Minecraft Forge. # Parchment is an unofficial project maintained by ParchmentMC, separate from Minecraft Forge.
# Additional setup is needed to use their mappings, see https://parchmentmc.org/docs/getting-started # Additional setup is needed to use their mappings, see https://parchmentmc.org/docs/getting-started
mapping_channel=parchment mapping_channel=official
# The mapping version to query from the mapping channel. # The mapping version to query from the mapping channel.
# This must match the format required by the mapping channel. # This must match the format required by the mapping channel.
mapping_version=2023.09.03-1.20.1 mapping_version=1.20.1
## Mod Properties ## Mod Properties
@ -49,7 +48,7 @@ mod_name=WatchMyDurability
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=GPLv3 mod_license=GPLv3
# The mod version. See https://semver.org/ # The mod version. See https://semver.org/
mod_version=1.2.011524.0055 mod_version=1201.2.042324.1850
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources. # This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html # See https://maven.apache.org/guides/mini/guide-naming-conventions.html
@ -58,3 +57,6 @@ mod_group_id=dev.zontreck
mod_authors=zontreck mod_authors=zontreck
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list. # The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
mod_description=Watches the durability tools, and or your hunger. mod_description=Watches the durability tools, and or your hunger.
# Pack version - this changes each minecraft release, in general.
pack_format_number=15

View file

@ -17,6 +17,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.User; import net.minecraft.client.User;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.ModLoadingContext;
@ -95,7 +96,6 @@ public class WatchMyDurability
//LOGGER.info("HELLO FROM CLIENT SETUP"); //LOGGER.info("HELLO FROM CLIENT SETUP");
//LOGGER.info("MINECRAFT NAME >> {}", Minecraft.getInstance().getUser().getName()); //LOGGER.info("MINECRAFT NAME >> {}", Minecraft.getInstance().getUser().getName());
WatchMyDurability.CurrentUser = Minecraft.getInstance().getUser(); WatchMyDurability.CurrentUser = Minecraft.getInstance().getUser();
DelayedExecutorService.setup();
//time.schedule(new CheckInventory(), //time.schedule(new CheckInventory(),
@ -111,6 +111,7 @@ public class WatchMyDurability
@Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
public static class ClientEvents public static class ClientEvents
{ {
static int TICKS=0;
@SubscribeEvent @SubscribeEvent
public static void onJoin(ClientPlayerNetworkEvent.LoggingIn event){ public static void onJoin(ClientPlayerNetworkEvent.LoggingIn event){
@ -118,11 +119,18 @@ public class WatchMyDurability
//LOGGER.info("PLAYER LOGGED IN"); //LOGGER.info("PLAYER LOGGED IN");
LOGGER.info(": : : PLAYER LOGGED IN : : :"); LOGGER.info(": : : PLAYER LOGGED IN : : :");
WatchMyDurability.isInGame=true; WatchMyDurability.isInGame=true;
DelayedExecutorService.start(); }
DelayedExecutorService.getInstance().scheduleRepeating(CheckInventory.getInstance(), WMDClientConfig.TimerVal.get()); @SubscribeEvent
DelayedExecutorService.getInstance().scheduleRepeating(CheckHealth.getInstance(), WMDClientConfig.TimerVal.get()); public static void onTick(TickEvent.ClientTickEvent ev)
DelayedExecutorService.getInstance().scheduleRepeating(CheckHunger.getInstance(), WMDClientConfig.TimerVal.get()); {
if(ev.phase == TickEvent.Phase.END && TICKS >= 40 && isInGame)
{
TICKS=0;
CheckInventory.getInstance().run();
CheckHealth.getInstance().run();
CheckHunger.getInstance().run();
}else TICKS++;
} }
@SubscribeEvent @SubscribeEvent
@ -131,7 +139,6 @@ public class WatchMyDurability
LOGGER.info(": : : PLAYER LOGGED OUT : : :"); LOGGER.info(": : : PLAYER LOGGED OUT : : :");
WatchMyDurability.isInGame=false; WatchMyDurability.isInGame=false;
WatchMyDurability.WMD_SERVER_AVAILABLE=false; WatchMyDurability.WMD_SERVER_AVAILABLE=false;
DelayedExecutorService.stop();
} }
@SubscribeEvent @SubscribeEvent

View file

@ -47,7 +47,7 @@ description='''${mod_description}'''
# Does this dependency have to exist - if not, ordering below must be specified # Does this dependency have to exist - if not, ordering below must be specified
mandatory=true #mandatory mandatory=true #mandatory
# The version range of the dependency # The version range of the dependency
versionRange="${forge_version_range}" #mandatory versionRange="${neo_version_range}" #mandatory
# An ordering relationship for the dependency - BEFORE or AFTER required if the dependency is not mandatory # An ordering relationship for the dependency - BEFORE or AFTER required if the dependency is not mandatory
# BEFORE - This mod is loaded BEFORE the dependency # BEFORE - This mod is loaded BEFORE the dependency
# AFTER - This mod is loaded AFTER the dependency # AFTER - This mod is loaded AFTER the dependency
@ -66,7 +66,7 @@ description='''${mod_description}'''
[[dependencies.${mod_id}]] [[dependencies.${mod_id}]]
modId="libzontreck" modId="libzontreck"
mandatory=true mandatory=true
versionRange="[1.10,1.11)" versionRange="[1201.13,1201.14)"
ordering="NONE" ordering="NONE"
side="BOTH" side="BOTH"
# Features are specific properties of the game environment, that you may want to declare you require. This example declares # Features are specific properties of the game environment, that you may want to declare you require. This example declares

View file

@ -3,6 +3,6 @@
"description": { "description": {
"text": "${mod_id} resources" "text": "${mod_id} resources"
}, },
"pack_format": 15 "pack_format": ${pack_format_number}
} }
} }