🧰 Intro
Sanity integration for Kubejs. Add/Modify Sanity's feature so the kubejs users can has more control on Sanity.
🔧 Completed Features
1. Event in KJS
SanityEvents.change(event => {
// Access old and new sanity values
let oldSanity = event.getPreviousSanity();
let newSanity = event.getSanity();
// Example: Apply effects or trigger custom logic
if (newSanity <= 20) {
event.getEntity().addPotionEffect('minecraft:nausea', 200, 1);
}
});
SanityEvents.indicatorRender(event => {
event.cancel();
})
2. Sanity Manipulation Methods
The integration provides several methods to manage sanity values effectively:
getSanity(): Returns the current sanity value.
getPreviousSanity(): Returns the sanity value before the change.
setSanity(value): Sets the player's sanity to a specific value (0-100).
addSanity(value): Increases the player's sanity by the specified amount.
player.getSanity(): get Player's sanity directly.
3. Utility Functions
Additional utility functions are provided to handle mathematical operations related to sanity:
clampNorm(value): Normalizes a number to a value between 0 and 1.
unclampNorm(normalizedValue): Converts a normalized value back to a readable number.
approximation(value, n): Truncates a number to n significant decimal places, useful for precise sanity calculations.
🔍 Areas for Improvement
Adding more events to allow complete modification and controll of Sanity's tickPlayer.
Adding more events about render to allow better controll on render effects.
Additional Sanity Sources: Consider expanding sanity manipulation to include more sources or conditions, such as environmental effects or interactions with specific mobs.
🔄 Future Enhancements
Add Passive source of Sanity (Might support Hot reload?).
Able to modify visible rules based on player's sanity.
By incorporating these features and potential enhancements, the Sanity integration for KubeJS aims to offer a richer and more interactive modding experience for both developers and players.
> Please Join our Discord server if you have any quesion.
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.19.2, 1.20.1
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on CurseForge — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
KubeJS Sanity is a free Minecraft Java mod. Compatible with Minecraft 1.19.2, 1.20.1. Downloaded 214,557 times (via CurseForge). Download it and open it directly in the game.