Run the chat callback on the main thread as expected (#9935)

This commit is contained in:
Jake Potrebic
2023-11-11 15:33:19 -08:00
parent 776cc1199a
commit bbd013be54

View File

@@ -1683,10 +1683,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- Component component = chatDecorator.decorate(source.getPlayer(), message.decoratedContent()); - Component component = chatDecorator.decorate(source.getPlayer(), message.decoratedContent());
- callback.accept(message.withUnsignedContent(component)); - callback.accept(message.withUnsignedContent(component));
+ // Paper start + // Paper start
+ CompletableFuture<ChatDecorator.Result> componentFuture = chatDecorator.decorate(source.getPlayer(), source, message.decoratedContent()); + source.getChatMessageChainer().append(executor -> {
+ componentFuture.thenAcceptAsync((result) -> { + CompletableFuture<ChatDecorator.Result> componentFuture = chatDecorator.decorate(source.getPlayer(), source, message.decoratedContent());
+ callback.accept(message.withUnsignedContent(result.component())); + return componentFuture.thenAcceptAsync((result) -> {
+ }, source.getServer().chatExecutor); + callback.accept(message.withUnsignedContent(result.component()));
+ }, executor);
+ });
+ // Paper end + // Paper end
} }