Commit Graph

4 Commits

Author SHA1 Message Date
Claude
fd9d17e818 v1.1.1 — make mod load on client (single-player) too
fabric.mod.json 의 environment 가 "server" 라 client 설치에선 Fabric Loader
가 모드를 건너뛰어 ModMenu 에 안 나타나는 문제. "*" 로 바꿔서 client (싱글
플레이 integrated server 포함) + dedicated server 양쪽에서 로드되게 함.
NeoForge 쪽도 side = "BOTH" 로 변경. 실제 로직은 변함없이 server 측 채팅
이벤트만 hook 하므로 client 단독에서는 no-op.
2026-05-14 00:46:11 +09:00
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