Skip to content

Commit

Permalink
General refactoring + fixes + update to 1.20.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Iru21 committed Oct 7, 2023
1 parent 7350b0e commit 2486787
Show file tree
Hide file tree
Showing 8 changed files with 110 additions and 68 deletions.
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

Adds an in-game overlay to display current and world time!

<img src="https://i.imgur.com/wdD2m6A.png" width=500>
[![Get it on Modrinth](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/mod/timedisplay)
[![Get it on GitHub](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3/assets/cozy/available/github_vector.svg)](https://github.com/Iru21/TimeDisplay)

---
Inspired by [minihud](https://github.com/maruohon/minihud)
![Screenshot showing edit world screen, with a copy button](https://i.imgur.com/wdD2m6A.png)

## Inspiration

- [MiniHUD](https://github.com/maruohon/minihud)
115 changes: 74 additions & 41 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,64 +1,97 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
val kotlinVersion: String by System.getProperties()
kotlin("jvm").version(kotlinVersion)
application
id("fabric-loom")
id("com.modrinth.minotaur") version "2.+"
}

val archives_base_name: String by project
base {
val archivesBaseName: String by project
archivesName.set(archivesBaseName)
archivesName.set(archives_base_name)
}

val modVersion: String by project
version = modVersion
val mavenGroup: String by project
group = mavenGroup
val mod_version: String by project
version = mod_version
val maven_group: String by project
group = maven_group

val minecraft_version: String by project
val loader_version: String by project
val fabric_kotlin_version: String by project

repositories {
mavenCentral()
maven(url = "https://maven.shedaniel.me")
maven(url = "https://maven.terraformersmc.com/releases/")
}

dependencies {
val minecraftVersion: String by project
minecraft("com.mojang:minecraft:$minecraftVersion")
val yarnMappings: String by project
mappings("net.fabricmc:yarn:$yarnMappings:v2")
val loaderVersion: String by project
modImplementation("net.fabricmc:fabric-loader:$loaderVersion")
val fabricVersion: String by project
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabricVersion")
val fabricKotlinVersion: String by project
modImplementation("net.fabricmc:fabric-language-kotlin:$fabricKotlinVersion")
val clothConfigVersion: String by project
modApi("me.shedaniel.cloth:cloth-config-fabric:$clothConfigVersion")
val modMenuVersion: String by project
modApi("com.terraformersmc:modmenu:$modMenuVersion")
minecraft("com.mojang:minecraft:$minecraft_version")

val yarn_mappings: String by project
mappings("net.fabricmc:yarn:$yarn_mappings:v2")

val fabric_version: String by project
modImplementation("net.fabricmc:fabric-loader:$loader_version")
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabric_version")
modImplementation("net.fabricmc:fabric-language-kotlin:$fabric_kotlin_version")

val cloth_config_version: String by project
modApi("me.shedaniel.cloth:cloth-config-fabric:$cloth_config_version")

val mod_menu_version: String by project
modApi("com.terraformersmc:modmenu:$mod_menu_version")
}

tasks {
val javaVersion = JavaVersion.VERSION_17
withType<JavaCompile> {
options.encoding = "UTF-8"
sourceCompatibility = javaVersion.toString()
targetCompatibility = javaVersion.toString()
options.release.set(javaVersion.toString().toInt())
}
withType<KotlinCompile> {
kotlinOptions { jvmTarget = javaVersion.toString() }
sourceCompatibility = javaVersion.toString()
targetCompatibility = javaVersion.toString()
jar {
from("LICENSE") {
rename { "${it}_${base.archivesName}"
}
}
}
jar { from("LICENSE") { rename { "${it}_${base.archivesName}" } } }

processResources {
inputs.property("version", project.version)
filesMatching("fabric.mod.json") { expand(mutableMapOf("version" to project.version)) }
filesMatching("fabric.mod.json") {
expand(
mapOf(
"mod_version" to mod_version,
"minecraft_version" to minecraft_version,
"loader_version" to loader_version,
"fabric_kotlin_version" to fabric_kotlin_version,
)
)
}
}
java {
toolchain { languageVersion.set(JavaLanguageVersion.of(javaVersion.toString())) }
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
withSourcesJar()

register<Exec>("createGitHubRelease") {
dependsOn(remapJar)

commandLine("git", "tag", "-a", "v${mod_version}", "-m", "Release v${mod_version}")
commandLine("git", "push", "--tags")

commandLine("gh", "release", "create", "v${mod_version}", "-F", "changelog.md", "-t", "v${mod_version}")
}

register("createReleases") {
dependsOn("createGitHubRelease")
dependsOn(modrinth)
dependsOn(modrinthSyncBody)
}
}

modrinth {
val version = mod_version

token.set(System.getenv("MODRINTH_TOKEN"))
projectId.set("timedisplay")
versionNumber.set(version)
versionType.set("release")
versionName.set("Time Display $mod_version")
uploadFile.set(tasks.remapJar as Any)
gameVersions.add(minecraft_version)
loaders.addAll("fabric", "quilt")
changelog.set(rootProject.file("changelog.md").readText())
syncBodyFrom.set(rootProject.file("README.md").readText())
}
28 changes: 16 additions & 12 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
kotlin.code.style=official
org.gradle.jvmargs = -Xmx1G
org.gradle.warning.mode = all

# Check these on https://fabricmc.net/develop/
minecraftVersion=1.20
yarnMappings=1.20+build.1
loaderVersion=0.14.21
minecraft_version=1.20.2
yarn_mappings=1.20.2+build.4
loader_version=0.14.22

#Fabric api
fabricVersion=0.83.0+1.20
loomVersion = 1.0-SNAPSHOT
fabric_version=0.89.3+1.20.2
loom_version = 1.4-SNAPSHOT

# Mod Properties
modVersion = 1.3.0
mavenGroup = me.iru
archivesBaseName = timedisplay
mod_version = 1.4.0
maven_group = me.iru
archives_base_name = timedisplay

# Kotlin
systemProp.kotlinVersion = 1.6.10
fabricKotlinVersion = 1.8.7+kotlin.1.7.22
systemProp.kotlinVersion = 1.9.10
fabric_kotlin_version = 1.10.10+kotlin.1.9.10

clothConfigVersion = 11.0.99
modMenuVersion = 7.0.1
cloth_config_version = 12.0.109
mod_menu_version = 8.0.0
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
4 changes: 2 additions & 2 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ pluginManagement {
gradlePluginPortal()
}
plugins {
val loomVersion: String by settings
id("fabric-loom").version(loomVersion)
val loom_version: String by settings
id("fabric-loom").version(loom_version)
val kotlinVersion: String by System.getProperties()
kotlin("jvm").version(kotlinVersion)
}
Expand Down
5 changes: 1 addition & 4 deletions src/main/kotlin/me/iru/timedisplay/TimeDisplay.kt
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ import org.lwjgl.glfw.GLFW

object TimeDisplay: ClientModInitializer {

private const val modName = "Time Display"
private const val version = "1.2.0"

val offset = 7.5f
val lines = mutableListOf<() -> String>()
lateinit var toggleKeyBinding: KeyBinding
Expand All @@ -31,7 +28,7 @@ object TimeDisplay: ClientModInitializer {
lateinit var config: TimeDisplayConfig

override fun onInitializeClient() {
println("[$modName] Enabling $version")
println("[Time Display] Enabling...")

AutoConfig.register(
TimeDisplayConfig::class.java
Expand Down
6 changes: 5 additions & 1 deletion src/main/kotlin/me/iru/timedisplay/TimeUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@ object TimeUtils {
val min = (dayTicks / 16.666666).toInt() % 60
val sec = (dayTicks / 0.277777).toInt() % 60

"Ingame Time (${String.format("%02d", hour)}:${String.format("%02d", min)}:${String.format("%02d", sec)})"
if(TimeDisplay.config.twelveClockMode) {
"Ingame Time (${String.format("%02d", hour % 12)}:${String.format("%02d", min)}:${String.format("%02d", sec)} ${if(hour > 12) "PM" else "AM"})"
} else {
"Ingame Time (${String.format("%02d", hour)}:${String.format("%02d", min)}:${String.format("%02d", sec)} )"
}
}

val getMinecraftDate: () -> String = {
Expand Down
8 changes: 4 additions & 4 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"id": "timedisplay",
"version": "${version}",
"version": "${mod_version}",
"name": "Time Display",
"description": "A quick way to show Minecraft/real time on screen!",
"authors": [
Expand All @@ -27,10 +27,10 @@
]
},
"depends": {
"fabricloader": ">=0.14.21",
"fabricloader": ">=${loader_version}",
"fabric": "*",
"fabric-language-kotlin": ">=1.9.5+kotlin.1.8.22",
"minecraft": ">=1.20",
"fabric-language-kotlin": ">=${fabric_kotlin_version}",
"minecraft": ">=${minecraft_version}",
"java": ">=17"
},
"custom": {
Expand Down

0 comments on commit 2486787

Please sign in to comment.