Skip to content

🏷️ API 및 데이터 기반 태그 확장

📌 저장소 소스 코드 고지 사항: 이 위키의 문서는 CurseForge 및 Modrinth의 공개 릴리스 빌드에 앞서 최근 릴리스되지 않은 커밋 또는 개발 기능을 포함할 수 있는 저장소의 현재 소스 코드 상태를 반영합니다.


📦 데이터 기반 태그 시스템

데이터팩 제작자 및 애드온 모드 개발자는 Java 코드를 작성하지 않고도 기계와 몹의 동작을 세밀히 맞춤 설정할 수 있습니다.


1. 가속 지원 기계 태그 (#truesleep:accelerated_machines)

  • 태그 파일 경로: data/truesleep/tags/block_entity_type/accelerated_machines.json
  • 핵심 목적: 수면 중 다중 틱 가속을 적용받을 블록 엔티티 유형을 선언합니다.
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
  • 핵심 목적: 전체 freeze_mobs 대신 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.