From e366be285946d80a33ca0b0177dad6cfeeb7d2ae Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 25 Aug 2021 17:28:54 +0100 Subject: [PATCH] Fixed line wrapping --- .../com/willfp/ecoskills/skills/SkillGUI.kt | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt index 00a0c3a..2ee67b9 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoskills/skills/SkillGUI.kt @@ -68,17 +68,26 @@ class SkillGUI( lore.addAll(skillSpecificIndex, skill.getGUILore(player)) } - val wrappedLore = ArrayList() + val wrappedLore = mutableListOf() + + for (line in lore) { + val whitespaceLen = line.length - line.trim().length + val whitespace = " ".repeat(whitespaceLen) + val wrapped = WordUtils.wrap( + line, + plugin.configYml.getInt("gui.line-wrap"), + "\n${plugin.langYml.getString("line-wrap-color")}", false + ).split("\n").toMutableList() + + if (wrapped.size > 1) { + wrapped.replaceAll { "$whitespace$it" } + } - for (s in lore) { wrappedLore.addAll( - WordUtils.wrap( - s, - plugin.configYml.getInt("gui.line-wrap"), - "\n${plugin.langYml.getString("line-wrap-color")}", false - ).split("\\r?\\n") + wrapped ) } + wrappedLore }.build() }.onLeftClick { event, _, _ -> @@ -249,13 +258,21 @@ class SkillGUI( val wrappedLore = ArrayList() - for (s in lore) { + for (line in lore) { + val whitespaceLen = line.length - line.trim().length + val whitespace = " ".repeat(whitespaceLen) + val wrapped = WordUtils.wrap( + line, + plugin.configYml.getInt("gui.line-wrap"), + "\n${plugin.langYml.getString("line-wrap-color")}", false + ).split("\n").toMutableList() + + if (wrapped.size > 1) { + wrapped.replaceAll { "$whitespace$it" } + } + wrappedLore.addAll( - WordUtils.wrap( - s, - plugin.configYml.getInt("gui.line-wrap"), - "\n${plugin.langYml.getString("line-wrap-color")}", false - ).split("\\r?\\n") + wrapped ) }