diff --git a/src/main/kotlin/net/axay/kspigot/items/ItemStackUtils.kt b/src/main/kotlin/net/axay/kspigot/items/ItemStackUtils.kt new file mode 100644 index 00000000..000ae46b --- /dev/null +++ b/src/main/kotlin/net/axay/kspigot/items/ItemStackUtils.kt @@ -0,0 +1,36 @@ +package net.axay.kspigot.items + +import net.axay.kspigot.chat.KColors +import net.md_5.bungee.api.ChatColor + +fun String.toLoreList(lineLength: Int = 40, lineColor: ChatColor = KColors.RESET): List { + + val loreList = ArrayList() + + val lineBuilder = StringBuilder() + + fun submitLine() { + loreList += "$lineColor$lineBuilder" + lineBuilder.clear() + } + + fun addWord(word: String) { + + if (lineBuilder.length + word.length > lineLength) + submitLine() + + if (lineBuilder.isNotEmpty()) + lineBuilder.append(" ") + + lineBuilder.append(word) + + } + + split(" ").forEach { addWord(it) } + + if (lineBuilder.isNotEmpty()) + submitLine() + + return loreList + +} \ No newline at end of file