From 335baeeaefee8e42a69e04030079906582cf5e18 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+chomens@users.noreply.github.com> Date: Sun, 10 Aug 2025 17:19:11 +0700 Subject: [PATCH] refactor: fix ClickEvent deprecation --- .../custom_chat/CustomChatComponentRenderer.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/land/chipmunk/chipmunkmod/modules/custom_chat/CustomChatComponentRenderer.java b/src/main/java/land/chipmunk/chipmunkmod/modules/custom_chat/CustomChatComponentRenderer.java index 8326d7a..4596b81 100644 --- a/src/main/java/land/chipmunk/chipmunkmod/modules/custom_chat/CustomChatComponentRenderer.java +++ b/src/main/java/land/chipmunk/chipmunkmod/modules/custom_chat/CustomChatComponentRenderer.java @@ -74,13 +74,19 @@ public final class CustomChatComponentRenderer extends TranslatableComponentRend private ClickEvent mergeClickEvent (final ClickEvent clickEvent, final CustomChatContext context) { if (clickEvent == null) return null; - final ClickEvent.Payload payload = clickEvent.payload(); - if (!(payload instanceof final ClickEvent.Payload.Text text)) return clickEvent; + if (!clickEvent.action().supports(ClickEvent.Payload.string(""))) return clickEvent; - final String arg = context.args().get(text.value()); + final String value = ((ClickEvent.Payload.Text) clickEvent.payload()).value(); + final String arg = context.args().get(value); if (arg == null) return clickEvent; - // TODO: figure out solution for deprecation warning in the future - return ClickEvent.clickEvent(clickEvent.action(), arg); + return switch (clickEvent.action()) { + case OPEN_URL -> ClickEvent.openUrl(arg); + case OPEN_FILE -> ClickEvent.openFile(arg); + case RUN_COMMAND -> ClickEvent.runCommand(arg); + case SUGGEST_COMMAND -> ClickEvent.suggestCommand(arg); + case COPY_TO_CLIPBOARD -> ClickEvent.copyToClipboard(arg); + default -> clickEvent; + }; } }