🏷️ API & Datengesteuerte Tags
📌 Hinweis zum Quellcode des Repositorys: Die Dokumentation in diesem Wiki spiegelt den aktuellen Quellcode-Zustand im Repository wider, der neuere, unveröffentlichte Commits oder Entwicklungsfunktionen vor den öffentlichen Release-Builds auf CurseForge und Modrinth enthalten kann.
📦 Datengesteuerte Tags (Datapacks)
Entwickler von Datapacks und Addon-Mods können Maschinen- und Mob-Verhalten anpassen, ohne Java-Code zu schreiben.
1. Tag für beschleunigte Maschinen (#truesleep:accelerated_machines)
- Dateipfad:
data/truesleep/tags/block_entity_type/accelerated_machines.json - Zweck: Deklariert Blockentitäten, die während des Schlafs Multi-Ticks erhalten.
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. Tag für arbeitende Mobs (#truesleep:worker_mobs)
- Dateipfad:
data/truesleep/tags/entity_type/worker_mobs.json - Zweck: Deklariert Entitäten, die unter
truesleep:freeze_workersstattfreeze_mobsfallen.
json
{
"replace": false,
"values": [
"minecraft:allay",
"minecraft:villager",
"mymod:goblin_trader"
]
}💻 Java-Hooks für Entwickler
1. Statischer TimeWarpManager-Zugriff
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. Schnittstelle für Trankeffekt-Progression
java
import net.vanillaoutsider.truesleep.MobEffectInstanceExtensions;
MobEffectInstance effect = mob.getEffect(MobEffects.REGENERATION);
if (effect != null) {
((MobEffectInstanceExtensions) effect).truesleep$ageEffect(skipTicks);
}