Commit Graph

3 Commits

Author SHA1 Message Date
Claude
464762589c Add player-join hook to signal mod presence to datapack (v1.1.0)
ChatAnswerCore.onPlayerJoin 이 storage chat_answer:status active=1b 를 set.
Fabric 측은 ServerPlayConnectionEvents.JOIN, NeoForge 측은 PlayerLoggedInEvent
에서 호출. 데이터팩이 mq:load 단계에서 0b 로 clear 해 두므로, 모드가 빠진
환경에선 이 hook 이 일어나지 않아 0b 가 유지되고, 모드가 있으면 첫 로그인
직후 1b 로 갱신되어 데이터팩이 활성 상태를 분기할 수 있다.
2026-05-13 22:20:00 +09:00
Claude
2c35e77b8b Restructure into multi-loader (Fabric + NeoForge) with merged jar
common 디렉토리에 로더 비종속 ChatAnswerCore 를 두고, fabric/ 과 neoforge/
서브프로젝트가 각자 진입점만 갖도록 분리. 두 결과물을 하나의 jar 로 묶기 위해
Fabric 측 common 클래스를 Shadow 의 relocate 로 kr.tkrmagid.chatanswer.fabric.core
패키지로 옮긴다 (Fabric 은 intermediary, NeoForge 는 Mojang 매핑이라 같은 클래스
경로에 그대로 두면 충돌). 루트의 mergedJar 태스크가 :fabric:relocatedJar 와
:neoforge:jar 를 합쳐서 build/libs/chat_answer-<version>-all.jar 생성.

산출물: 9.9KB 통합 jar 가 Fabric / NeoForge 양쪽에서 작동.
2026-05-13 22:10:30 +09:00
Claude
3e59d08db1 Initial Fabric mod for chat-based quiz answer submission
Hooks ServerMessageEvents.ALLOW_CHAT_MESSAGE to intercept chat while the
music_quiz datapack is in answer-accepting state (init=5 on objective
'main'). Intercepted messages are forwarded to mq:answer/submit with the
player's UUID context and the chat broadcast is suppressed so the answer
stays hidden from other players. Outside that state chat passes through
normally.

Target: Minecraft 1.21.6+, Java 21, Fabric Loader 0.16+, Fabric API.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 21:44:16 +09:00