Skip to content

Commit

Permalink
feat(game.chat): methods for creating copyable text
Browse files Browse the repository at this point in the history
  • Loading branch information
WakelessSloth56 committed Oct 26, 2022
1 parent 81dc08b commit db391c8
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/main/java/org/auioc/mcmod/arnicalib/game/chat/TextUtils.java
@@ -1,8 +1,11 @@
package org.auioc.mcmod.arnicalib.game.chat;

import java.util.List;
import net.minecraft.network.chat.ClickEvent;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.HoverEvent;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.chat.Style;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;

Expand All @@ -27,6 +30,19 @@ public static TranslatableComponent translatable(String key, Object... arguments
}


public static Style copyable(Style style, String c) {
return style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, c)).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, translatable("chat.copy.click")));
}

public static MutableComponent copyable(Component c) {
return TextUtils.empty().append(c).withStyle((s) -> copyable(s, c.getString()));
}

public static MutableComponent copyable(String c) {
return copyable(TextUtils.literal(c));
}


public static MutableComponent join(List<Component> texts, Component separator) {
var r = empty();
if (texts.isEmpty()) return r;
Expand Down

0 comments on commit db391c8

Please sign in to comment.