Download KubeJS Sanity — Minecraft Mods — ModStock

KubeJS Sanity

Active

Downloads

0

Last update

1 month ago
Client
Addons

🧰 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.

Project members
PickAID

PickAID