Вопрос кэширование MiniMessage

Версия Minecraft
1.20.X

Maxos

Пользователь
Сообщения
4
в общем в чем суть. Каким способом лучше всего подставлять значения в плейсхолдеры минимесседжа, в закэшированном сообщении? у меня есть строка с плейсхолдером, но значения в сам плейсхолдер будут подставляться разные в ходе выполнения кода
 
Решение
Java:
MiniMessage.miniMessage().deserialize(
    "<red><placeholder>!",
    Placeholder.unparsed("placeholder", "value")
)
Какого-то дополнительного кеширования это не требует, это достаточно быстрая операция. Если в каком-то месте это станет бутылочным горлышком, там и надо оптимизировать
You must be logged in to see this link.
Разве что через replaceText какой-нибудь. А вообще, MiniMessage подставляет плейсхолдеры только на этапе десериализации вроде как. Проще какую-нибудь обертку сделать для сборки компонентов из строки и карты плейсхолдеров
 
Java:
MiniMessage.miniMessage().deserialize(
    "<red><placeholder>!",
    Placeholder.unparsed("placeholder", "value")
)
Какого-то дополнительного кеширования это не требует, это достаточно быстрая операция. Если в каком-то месте это станет бутылочным горлышком, там и надо оптимизировать
You must be logged in to see this link.
 
Последнее редактирование:
Если ты задумался о кэшировании, то скорее всего у тебя есть сложные методы, которые ты используешь для плейсхолдеров и вставляешь их в MiniMessage с помощью их тегов, например проверку на мат через регулярку, для одинаковых строк нет смысла это делать каждый раз. Тебе нужно кэшировать именно результат своих методов, которые возвращают строки. А сам MiniMessage кэшировать смысла нет, как написали выше
 
Последнее редактирование:
Назад
Сверху Снизу