Here's the code:
https://github.com/vuciv/animal-crossing-llm-modI was intrigued as to how it would intercept a conversation and then pause the game for long enough for the LLM to return a response, so I used https://gitingest.com/vuciv/animal-crossing-llm-mod to dump the 40,000 tokens into Claude Opus 4.1 and asked it: https://claude.ai/share/66c52dc8-9ebd-4db7-8159-8f694e06b381
The trick is the watch_dialogue() function which polls every 0.1 seconds and then answers with placeholder text: https://github.com/vuciv/animal-crossing-llm-mod/blob/cc9b6b...
loading_text = ".<Pause [0A]>.<Pause [0A]>.<Pause [0A]><Press A><Clear Text>"
write_dialogue_to_address(loading_text, addr)
So the user gets a "press A to continue" button and hopefully the LLM has finished by the time they press that button.