Posted December 22, 20195 yr I have created an item that reads the tooltip/lore defined in a language file, and it does that once every minute because it is subscribed to the ClientTickEvent. But I wondered if there was an event for when the language is being changed so I could read the file again instead of every minute. Or is there something else that would do that and I just need to hook it up to that?
December 22, 20195 yr Author You mean like that? (I am using Kotlin) override fun addInformation(stack: ItemStack, worldIn: World?, tooltip: MutableList<ITextComponent>, flagIn: ITooltipFlag) { if (worldIn != null && worldIn.isRemote) { var i = 0 val list = emptyList<ITextComponent>().toMutableList() while (true) { val translationKey = "${this.translationKey}.lore$i" val tmp = I18n.format(translationKey) if (tmp == translationKey) break else { list.add(StringTextComponent(tmp).setStyle(Style().setColor(TextFormatting.GRAY))) i++ } } tooltip.addAll(list) } } I thought it was bad for performance. And I later want to be able to set styles in a language file and if it has to figure how to style the tooltip and also read the file every rendered frame too, will that not make any issues? Or does I18n load them in?
December 22, 20195 yr Author I guess I should have checked earlier. It does save locale data in a list.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.