21 lines
976 B
Java
21 lines
976 B
Java
package net.minecraft.server.packs;
|
|
|
|
import com.mojang.brigadier.arguments.StringArgumentType;
|
|
import java.util.Optional;
|
|
import net.minecraft.ChatFormatting;
|
|
import net.minecraft.network.chat.Component;
|
|
import net.minecraft.network.chat.ComponentUtils;
|
|
import net.minecraft.network.chat.HoverEvent;
|
|
import net.minecraft.server.packs.repository.KnownPack;
|
|
import net.minecraft.server.packs.repository.PackSource;
|
|
|
|
public record PackLocationInfo(String id, Component title, PackSource source, Optional<KnownPack> knownPackInfo) {
|
|
public Component createChatLink(boolean enabled, Component text) {
|
|
return ComponentUtils.wrapInSquareBrackets(this.source.decorate(Component.literal(this.id)))
|
|
.withStyle(
|
|
style -> style.withColor(enabled ? ChatFormatting.GREEN : ChatFormatting.RED)
|
|
.withInsertion(StringArgumentType.escapeIfRequired(this.id))
|
|
.withHoverEvent(new HoverEvent.ShowText(Component.empty().append(this.title).append("\n").append(text)))
|
|
);
|
|
}
|
|
}
|