🏷️ API et Balises de Données Personnalisables
📌 Avertissement concernant le code source du dépôt : La documentation de ce Wiki reflète l'état actuel du code source dans le dépôt, qui peut inclure des commits récents non publiés ou des fonctionnalités en cours de développement avant les versions publiques sur CurseForge et Modrinth.
📦 Balises de Données (Datapacks)
Les créateurs de datapacks et d'addons peuvent personnaliser les machines et créatures sans coder en Java.
1. Balise des machines accélérées (#truesleep:accelerated_machines)
- Chemin du fichier :
data/truesleep/tags/block_entity_type/accelerated_machines.json - Rôle : Définit les entités de bloc bénéficiant de l'accélération multi-tick.
json
{
"replace": false,
"values": [
"minecraft:furnace",
"minecraft:blast_furnace",
"minecraft:smoker",
"minecraft:brewing_stand",
"minecraft:campfire",
"minecraft:soul_campfire",
"minecraft:beehive",
"mymod:custom_smelter",
"mymod:alloy_forge"
]
}2. Balise des créatures laborieuses (#truesleep:worker_mobs)
- Chemin du fichier :
data/truesleep/tags/entity_type/worker_mobs.json - Rôle : Définit les entités régies par la règle
truesleep:freeze_workersplutôt quefreeze_mobs.
json
{
"replace": false,
"values": [
"minecraft:allay",
"minecraft:villager",
"mymod:goblin_trader"
]
}💻 Hooks Java pour Développeurs
1. Accès Statique à TimeWarpManager
java
import net.vanillaoutsider.truesleep.logic.TimeWarpManager;
// Check if world time is currently accelerating
boolean isWarping = TimeWarpManager.get().isWarping();
// Get current time stride multiplier
long stride = TimeWarpManager.get().getStride();2. Interface de Progression des Effets de Potions
java
import net.vanillaoutsider.truesleep.MobEffectInstanceExtensions;
MobEffectInstance effect = mob.getEffect(MobEffects.REGENERATION);
if (effect != null) {
((MobEffectInstanceExtensions) effect).truesleep$ageEffect(skipTicks);
}