Skip to content

🏷️ APIとデータ駆動型タグ拡張

📌 リポジトリソースコードに関する免責事項: このWikiのドキュメントはリポジトリ内の現在のソースコードの状態を反映しており、CurseForgeおよびModrinthでの公式リリース前の最新コミットや開発中の機能が含まれている場合があります。


📦 データ駆動型タグ体系

データパック制作者やアドオン開発者は、Javaコードを書くことなくマシンやモブの挙動を自由自在にカスタマイズ可能です。


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 ルールによって制御されるモブを指定します。
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.