Hearty

Quick rating

Community listing page, reviews here may not be monitored by the author.

Hearty

By ZygZagGamingOwner

No reviews yet

A client-sided Forge mod that provides several features that change how health is displayed in Minecraft.

Mod Loaders
Minecraft

About

Description

A client-sided Forge mod that provides several features that change how health is displayed in Minecraft.

Features

Half-container hearts

If the player has an odd max health, the final heart will display a half-container as opposed to a full one.

Half-heart merging

If the player has an odd max health, the final half heart will be completed with the first absorption half-heart.

Double hearts (configurable)

Makes each heart contain 1hp instead of 2hp.

Heart display priority

Makes withered hearts display when the player has both wither and poison.

Custom hearts

See the github's README.md for more info.

Hearty

A NeoForge mod that provides several features that change how health is displayed in Minecraft.

For modders

Adding to existing Gradle project

Insert the following block inside your build.gradle or build.gradle.kts's repositories block.

maven {
    name = "GPR for Hearty"
    url = uri("https://maven.pkg.github.com/zygzaggaming/hearty")
    credentials {
        username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
        password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
    }
}

Then, configure the gpr.user and gpr.key Gradle properties to your GitHub username and a personal access token with read:packages access. It is HIGHLY recommended to keep these properties in your global gradle.properties file (<user>\.gradle\gradle.properties) rather than your project's gradle.properties.

If you use GitHub Actions to build your mod, the fallback GITHUB_ACTOR and GITHUB_TOKEN environment variables are already set, so don't worry about remote builds failing from lack of authentication.

Then, in the same build.gradle(.kts), add the following line in your dependencies block:

localRuntime(variantOf(libs.hearty) { classifier("all") })

And in your gradle\libs.versions.toml:

[versions]
hearty = { strictly = "[<min-version>,<max-version>)", prefer = "latest.release" }

[libraries]
hearty = { id = "io.github.zygzaggaming.hearty.mod", name = "hearty", version.ref = "hearty" }

Using the API directly

Importing the Hearty mod directly also imports the API by extension. However, if you want your mod to interact with Hearty without packaging it as a dependency, you'll need to import the API directly.

To import the API, add this block in the same place as above:

maven {
    name = "GPR for Hearty"
    url = uri("https://maven.pkg.github.com/zygzaggaming/hearty")
    credentials {
        username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
        password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
    }
}

Anywhere top-level in your build.gradle(.kts) add the line jarJar.enable() to enable Jar-in-Jar to package the API into your mod when it's built. build.gradle(.kts) dependencies:

jarJar(group: 'io.github.zygzaggaming.hearty.api', name: 'hearty-api', version: '[<min-version>, <max-version>)') {
    jarJar.pin(it, '<chosen-version>')
}
implementation libs.hearty.api

gradle\libs.versions.toml:

[versions]
hearty-api = { strictly = "[<min-version>,<max-version>)", prefer = "latest.release" }

[libraries]
hearty-api = { id = "io.github.zygzaggaming.hearty.api", name = "hearty-api", version.ref = "hearty-api" }