PaperMC / PaperMC/Folia

Conversation API not working

Open
#216 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: feature version: 1.21.11
Dominant language
Shell
Stars
4.4k
Forks
623
PR merge metrics
No merged PRs in 30d

Description

Expected behavior

The Conversation API working correctly.

Observed/Actual behavior

This bug already has been reported under: https://github.com/PaperMC/Folia/issues/24

After nearly a year I'd like to ask if there are any news regarding the broken Conversation API of Folia. Beginning a new conversation with a player results in the chat being broken. No message can be send anymore upon restarting the server.

[17:40:57 ERROR]: Chain link failed, continuing to next one
java.lang.UnsupportedOperationException: null
        at net.minecraft.server.network.ServerGamePacketListenerImpl.broadcastChatMessage(ServerGamePacketListenerImpl.java:2492) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChat$13(ServerGamePacketListenerImpl.java:2221) ~[?:?]
        at net.minecraft.util.FutureChain.lambda$append$1(FutureChain.java:27) ~[folia-1.20.4.jar:git-Folia-"25ee657"]
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Steps/models to reproduce
Player player = getPlayer();

player.beginConversation(new Conversation(SimplePlugin.getInstance(), player, new ValidatingPrompt() {

	@Override
	public String getPromptText(ConversationContext context) {
		context.getForWhom().sendRawMessage("Dopice");

		return "Type anything";
	}

	@Override
	protected boolean isInputValid(ConversationContext context, String input) {
		return false;
	}

	@Override
	protected Prompt acceptValidatedInput(ConversationContext context, String input) {
		return Prompt.END_OF_CONVERSATION;
	}
}));
Plugin and Datapack List

No plugins are installed except mine which uses the Conversation API.

Folia version

This server is running Folia version git-Folia-"25ee657" (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 25ee657)

Other

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the earlier report in Folia issue #24 and reproduce the Conversation API example from this issue on Folia 1.20.4. Trace the chat failure from ServerGamePacketListenerImpl.broadcastChatMessage and the UnsupportedOperationException. Done means a player can begin a conversation, send input, and continue chatting without the reported failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.