Skip to content

🏷️ API 與資料驅動標籤擴充

📌 程式碼儲存庫原始碼聲明:本 Wiki 中的文件反映了程式碼儲存庫目前的最新原始碼狀態,可能包含尚未在 CurseForge 和 Modrinth 上發布的開發中功能或最新提交。


📦 資料驅動標籤體系

資料包作者與附屬模組開發者無需編寫 Java 程式碼,即可深度自訂 True Sleep 的機器與生物行為。


1. 加速機器標籤 (#truesleep:accelerated_machines)

  • 標籤檔案路徑data/truesleep/tags/block_entity_type/accelerated_machines.json
  • 核心作用:宣告在睡眠曲速推進期間獲得多倍 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. 工作生物標籤 (#truesleep:worker_mobs)

  • 標籤檔案路徑data/truesleep/tags/entity_type/worker_mobs.json
  • 核心作用:宣告受 truesleep:freeze_workers 遊戲規則管轄的生物型別,而非受制於全域 freeze_mobs
json
{
  "replace": false,
  "values": [
    "minecraft:allay",
    "minecraft:villager",
    "mymod:goblin_trader"
  ]
}

💻 開發者 Java 程式碼掛鉤

1. 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. 藥水狀態效果老化推進介面

java
import net.vanillaoutsider.truesleep.MobEffectInstanceExtensions;

MobEffectInstance effect = mob.getEffect(MobEffects.REGENERATION);
if (effect != null) {
    ((MobEffectInstanceExtensions) effect).truesleep$ageEffect(skipTicks);
}

Official documentation & web portal for Dasik Igaijinn mods.