From 9c44dfa856e9f49182b217204f082b3f581c47f9 Mon Sep 17 00:00:00 2001 From: toxicity188 <114675706+toxicity188@users.noreply.github.com> Date: Fri, 3 Nov 2023 20:18:56 +0900 Subject: [PATCH] add tooltip interface --- .../questadder/api/mechanic/IDialog.java | 2 +- .../questadder/api/mechanic/Mechanic.java | 7 + .../api/mechanic/MechanicBlueprint.java | 8 + .../questadder/api/util/SoundData.java | 5 + .../CrazyAdvancementsAPI-1.0-SNAPSHOT.jar | Bin 91391 -> 0 bytes nms/v1_20_R2/shade/CrazyAdvancementsAPI.jar | Bin 0 -> 177940 bytes .../questadder/extension/Components.kt | 16 +- .../toxicity/questadder/extension/Configs.kt | 57 +++ .../toxicity/questadder/extension/Strings.kt | 2 +- .../toxicity/questadder/font/GuiFontData.kt | 9 + .../kor/toxicity/questadder/font/QuestFont.kt | 169 ++++++++ .../kor/toxicity/questadder/font/ToolTip.kt | 11 + .../questadder/font/ToolTipFontData.kt | 6 + .../questadder/manager/CallbackManager.kt | 26 ++ .../questadder/manager/ResourcePackManager.kt | 402 +++++++++++------- .../questadder/manager/UUIDManager.kt | 4 +- .../questadder/mechanic/dialog/Dialog.kt | 373 ++++++++++++++-- .../mechanic/dialog/DialogBlueprint.kt | 91 ++++ .../toxicity/questadder/tooltip/FontData.kt | 8 - .../toxicity/questadder/tooltip/FontPair.kt | 9 - .../questadder/util/ComponentReader.kt | 14 +- plugin/src/main/resources/pack.zip | Bin 115004 -> 115651 bytes 22 files changed, 995 insertions(+), 224 deletions(-) create mode 100644 api/src/main/java/kor/toxicity/questadder/api/mechanic/Mechanic.java create mode 100644 api/src/main/java/kor/toxicity/questadder/api/mechanic/MechanicBlueprint.java delete mode 100644 nms/v1_20_R2/shade/CrazyAdvancementsAPI-1.0-SNAPSHOT.jar create mode 100644 nms/v1_20_R2/shade/CrazyAdvancementsAPI.jar create mode 100644 plugin/src/main/java/kor/toxicity/questadder/font/GuiFontData.kt create mode 100644 plugin/src/main/java/kor/toxicity/questadder/font/QuestFont.kt create mode 100644 plugin/src/main/java/kor/toxicity/questadder/font/ToolTip.kt create mode 100644 plugin/src/main/java/kor/toxicity/questadder/font/ToolTipFontData.kt create mode 100644 plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/DialogBlueprint.kt delete mode 100644 plugin/src/main/java/kor/toxicity/questadder/tooltip/FontData.kt delete mode 100644 plugin/src/main/java/kor/toxicity/questadder/tooltip/FontPair.kt diff --git a/api/src/main/java/kor/toxicity/questadder/api/mechanic/IDialog.java b/api/src/main/java/kor/toxicity/questadder/api/mechanic/IDialog.java index eee4c84..535ff31 100644 --- a/api/src/main/java/kor/toxicity/questadder/api/mechanic/IDialog.java +++ b/api/src/main/java/kor/toxicity/questadder/api/mechanic/IDialog.java @@ -4,7 +4,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public interface IDialog { +public interface IDialog extends Mechanic { /** * Get a key of that Dialog * @return A yaml key of Dialog diff --git a/api/src/main/java/kor/toxicity/questadder/api/mechanic/Mechanic.java b/api/src/main/java/kor/toxicity/questadder/api/mechanic/Mechanic.java new file mode 100644 index 0000000..d8b66ac --- /dev/null +++ b/api/src/main/java/kor/toxicity/questadder/api/mechanic/Mechanic.java @@ -0,0 +1,7 @@ +package kor.toxicity.questadder.api.mechanic; + +import org.jetbrains.annotations.NotNull; + +public interface Mechanic { + @NotNull MechanicBlueprint getOriginalBlueprint(); +} diff --git a/api/src/main/java/kor/toxicity/questadder/api/mechanic/MechanicBlueprint.java b/api/src/main/java/kor/toxicity/questadder/api/mechanic/MechanicBlueprint.java new file mode 100644 index 0000000..307d170 --- /dev/null +++ b/api/src/main/java/kor/toxicity/questadder/api/mechanic/MechanicBlueprint.java @@ -0,0 +1,8 @@ +package kor.toxicity.questadder.api.mechanic; + +import org.bukkit.configuration.ConfigurationSection; +import org.jetbrains.annotations.NotNull; + +public interface MechanicBlueprint { + @NotNull ConfigurationSection getConfig(); +} diff --git a/api/src/main/java/kor/toxicity/questadder/api/util/SoundData.java b/api/src/main/java/kor/toxicity/questadder/api/util/SoundData.java index eedd942..ecb3e2d 100644 --- a/api/src/main/java/kor/toxicity/questadder/api/util/SoundData.java +++ b/api/src/main/java/kor/toxicity/questadder/api/util/SoundData.java @@ -17,4 +17,9 @@ public record SoundData(@NotNull String name, float volume, float pitch) { public void play(@NotNull Player player) { player.playSound(player.getLocation(), name, volume, pitch); } + + @Override + public String toString() { + return name + " " + volume + " " + pitch; + } } diff --git a/nms/v1_20_R2/shade/CrazyAdvancementsAPI-1.0-SNAPSHOT.jar b/nms/v1_20_R2/shade/CrazyAdvancementsAPI-1.0-SNAPSHOT.jar deleted file mode 100644 index 90e6cef9398d434546918f0b974e277f6ca5a45e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91391 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 I2oUW50R8p!;s5{u diff --git a/nms/v1_20_R2/shade/CrazyAdvancementsAPI.jar b/nms/v1_20_R2/shade/CrazyAdvancementsAPI.jar new file mode 100644 index 0000000000000000000000000000000000000000..4fafe522cb4012c3a8b8c04afa3a6af80eb70552 GIT binary patch literal 177940 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 R#0dObWr9EmqCigx`5%jL5T^hD literal 0 HcmV?d00001 diff --git a/plugin/src/main/java/kor/toxicity/questadder/extension/Components.kt b/plugin/src/main/java/kor/toxicity/questadder/extension/Components.kt index e424d30..fae16b8 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/extension/Components.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/extension/Components.kt @@ -1,12 +1,22 @@ package kor.toxicity.questadder.extension +import kor.toxicity.questadder.QuestAdderBukkit +import net.kyori.adventure.key.Key import net.kyori.adventure.text.Component -import net.kyori.adventure.text.TextComponent import net.kyori.adventure.text.format.NamedTextColor import net.kyori.adventure.text.format.TextColor import net.kyori.adventure.text.format.TextDecoration import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer + +val SPACE_FONT = Key.key("questadder:space") +val BUILD_FONT = Key.key("questadder:build") +val LEGACY_SPACE_FONT = Key.key("questadder:legacy_space") +val GUI_FONT = Key.key("questadder:gui") +val FADE_COMPONENT_UPPER = Component.text("☆").font(Key.key("questadder:fade")) +val FADE_COMPONENT_UNDER = Component.text("★").font(Key.key("questadder:fade")) + +val RED: TextColor = NamedTextColor.RED val GREEN: TextColor = NamedTextColor.GREEN val GRAY: TextColor = NamedTextColor.GRAY val WHITE: TextColor = NamedTextColor.WHITE @@ -40,4 +50,6 @@ fun Component.deepColor(color: TextColor?): Component { fun Component.onlyText(): String { return PlainTextComponentSerializer.plainText().serialize(this) -} \ No newline at end of file +} + +fun Int.parseToSpaceComponent() = if (QuestAdderBukkit.nms.getVersion().version >= 19) (0xD0000 + this).parseChar().asComponent().font(SPACE_FONT) else (0xFFC00 + this).parseChar().asComponent().font(LEGACY_SPACE_FONT) diff --git a/plugin/src/main/java/kor/toxicity/questadder/extension/Configs.kt b/plugin/src/main/java/kor/toxicity/questadder/extension/Configs.kt index 8c9179e..af5aa67 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/extension/Configs.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/extension/Configs.kt @@ -10,6 +10,7 @@ import org.bukkit.NamespacedKey import org.bukkit.attribute.Attribute import org.bukkit.attribute.AttributeModifier import org.bukkit.configuration.ConfigurationSection +import org.bukkit.configuration.MemoryConfiguration import org.bukkit.enchantments.Enchantment import org.bukkit.inventory.EquipmentSlot import org.bukkit.inventory.ItemFlag @@ -17,6 +18,7 @@ import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.ItemMeta import java.util.* import java.util.regex.Pattern +import kotlin.collections.ArrayList private const val ATTRIBUTE_NAME = "questadder.attribute" private val ATTRIBUTE_UUID = UUID.fromString("8d1fc1b6-00fe-11ee-be56-0242ac120002") @@ -143,3 +145,58 @@ fun ConfigurationSection.getAsItemStack(key: String, apply: (ItemMeta) -> Unit = null } else ItemManager.getItem(it) } else null + +fun ConfigurationSection.copy(): ConfigurationSection { + fun copy0(any: Any): Any { + return if (any is ConfigurationSection) { + val config = MemoryConfiguration() + any.getKeys(false).forEach { + any.get(it)?.let { any0 -> + config.set(it,copy0(any0)) + } + } + config + } else any + } + val config = MemoryConfiguration() + getKeys(false).forEach { + get(it)?.let { any -> + config.set(it, copy0(any)) + } + } + return config +} + +inline fun Array.addElement(element: T) = toMutableList().apply { + add(element) +}.toTypedArray() +inline fun Array.addElement(index: Int, element: T): Array { + return if (index > lastIndex) addElement(element) else toMutableList().apply { + add(index, element) + }.toTypedArray() +} +inline fun Array.removeLast(): Array? { + if (size <= 1) return null + return toMutableList().apply { + removeAt(lastIndex) + }.toTypedArray() +} +inline fun Array.removeAt(int: Int): Array = toMutableList().apply { + removeAt(int) +}.toTypedArray() + +private val INT_PATTERN = Pattern.compile("([0-9]+)") +fun ConfigurationSection.rebase(pos: Int, add: Int) { + val tree = TreeMap() + getKeys(false).forEach { + if (!INT_PATTERN.matcher(it).find()) return@forEach + val int = it.toInt() + val any = get(it) ?: return@forEach + if (int > pos) tree[int + add] = any + else tree[int] = any + set(it, null) + } + tree.forEach { + set(it.key.toString(), it.value) + } +} diff --git a/plugin/src/main/java/kor/toxicity/questadder/extension/Strings.kt b/plugin/src/main/java/kor/toxicity/questadder/extension/Strings.kt index abe82ae..06241c0 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/extension/Strings.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/extension/Strings.kt @@ -31,4 +31,4 @@ fun Int.parseChar(): String { val t = this - 0x10000 "${((t ushr 10) + 0xD800).toChar()}${((t and 1023) + 0xDC00).toChar()}" } -} \ No newline at end of file +} diff --git a/plugin/src/main/java/kor/toxicity/questadder/font/GuiFontData.kt b/plugin/src/main/java/kor/toxicity/questadder/font/GuiFontData.kt new file mode 100644 index 0000000..6db3693 --- /dev/null +++ b/plugin/src/main/java/kor/toxicity/questadder/font/GuiFontData.kt @@ -0,0 +1,9 @@ +package kor.toxicity.questadder.font + +import net.kyori.adventure.text.Component + +data class GuiFontData( + val height: Int, + val width: Int, + val component: Component +) diff --git a/plugin/src/main/java/kor/toxicity/questadder/font/QuestFont.kt b/plugin/src/main/java/kor/toxicity/questadder/font/QuestFont.kt new file mode 100644 index 0000000..b2a1856 --- /dev/null +++ b/plugin/src/main/java/kor/toxicity/questadder/font/QuestFont.kt @@ -0,0 +1,169 @@ +package kor.toxicity.questadder.font + +import com.google.gson.Gson +import com.google.gson.JsonArray +import com.google.gson.JsonObject +import com.google.gson.stream.JsonWriter +import kor.toxicity.questadder.extension.parseToSpaceComponent +import net.kyori.adventure.key.Key +import net.kyori.adventure.text.Component +import net.kyori.adventure.text.TextComponent +import net.kyori.adventure.text.format.Style +import net.kyori.adventure.text.format.TextDecoration +import java.awt.AlphaComposite +import java.awt.Font +import java.awt.RenderingHints +import java.awt.font.FontRenderContext +import java.awt.image.BufferedImage +import java.io.File +import javax.imageio.ImageIO +import kotlin.math.round + +class QuestFont( + file: File, + private val scale: Int, + private val height: Int, + private val ascent: Int, + + width: Double, + widthMultiplier: Double, + + private val blank: Int, + + private val jsonDir: File, + private val fontDir: File +) { + companion object { + private const val ESTIMATED_WIDTH = 16 + private val frc = FontRenderContext(null, true, true) + private val gson = Gson() + } + + //Font + private val font = file.inputStream().buffered().use { + Font.createFont(Font.TRUETYPE_FONT, it) + }.deriveFont(scale.toFloat()) + + private val availableChar = run { + val list = (Char.MIN_VALUE..Char.MAX_VALUE).filter { + font.canDisplay(it) + } + list.subList(0, list.size - list.size % ESTIMATED_WIDTH) + } + + private val metrics = run { + val image = BufferedImage(1,1,BufferedImage.TYPE_INT_ARGB) + val graphics = image.createGraphics() + val metrics = graphics.getFontMetrics(font) + graphics.dispose() + metrics + } + private val fileName = file.nameWithoutExtension + private val jsonName = "${fileName}_${ascent}_$height" + private val key = Key.key("questadder:tooltip/$jsonName") + + private val charWidth = availableChar.associateWith { + val bound = font.getStringBounds(it.toString(), frc) + round((bound.width * height / bound.height / 1.4 + width) * widthMultiplier).toInt() + } + + init { + createBitmap() + createJson() + } + + private fun createBitmap() { + val newDir = File(fontDir, fileName) + if (!newDir.exists()) { + newDir.mkdir() + var i = 0 + var num = 0 + val yAxis = (metrics.height * 1.4F).toInt() + while (i < availableChar.size) { + val image = BufferedImage(scale * ESTIMATED_WIDTH, yAxis * ESTIMATED_WIDTH, BufferedImage.TYPE_INT_ARGB) + val graphics = image.createGraphics().apply { + composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER) + font = this@QuestFont.font + setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON) + setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON) + } + for ((y,i2) in (0 until ESTIMATED_WIDTH).withIndex()) { + val max = (i + (i2 + 1) * ESTIMATED_WIDTH) + if (max >= availableChar.size) break + availableChar.subList(i + i2 * ESTIMATED_WIDTH, max).forEachIndexed { x, c -> + val str = c.toString() + graphics.drawString(str, x * scale, ((y + 0.75) * yAxis).toInt()) + } + } + graphics.dispose() + ImageIO.write(image, "png", File(newDir, "${fileName}_${++num}.png")) + + i += ESTIMATED_WIDTH * ESTIMATED_WIDTH + } + } + } + private fun createJson() { + val json = File(jsonDir, "$jsonName.json") + if (!json.exists()) { + val array = JsonArray().apply { + add(JsonObject().apply { + addProperty("type","space") + add("advances",JsonObject().apply { + addProperty(" ", 4) + }) + }) + } + var i = 0 + var num = 0 + while (i < availableChar.size) { + array.add(JsonObject().apply { + addProperty("type", "bitmap") + addProperty("file", "questadder:font/tooltip/$fileName/${fileName}_${++num}.png") + addProperty("ascent", ascent) + addProperty("height", height) + add("chars", JsonArray().apply { + for (i2 in 0 until ESTIMATED_WIDTH) { + val max = (i + (i2 + 1) * ESTIMATED_WIDTH) + if (max >= availableChar.size) break + add(availableChar.subList(i + i2 * ESTIMATED_WIDTH, max).joinToString("")) + } + }) + }) + i += ESTIMATED_WIDTH * ESTIMATED_WIDTH + } + JsonWriter(json.bufferedWriter()).use { + gson.toJson(JsonObject().apply { + add("providers", array) + }, it) + } + } + } + + fun asComponent(component: Component): Component { + component as TextComponent + var comp = Component.empty() + val style = component.style() + component.content().forEach { + comp = comp.append(asComponent(it, style)) + } + component.children().forEach { + comp = comp.append(asComponent(it)) + } + return comp + } + fun asComponent(char: Char, style: Style): Component { + var width = if (char == ' ') 4 else charWidth[char] ?: 0 + if (style.hasDecoration(TextDecoration.BOLD)) width++ + if (style.hasDecoration(TextDecoration.ITALIC)) width++ + return Component.text(char).style(style.font(key)).append((-width).parseToSpaceComponent()).append(blank.parseToSpaceComponent()) + } + fun widthComponent(int: Int) = (blank * int).parseToSpaceComponent() + fun widthComponent(component: Component): Int { + component as TextComponent + var width = component.content().length * blank + component.children().forEach { + width += widthComponent(it) + } + return width + } +} diff --git a/plugin/src/main/java/kor/toxicity/questadder/font/ToolTip.kt b/plugin/src/main/java/kor/toxicity/questadder/font/ToolTip.kt new file mode 100644 index 0000000..d38234c --- /dev/null +++ b/plugin/src/main/java/kor/toxicity/questadder/font/ToolTip.kt @@ -0,0 +1,11 @@ +package kor.toxicity.questadder.font + +data class ToolTip( + val gui: GuiFontData, + val fade: Boolean, + val split: Int, + val offset: Int, + val chatOffset: Int, + val talker: ToolTipFontData, + val talk: List +) diff --git a/plugin/src/main/java/kor/toxicity/questadder/font/ToolTipFontData.kt b/plugin/src/main/java/kor/toxicity/questadder/font/ToolTipFontData.kt new file mode 100644 index 0000000..380f48a --- /dev/null +++ b/plugin/src/main/java/kor/toxicity/questadder/font/ToolTipFontData.kt @@ -0,0 +1,6 @@ +package kor.toxicity.questadder.font + +data class ToolTipFontData( + val offset: Int, + val font: QuestFont +) diff --git a/plugin/src/main/java/kor/toxicity/questadder/manager/CallbackManager.kt b/plugin/src/main/java/kor/toxicity/questadder/manager/CallbackManager.kt index 8bb015e..8e1b307 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/manager/CallbackManager.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/manager/CallbackManager.kt @@ -7,14 +7,37 @@ import com.comphenix.protocol.events.PacketEvent import com.comphenix.protocol.wrappers.BlockPosition import com.comphenix.protocol.wrappers.WrappedBlockData import kor.toxicity.questadder.QuestAdderBukkit +import kor.toxicity.questadder.extension.info import net.kyori.adventure.text.Component +import org.bukkit.Bukkit import org.bukkit.Material import org.bukkit.entity.Player +import org.bukkit.event.EventHandler +import org.bukkit.event.Listener +import org.bukkit.event.player.AsyncPlayerChatEvent +import org.bukkit.event.player.PlayerQuitEvent import java.util.UUID object CallbackManager: QuestAdderManager { private val signMap = HashMap) -> Unit>() + private val chatMap = HashMap Unit>() override fun start(adder: QuestAdderBukkit) { + Bukkit.getPluginManager().registerEvents(object : Listener { + @EventHandler + fun chat(e: AsyncPlayerChatEvent) { + val player = e.player + chatMap.remove(player.uniqueId)?.let { + val message = e.message + if (message == "cancel") { + player.info("your action was cancelled.") + } else it(message) + } + } + @EventHandler + fun quit(e: PlayerQuitEvent) { + chatMap.remove(e.player.uniqueId) + } + }, adder) ProtocolLibrary.getProtocolManager().addPacketListener(object : PacketAdapter(adder, PacketType.Play.Client.UPDATE_SIGN) { override fun onPacketReceiving(event: PacketEvent) { val player = event.player @@ -24,6 +47,9 @@ object CallbackManager: QuestAdderManager { } }) } + fun openChat(player: Player, callback: (String) -> Unit) { + chatMap[player.uniqueId] = callback + } fun openSign(player: Player, array: List, callback: (Array) -> Unit) { val loc = player.location.apply { y = 0.0 diff --git a/plugin/src/main/java/kor/toxicity/questadder/manager/ResourcePackManager.kt b/plugin/src/main/java/kor/toxicity/questadder/manager/ResourcePackManager.kt index f17b20c..b4b8e8e 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/manager/ResourcePackManager.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/manager/ResourcePackManager.kt @@ -13,12 +13,16 @@ import kor.toxicity.questadder.block.* import kor.toxicity.questadder.command.CommandAPI import kor.toxicity.questadder.command.SenderType import kor.toxicity.questadder.extension.* +import kor.toxicity.questadder.font.GuiFontData +import kor.toxicity.questadder.font.QuestFont +import kor.toxicity.questadder.font.ToolTip +import kor.toxicity.questadder.font.ToolTipFontData import kor.toxicity.questadder.manager.registry.BlockRegistry -import kor.toxicity.questadder.tooltip.FontData -import kor.toxicity.questadder.tooltip.FontPair import kor.toxicity.questadder.util.ResourcePackData -import net.kyori.adventure.key.Key +import net.kyori.adventure.text.Component +import net.kyori.adventure.text.TextComponent import net.kyori.adventure.text.format.NamedTextColor +import net.kyori.adventure.text.format.TextDecoration import org.bukkit.Bukkit import org.bukkit.Location import org.bukkit.Material @@ -35,20 +39,13 @@ import org.bukkit.persistence.PersistentDataType import org.bukkit.util.Vector import org.zeroturnaround.zip.ZipUtil import ru.beykerykt.minecraft.lightapi.common.LightAPI -import java.awt.AlphaComposite -import java.awt.Font -import java.awt.RenderingHints -import java.awt.font.FontRenderContext -import java.awt.image.BufferedImage import java.io.* import java.util.* import java.util.zip.Deflater import java.util.zip.ZipEntry import java.util.zip.ZipOutputStream import javax.imageio.ImageIO -import kotlin.math.abs import kotlin.math.max -import kotlin.math.min object ResourcePackManager: QuestAdderManager { private val gson = GsonBuilder().disableHtmlEscaping().create() @@ -70,10 +67,9 @@ object ResourcePackManager: QuestAdderManager { private val emptyConfig = MemoryConfiguration() private val fontMap = HashMap() - private val tooltipMap = HashMap>() + private val tooltipMap = HashMap() val blockRegistry = BlockRegistry() - override fun start(adder: QuestAdderBukkit) { adder.command.addCommandAPI("block", arrayOf("bl","블럭"), "block-related command.", true, CommandAPI("qa bl") .addCommand("get") { @@ -99,7 +95,8 @@ object ResourcePackManager: QuestAdderManager { it.startsWith(a[1]) } else null } - }) + } + ) Bukkit.getPluginManager().registerEvents(object : Listener { private val vector = arrayOf( Vector(0,1,0), @@ -194,6 +191,7 @@ object ResourcePackManager: QuestAdderManager { fun getImageFont(name: String) = fontMap[name] private val blockEditorKey = NamespacedKey.fromString("questadder.block.editor")!! + private val guiMap = HashMap() override fun reload(adder: QuestAdderBukkit) { val resource = File(adder.dataFolder, "resources").apply { @@ -215,6 +213,9 @@ object ResourcePackManager: QuestAdderManager { val icons = File(resource, "icons").apply { mkdir() } + val guis = File(resource, "guis").apply { + mkdir() + } val assets = File(build, "assets").apply { mkdir() } @@ -251,6 +252,9 @@ object ResourcePackManager: QuestAdderManager { val questFontTexturesTooltip = File(questFontTextures,"tooltip").apply { mkdir() } + val questFontTexturesGui = File(questFontTextures,"gui").apply { + mkdir() + } val minecraftModels = File(File(minecraft, "models").apply { mkdir() }, "item").apply { @@ -302,49 +306,114 @@ object ResourcePackManager: QuestAdderManager { },it) } - //Tooltips - val tooltipList = tooltips.listFiles() ?: emptyArray() - val toolTipYamlSet = HashSet().apply { - tooltipList.forEach { - if (it.extension == "yml") { - try { - YamlConfiguration().run { - load(it) - val name = findString("Name","name") ?: it.nameWithoutExtension - val height = findInt(8,"Height","height").coerceAtLeast(1) - val ascent = findInt(0,"Ascent", "ascent").coerceAtMost(height) - val size = findInt(4,"Size","size").coerceAtLeast(4) - for (t in 0 until findInt(1,"Line","line").coerceAtLeast(1)) { - add(FontData( - size, - name, - -height * t + ascent, - height - )) - } + //Guis + guiMap.clear() + val guiArray = JsonArray() + var guiIndex = 0xD0000 + guis.listFiles()?.forEach { + if (it.extension == "png") { + try { + val yml = YamlConfiguration().apply { + File(guis, "${it.nameWithoutExtension}.yml").run { + if (exists()) load(this) } - } catch (ex: Exception) { - QuestAdderBukkit.warn("unable to read this file: ${it.name}") - QuestAdderBukkit.warn("reason: ${ex.message ?: ex.javaClass.simpleName}") } + val png = ImageIO.read(it) + it.copyTo(File(questFontTexturesGui, it.name)) + guiArray.add(JsonObject().apply { + val height = yml.findInt(256,"Height","height") + addProperty("type", "bitmap") + addProperty("file", "questadder:font/gui/${it.name}") + addProperty("ascent", yml.findInt(0,"Ascent","ascent").coerceAtMost(height)) + addProperty("height", height) + add("chars", JsonArray().apply { + add(guiIndex.parseChar()) + }) + }) + guiMap[it.nameWithoutExtension] = GuiFontData( + png.height, + png.width, + Component.text(guiIndex.parseChar()).font(GUI_FONT) + ) + guiIndex++ + } catch (ex: Exception) { + QuestAdderBukkit.warn("unable to read this png: ${it.name}") + QuestAdderBukkit.warn("reason: ${ex.message ?: ex.javaClass.simpleName}") } } } + if (!guiArray.isEmpty) { + JsonWriter(File(questFont, "gui.json").bufferedWriter()).use { + gson.toJson(JsonObject().apply { + add("providers", guiArray) + }, it) + } + } - //Tooltip + //Tooltips tooltipMap.clear() - tooltipList.forEach { + tooltips.listFiles()?.forEach { when (it.extension) { "ttf","otf" -> { - val name = it.nameWithoutExtension - val filter = toolTipYamlSet.filter { data -> - data.name == name - } - if (filter.isNotEmpty()) it.inputStream().buffered().use { stream -> - val font = Font.createFont(Font.TRUETYPE_FONT,stream) - tooltipMap[name] = filter.mapNotNull { data -> - writeToolTipFont(font, data, questFontTexturesTooltip, questFontTooltip) + try { + val name = it.nameWithoutExtension + val yaml = File(tooltips, "$name.yml") + if (!yaml.exists()) return@forEach + val config = YamlConfiguration().apply { + load(yaml) } + val fontSize = config.findInt(32, "size", "Size") + + val talker = config.findConfig("talker","Talker") ?: return@forEach + val talk = config.findConfig("talk","Talk") ?: return@forEach + + + val talkerHeight = talker.findInt(8, "Height", "height", "size", "Size").coerceAtLeast(1) + val talkerAscent = talker.findInt(0, "ascent", "Ascent", "y", "Y").coerceAtMost(talkerHeight) + + val talkHeight = talk.findInt(8, "Height", "height", "size", "Size").coerceAtLeast(1) + val talkAscent = talk.findInt(0, "ascent", "Ascent", "y", "Y").coerceAtMost(talkHeight) + + val gui = guiMap[config.findString("gui","Gui") ?: return@forEach] ?: return@forEach + val chatOffset = config.findInt(0, "chat-offset", "ChatOffset", "chat-x", "ChatX") + + val width = config.findDouble(0.0, "width", "Width") + val widthMultiplier = talk.findDouble(1.0, "width-multiplier", "WidthMultiplier") + val fade = config.findBoolean("fade") + tooltipMap[name] = ToolTip( + gui, + fade, + config.findInt(16, "split", "Split"), + config.findInt(0, "Offset", "offset", "x", "X"), + chatOffset, + ToolTipFontData(talker.findInt(0,"offset","Offset", "x", "X"), QuestFont( + it, + fontSize, + talkerHeight, + talkerAscent, + width, + widthMultiplier, + talker.findInt(talkerHeight, "blank", "Blank"), + questFontTooltip, + questFontTexturesTooltip + )), + (0.. + ToolTipFontData(talk.findInt(0,"offset","Offset", "x", "X"), QuestFont( + it, + fontSize, + talkHeight, + talkAscent - talkHeight * int - talkerHeight, + width, + widthMultiplier, + talk.findInt(talkHeight, "blank", "Blank"), + questFontTooltip, + questFontTexturesTooltip + )) + } + ) + } catch (ex: Exception) { + QuestAdderBukkit.warn("unable to read this tooltip: ${it.name}") + QuestAdderBukkit.warn("reason: ${ex.message ?: ex.javaClass.simpleName}") } } } @@ -431,36 +500,30 @@ object ResourcePackManager: QuestAdderManager { ZipUtil.unpack(it, build) } - val fileMap = HashMap() - fun addFile(file: File, prefix: String) { - file.listFiles()?.forEach { - if (it.isDirectory) addFile(it,"$prefix${it.name}/") - else fileMap["$prefix${it.nameWithoutExtension}"] = it - } - } - addFile(icons,"") - val materialMap = EnumMap>(Material::class.java) val loadAssetsMap = HashMap() dataList.forEach { - fileMap[it.assets]?.let { file -> - loadAssetsMap[it.assets]?.let {int -> - it.action(int) - return@forEach - } - val map = materialMap.getOrPut(it.material) { - TreeMap() - } - var modelData = it.assets.hashCode() - while (map.containsKey(modelData)) modelData += 1 - map[modelData] = it.assets - loadAssetsMap[it.assets] = modelData - it.action(modelData) - when (file.extension) { - "png" -> readImageModel(file,questModels,questItemTextures) - "bbmodel" -> readBlockBenchModel(file,questModels,questItemTextures, "item") - } + val file = File(icons, it.assets) + if (!file.exists()) { + QuestAdderBukkit.warn("This file doesn't exist: ${file.name}") + return@forEach + } + loadAssetsMap[it.assets]?.let { int -> + it.action(int) + return@forEach + } + val map = materialMap.getOrPut(it.material) { + TreeMap() + } + var modelData = it.assets.hashCode() + while (map.containsKey(modelData)) modelData += 1 + map[modelData] = it.assets + loadAssetsMap[it.assets] = modelData + it.action(modelData) + when (file.extension) { + "png" -> readImageModel(file,questModels,questItemTextures) + "bbmodel" -> readBlockBenchModel(file,questModels,questItemTextures, "item") } } dataList.clear() @@ -699,97 +762,110 @@ object ResourcePackManager: QuestAdderManager { } } } - private fun writeToolTipFont(targetFont: Font, data: FontData, fontTargetDir: File, jsonTargetDir: File): FontPair? { - - val parsedUTF8 = (Char.MIN_VALUE..Char.MAX_VALUE).filter { - targetFont.canDisplay(it) - }.toCharArray().run { - copyOf(size - size % 16) - } - val name = data.name - val key = "${name}_${abs(data.ascent)}_${abs(data.height)}" - if (parsedUTF8.isEmpty()) return null - val fontSize = 1 shl data.size - - var i = 0 - var num = 1 - val array = JsonArray().apply { - add(JsonObject().apply { - addProperty("type","space") - add("advances",JsonObject().apply { - addProperty(" ", 4) - }) - }) - } - val pow = fontSize shl 4 - - val folder = File(fontTargetDir,data.name) - val exists = folder.exists() - val newFont = targetFont.deriveFont(fontSize.toFloat()) - val frc = FontRenderContext(null ,true, true) - if (!exists) { - folder.mkdir() - } - - while (i < parsedUTF8.size) { - val finalName = "${name}_${num++}" - val utf = parsedUTF8.copyOfRange(i, (i + 256).coerceAtMost(parsedUTF8.size)) - val json = JsonArray() - - if (!exists) { - val image = BufferedImage(pow, pow, BufferedImage.TYPE_INT_ARGB) - val graphics = image.createGraphics().apply { - composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER) - - font = newFont - setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON) - setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON) - } - for (i2 in 0 until 16.coerceAtMost(utf.size / 16)) { - val str = String(utf.copyOfRange(i2 * 16, ((i2 + 1) * 16).coerceAtMost(utf.size))) - if (str.isNotEmpty()) { - str.forEachIndexed { index, c -> - val s = c.toString() - val bound = newFont.getStringBounds(s, frc) - graphics.drawString( - s, - index * fontSize.toFloat(), - (i2 + 1) * fontSize.toFloat() + min(fontSize - bound.height, -bound.y - fontSize).toFloat() - ) - } - json.add(str) - } - } - graphics.dispose() - ImageIO.write(image, "png", File(folder, "$finalName.png")) - } else { - for (i2 in 0 until 16.coerceAtMost(utf.size / 16)) { - val str = String(utf.copyOfRange(i2 * 16, ((i2 + 1) * 16).coerceAtMost(utf.size))) - if (str.isNotEmpty()) { - json.add(str) - } - } - } - i += 256 - array.add(JsonObject().apply { - addProperty("type","bitmap") - addProperty("file","questadder:font/tooltip/$name/$finalName.png") - addProperty("ascent",data.ascent) - addProperty("height",data.height) - add("chars",json) - }) - } - JsonWriter(File(jsonTargetDir,"$key.json").bufferedWriter()).use { - gson.toJson(JsonObject().apply { - add("providers", array) - },it) - } - return FontPair( - Key.key(key), - newFont - ) - } - +// private fun writeToolTipFont(targetFont: Font, data: FontBlueprint, fontTargetDir: File, jsonTargetDir: File): ToolTipFontData? { +// +// +// val parsedUTF8 = (Char.MIN_VALUE..Char.MAX_VALUE).filter { +// targetFont.canDisplay(it) +// }.toCharArray().run { +// copyOf(size - size % 16) +// } +// val name = data.name +// val key = "${name}_${abs(data.ascent)}_${abs(data.height)}" +// if (parsedUTF8.isEmpty()) return null +// val fontSize = 16 shl data.size +// +// var i = 0 +// var num = 1 +// val array = JsonArray().apply { +// add(JsonObject().apply { +// addProperty("type","space") +// add("advances",JsonObject().apply { +// addProperty(" ", 4) +// }) +// }) +// } +// val pow = fontSize shl 4 +// +// val folder = File(fontTargetDir,data.name) +// val exists = folder.exists() +// val newFont = targetFont.deriveFont(fontSize.toFloat() * 0.75F) +// if (!exists) { +// folder.mkdir() +// } +// +// val spriteMap = HashMap() +// +// val multiplier = data.height.toDouble() / fontSize +// while (i < parsedUTF8.size) { +// val finalName = "${name}_${num++}" +// val utf = parsedUTF8.copyOfRange(i, (i + 256).coerceAtMost(parsedUTF8.size)) +// val json = JsonArray() +// +// if (!exists) { +// val image = BufferedImage(pow, pow, BufferedImage.TYPE_INT_ARGB) +// val graphics = image.createGraphics().apply { +// composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER) +// +// font = newFont +// setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON) +// setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON) +// } +// for (i2 in 0 until 16.coerceAtMost(utf.size / 16)) { +// val str = String(utf.copyOfRange(i2 * 16, ((i2 + 1) * 16).coerceAtMost(utf.size))) +// if (str.isNotEmpty()) { +// str.forEachIndexed { index, c -> +// val s = c.toString() +// val bound = newFont.getStringBounds(s, fontRenderContent) +// +// val draw = newFont.createGlyphVector(fontRenderContent, s).getPixelBounds(fontRenderContent, 0F, 0F) +// spriteMap[c.code] = CharSprite(ceil(draw.width * multiplier).toInt(), ceil(draw.height * multiplier).toInt()) +// +// graphics.drawString( +// s, +// index * fontSize.toFloat(), +// (i2 + 1) * fontSize.toFloat() + min(fontSize - bound.height, -bound.y - fontSize).toFloat() * 0.75F +// ) +// } +// json.add(str) +// } +// } +// graphics.dispose() +// ImageIO.write(image, "png", File(folder, "$finalName.png")) +// } else { +// for (i2 in 0 until 16.coerceAtMost(utf.size / 16)) { +// val str = String(utf.copyOfRange(i2 * 16, ((i2 + 1) * 16).coerceAtMost(utf.size))) +// if (str.isNotEmpty()) { +// json.add(str) +// str.forEach { +// val draw = newFont.createGlyphVector(fontRenderContent, it.toString()).getPixelBounds(fontRenderContent, 0F, 0F) +// spriteMap[it.code] = CharSprite(ceil(draw.width * multiplier).toInt(), ceil(draw.height * multiplier).toInt()) +// } +// } +// } +// } +// i += 256 +// array.add(JsonObject().apply { +// addProperty("type","bitmap") +// addProperty("file","questadder:font/tooltip/$name/$finalName.png") +// addProperty("ascent",data.ascent) +// addProperty("height",data.height) +// add("chars",json) +// }) +// } +// JsonWriter(File(jsonTargetDir,"$key.json").bufferedWriter()).use { +// gson.toJson(JsonObject().apply { +// add("providers", array) +// },it) +// } +// return ToolTipFontData( +// Key.key("questadder:tooltip/$key"), +// data.fontOffset, +// spriteMap +// ) +// } + + fun getToolTip(name: String) = tooltipMap[name] override fun end(adder: QuestAdderBukkit) { } diff --git a/plugin/src/main/java/kor/toxicity/questadder/manager/UUIDManager.kt b/plugin/src/main/java/kor/toxicity/questadder/manager/UUIDManager.kt index 4a1f8e0..a24cc7e 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/manager/UUIDManager.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/manager/UUIDManager.kt @@ -19,7 +19,7 @@ object UUIDManager: QuestAdderManager { fun createRandomUUID(): UUID { var uuid = UUID.randomUUID() - while (uuidRegistry.contains(uuid)) uuid = UUID.randomUUID() + while (!uuidRegistry.add(uuid)) uuid = UUID.randomUUID() return uuid } -} \ No newline at end of file +} diff --git a/plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/Dialog.kt b/plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/Dialog.kt index da2b720..a00a9da 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/Dialog.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/Dialog.kt @@ -12,10 +12,12 @@ import kor.toxicity.questadder.api.gui.MouseButton import kor.toxicity.questadder.api.mechanic.DialogSender import kor.toxicity.questadder.api.mechanic.IActualNPC import kor.toxicity.questadder.api.mechanic.IDialog +import kor.toxicity.questadder.api.mechanic.MechanicBlueprint import kor.toxicity.questadder.api.util.SoundData import kor.toxicity.questadder.extension.* import kor.toxicity.questadder.manager.DialogManager import kor.toxicity.questadder.manager.GestureManager +import kor.toxicity.questadder.manager.ResourcePackManager import kor.toxicity.questadder.manager.SlateManager import kor.toxicity.questadder.mechanic.qna.QnA import kor.toxicity.questadder.nms.VirtualArmorStand @@ -24,10 +26,13 @@ import kor.toxicity.questadder.util.ComponentReader import kor.toxicity.questadder.util.Null import kor.toxicity.questadder.util.builder.ActionBuilder import kor.toxicity.questadder.util.builder.FunctionBuilder +import kor.toxicity.questadder.util.gui.SubExecutor import net.kyori.adventure.text.Component import net.kyori.adventure.text.TextComponent import net.kyori.adventure.title.Title +import org.bukkit.Material import org.bukkit.configuration.ConfigurationSection +import org.bukkit.configuration.file.YamlConfiguration import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack import org.bukkit.scheduler.BukkitTask @@ -36,8 +41,15 @@ import java.time.Duration import java.util.* import java.util.concurrent.ConcurrentHashMap import java.util.regex.Pattern +import kotlin.collections.ArrayList class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, section: ConfigurationSection): IDialog { + + private val bluePrint = DialogBlueprint(section) + override fun getOriginalBlueprint(): MechanicBlueprint { + return bluePrint.copy() + } + private interface TypingExecutor { fun initialize(talker: Component?) fun run(talk: Component) @@ -81,7 +93,6 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } private var talkIndex = 0 private var talkerComponent: Component? = null - private var talkComponent = Component.empty() private var task: BukkitTask? = null private var iterator = ComponentReader.emptyIterator() @@ -93,11 +104,15 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s if (talkIndex < talk.size) { this@Dialog.executorMap[talkIndex + 1]?.let { d -> current.executor?.end() - current.executor = d.second.create(current,d.first) + try { + current.executor = d.second.create(current, d.first) + } catch (ex: Exception) { + QuestAdderBukkit.warn("runtime error: cannot read this flag: ${d.first}") + QuestAdderBukkit.warn("reason: ${ex.message ?: ex.javaClass.simpleName}") + } } if (current.executor == null) current.executor = defaultExecutor.create(current, JsonObject()) started = true - talkComponent = Component.empty() talkerComponent = talker[talkIndex + 1]?.createComponent(current.event) current.executor!!.initialize(talkerComponent) iterator = talk[talkIndex].createIterator(current.event) ?: ComponentReader.errorIterator() @@ -175,9 +190,8 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s if (iterator.hasNext()) { val next = iterator.nextLine() if ((next as TextComponent).content() != "*") { - talkComponent = talkComponent.append(next) sound.play(current.player) - current.executor!!.run(talkComponent) + current.executor!!.run(next) } } else { cancel() @@ -245,7 +259,11 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s val meta = item.itemMeta return object : TypingExecutor { + + private var comp = Component.empty() + override fun initialize(talker: Component?) { + comp = Component.empty() item.itemMeta = meta?.apply { QuestAdderBukkit.platform.setDisplay(this, (talker ?: current.sender.talkerName.asComponent().deepClear()).append(":".asComponent().deepClear())) } @@ -261,8 +279,9 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } override fun run(talk: Component) { + comp = comp.append(talk) item.itemMeta = meta?.apply { - QuestAdderBukkit.platform.setLore(this, listOf(talk)) + QuestAdderBukkit.platform.setLore(this, listOf(comp)) } inv.inventory.setItem(22, item) current.player.updateInventory() @@ -290,11 +309,13 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s override fun create(current: DialogCurrent, jsonObject: JsonObject): TypingExecutor { return object : TypingExecutor { private var talker: Component = Component.empty() + private var comp = Component.empty() override fun run(talk: Component) { + comp = comp.append(talk) QuestAdderBukkit.audience.player(current.player).showTitle(Title.title( talker, - talk, + comp, Title.Times.times( Duration.ZERO, Duration.ofSeconds(2), @@ -303,6 +324,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s )) } override fun initialize(talker: Component?) { + comp = Component.empty() this.talker = talker ?: current.sender.talkerName.asComponent().deepClear() } override fun end() { @@ -315,6 +337,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s return object : TypingExecutor { private var referencedEntity = current.sender.entity ?: current.player + private var comp = Component.empty() private val display = current.display ?: QuestAdderBukkit.nms.createArmorStand(current.player,referencedEntity.location).apply { setText(Component.empty()) @@ -326,6 +349,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } override fun initialize(talker: Component?) { + comp = Component.empty() referencedEntity = if (talker != null && talker.onlyText() == "player") { current.player } @@ -333,7 +357,8 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } override fun run(talk: Component) { - display.setText(talk) + comp = comp.append(talk) + display.setText(comp) display.teleport(referencedEntity.location.apply { y += 0.25 }) @@ -343,15 +368,88 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s }) put("tooltip", object : TypingManager { override fun create(current: DialogCurrent, jsonObject: JsonObject): TypingExecutor { + + val name = jsonObject.getAsJsonPrimitive("name")?.asString ?: throw RuntimeException("\"name\" field not found.") + val data = ResourcePackManager.getToolTip(name) ?: throw RuntimeException("unable to find \"$name\" tooltip.") + val split = data.split + + var gui = Component.empty() + if (data.fade) { + val onePixelBack = (-1).parseToSpaceComponent() + val halfPixelBack = (-512).parseToSpaceComponent() + gui = gui.append(halfPixelBack) + //Upper + .append(FADE_COMPONENT_UPPER) + .append(onePixelBack) + .append(FADE_COMPONENT_UPPER) + .append(onePixelBack) + .append(FADE_COMPONENT_UPPER) + .append(onePixelBack) + .append(FADE_COMPONENT_UPPER) + + //1024 - 3 + .append((-1021).parseToSpaceComponent()) + + //under + .append(FADE_COMPONENT_UNDER) + .append(onePixelBack) + .append(FADE_COMPONENT_UNDER) + .append(onePixelBack) + .append(FADE_COMPONENT_UNDER) + .append(onePixelBack) + .append(FADE_COMPONENT_UNDER) + .append(halfPixelBack) + } + gui = gui.append(data.offset.parseToSpaceComponent()).append(data.gui.component).append((-data.gui.width / 2).parseToSpaceComponent()).append(data.chatOffset.parseToSpaceComponent()) + return object : TypingExecutor { private var talker: Component = Component.empty() + private val list = ArrayList() override fun initialize(talker: Component?) { + list.clear() this.talker = talker ?: current.sender.talkerName.asComponent().deepClear() } override fun run(talk: Component) { - //TODO Make a tooltip display + val talkList = ArrayList() + list.add(talk) + var result = gui.append(data.talker.offset.parseToSpaceComponent()).append(data.talker.font.asComponent(talker)).append((-data.talker.font.widthComponent(talker)).parseToSpaceComponent()).append((-data.talker.offset).parseToSpaceComponent()) + list.forEachIndexed { index, component -> + val selectedData = data.talk[(index / split).coerceAtMost(data.talk.lastIndex)] + talkList.add(selectedData.font.asComponent(component)) + if ((index + 1) % split == 0) { + var comp = Component.empty() + talkList.forEach { + comp = comp.append(it) + } + result = result.append(selectedData.offset.parseToSpaceComponent()) + .append(comp) + .append(selectedData.font.widthComponent(-talkList.size)) + .append((-selectedData.offset).parseToSpaceComponent()) + talkList.clear() + } + } + if (talkList.isNotEmpty()) { + val selectedData = data.talk[(list.size / split).coerceAtMost(data.talk.lastIndex)] + var comp = Component.empty() + talkList.forEach { + comp = comp.append(it) + } + result = result.append(selectedData.offset.parseToSpaceComponent()) + .append(comp) + .append(selectedData.font.widthComponent(-talkList.size)) + .append((-selectedData.offset).parseToSpaceComponent()) + } + QuestAdderBukkit.audience.player(current.player).showTitle(Title.title( + Component.empty(), + result, + Title.Times.times( + Duration.ZERO, + Duration.ofSeconds(2), + Duration.ofSeconds(1) + ) + )) } override fun end() { @@ -375,7 +473,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s private var lastAction: (DialogCurrent) -> Unit = {} private var talkTask = HashMap Unit>() private val typingSound = HashMap().apply { - section.findConfig("TypingSound","typing-sound")?.let { config -> + bluePrint.typingSound?.let { config -> config.getKeys(false).forEach { config.getAsSoundData(it)?.let { sound -> put(it,sound) @@ -384,7 +482,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } private val typingSpeed = HashMap().apply { - section.findConfig("TypingSpeed","typing-speed")?.let { config -> + bluePrint.typingSpeed?.let { config -> config.getKeys(false).forEach { put(it,config.getLong(it).coerceAtLeast(1).coerceAtMost(4)) } @@ -443,7 +541,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s fun error(message: String) { QuestAdderBukkit.warn("$message ($dialogKey in ${file.name})") } - section.findStringList("talk","Talk")?.let { t -> + bluePrint.talk?.let { t -> t.forEach { val matcher = talkPattern.matcher(it) if (matcher.find()) { @@ -453,7 +551,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findConfig("talker","Talker","sender","Sender")?.let { config -> + bluePrint.talker?.let { config -> config.getKeys(false).forEach { config.getString(it)?.let { s -> try { @@ -464,7 +562,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } ?: error("syntax error: the key '$it' is not a string.") } } - section.findStringList("dialog","Dialog","LinkedDialog","linked-dialog")?.let { t -> + bluePrint.dialog?.let { t -> adder.addLazyTask { t.forEach { DialogManager.getDialog(it)?.let { d -> @@ -477,7 +575,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findConfig("Action","action","actions","Actions")?.let { g -> + bluePrint.action?.let { g -> g.getKeys(false).forEach { g.getAsStringList(it)?.let { s -> ActionBuilder.create(adder,s)?.let { action -> @@ -492,14 +590,14 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } ?: error("syntax error: the value \"$it\" is not a string.") } } - section.findStringList("EndAction","end-action")?.let { - ActionBuilder.create(adder,it)?.let { action -> + bluePrint.endAction?.let { + ActionBuilder.create(adder,it.toList())?.let { action -> addLastAction { current -> action.invoke(current.player,current.event) } } ?: error("unable to get end action.") } - section.findConfig("Gesture","gesture","gestures","Gestures")?.let { g -> + bluePrint.gestures?.let { g -> g.getKeys(false).forEach { g.getString(it)?.let { s -> try { @@ -513,7 +611,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } ?: error("syntax error: the value \"$it\" is not a string.") } } - section.findConfig("Sound","Sounds","sounds","sound")?.let { sound -> + bluePrint.sounds?.let { sound -> for (j in sound.getKeys(false)) { val data = sound.getString(j)?.let { t -> SoundData.fromString(t) @@ -527,7 +625,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findConfig("Interface","interface")?.let { c -> + bluePrint.interfaces?.let { c -> c.getKeys(false).forEach { c.getString(it)?.let { s -> val matcher = typingManagerPattern.matcher(s) @@ -552,7 +650,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } ?: error("syntax error: the value \"$it\" is not a string.") } } - section.findStringList("SubDialog","sub-dialog","LinkedSubDialog","linked-sub-dialog")?.let { t -> + bluePrint.subDialog?.let { t -> adder.addLazyTask { t.forEach { DialogManager.getDialog(it)?.let { d -> @@ -566,7 +664,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } fun throwRuntimeError() = error("runtime error: unable to load the function.") - section.findStringList("index","Index","Indexes","indexes")?.forEach { + bluePrint.index?.forEach { val matcher = ANNOTATION_PATTERN.matcher(it) while (matcher.find()) { val name = matcher.group("name") @@ -615,7 +713,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findStringList("set-vars","SetVars","Vars","vars","Variables","variables","variable","Variable")?.forEach { + bluePrint.variable?.forEach { val matcher = ANNOTATION_PATTERN.matcher(it) while (matcher.find()) { val name = matcher.group("name") @@ -704,7 +802,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findStringList("conditions","Conditions","condition","Condition")?.let { cond -> + bluePrint.condition?.let { cond -> adder.addLazyTask { fun throwRuntimeError(result: Any?) { error("runtime error: the value \"$result\" is not a boolean.") @@ -762,7 +860,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findStringList("quest","Quest","SetQuest","set-quest")?.forEach { + bluePrint.setQuest?.forEach { val split = it.split(' ') if (split.size > 1) { adder.addLazyTask { @@ -785,7 +883,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findStringList("Check","check","CheckQuest","check-quest")?.forEach { + bluePrint.checkQuest?.forEach { val split = it.split(' ') if (split.size > 1) { adder.addLazyTask { @@ -839,7 +937,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } } } - section.findStringList("QnA","QnAs","qna","qnas")?.forEach { + bluePrint.qna?.forEach { adder.addLazyTask { DialogManager.getQnA(it)?.let { q -> qna?.add(q) ?: run { @@ -850,7 +948,7 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s } ?: error("not found error: the qna named $it doesn't exist.") } } - section.findStringList("Shop","Shops","shop","shops")?.forEach { + bluePrint.shops?.forEach { adder.addLazyTask { DialogManager.getShop(it)?.let { q -> shop?.add(q) ?: run { @@ -901,4 +999,223 @@ class Dialog(adder: QuestAdder, val file: File, private val dialogKey: String, s override fun getKey(): String { return dialogKey } + + fun getEditor(player: Player) { + DialogEditor(player) + } + private class DialogTalkData( + val talk: String, + val talker: String?, + val sound: String?, + val typingInterface: String? + ) + private inner class DialogEditor(val player: Player) { + private val print = bluePrint.copy() + + init { + open() + } + fun open() { + val mainComponent = "Dialog: ${file.name}: $dialog".asComponent() + createInventory(mainComponent, 6).open(player, object : GuiExecutor { + + private var currentPage = 0 + private var talkList: List = emptyList() + + override fun initialize(data: GuiData) { + val inv = data.inventory + for (i in 0..<54) { + inv.setItem(i, null) + } + setupTalk() + val platform = QuestAdderBukkit.platform + talkList.forEachIndexed { index, talkData -> + inv.setItem(9 + index, ItemStack(Material.BOOK).apply { + itemMeta = itemMeta?.apply { + platform.setDisplay(this, "Talker: ".asComponent(YELLOW).clear().append((talkData.talker ?: "").asComponent( + WHITE).clear())) + platform.setLore(this, listOf( + "Talk: ".asComponent(YELLOW).clear().append(talkData.talk.asComponent(WHITE).clear()), + "Sound: ".asComponent(YELLOW).clear().append((talkData.sound ?: "").asComponent(WHITE).clear()), + "Interface: ".asComponent(YELLOW).clear().append((talkData.typingInterface ?: "").asComponent(WHITE).clear()), + Component.empty(), + "(Left click - edit this talk)".asComponent(GRAY).clear() + )) + } + }) + } + val pageLore = "Current Page - ${currentPage + 1} / ${(print.talk?.size ?: 0) / 36 + 1}".asClearComponent() + inv.setItem(46, ItemStack(Material.STONE_BUTTON).apply { + itemMeta = itemMeta?.apply { + platform.setDisplay(this, "Before Page".asClearComponent()) + platform.setLore(this, listOf( + Component.empty(), + pageLore, + Component.empty(), + "(Click - Go to before page)".asComponent(GRAY).clear() + )) + } + }) + inv.setItem(49, ItemStack(Material.ENCHANTED_BOOK).apply { + itemMeta = itemMeta?.apply { + platform.setDisplay(this, "Add new talk".asClearComponent()) + platform.setLore(this, listOf( + Component.empty(), + "(Click - Add new talk)".asComponent(GRAY).clear() + )) + } + }) + inv.setItem(52, ItemStack(Material.STONE_BUTTON).apply { + itemMeta = itemMeta?.apply { + platform.setDisplay(this, "After Page".asClearComponent()) + platform.setLore(this, listOf( + Component.empty(), + pageLore, + Component.empty(), + "(Click - Go to After page)".asComponent(GRAY).clear() + )) + } + }) + inv.setItem(45, ItemStack(Material.REDSTONE_BLOCK).apply { + itemMeta = itemMeta?.apply { + platform.setDisplay(this, "Exit without save".asComponent(RED).clear()) + platform.setLore(this, listOf( + Component.empty(), + "(Click - exit without save)".asComponent(GRAY).clear() + )) + } + }) + inv.setItem(53, ItemStack(Material.BEACON).apply { + itemMeta = itemMeta?.apply { + platform.setDisplay(this, "Save and exit".asComponent(GREEN).clear()) + platform.setLore(this, listOf( + Component.empty(), + "(Click - save and exit)".asComponent(GRAY).clear() + )) + } + }) + } + + private fun setupTalk() { + print.talk?.let { + val newList = ArrayList() + for (i in currentPage.. { + createInventory(mainComponent.append(": ${selectedSlot + 1}".asComponent()),3).open(player, object : SubExecutor(data) { + override fun initialize(data: GuiData) { + } + + override fun click( + data: GuiData, + clickedItem: ItemStack, + clickedSlot: Int, + isPlayerInventory: Boolean, + button: MouseButton + ) { + if (isPlayerInventory) return + if (clickedItem.type == Material.AIR) return + } + + }) + } + MouseButton.RIGHT -> { + val plus = selectedSlot + 1 + print.talk = print.talk?.addElement(plus, "a new talk") ?: Array(1) { + "a new talk" + } + rebase(plus, 1) + initialize(data) + } + MouseButton.SHIFT_RIGHT -> { + print.talk = print.talk?.removeAt(selectedSlot) + rebase(selectedSlot, -1) + initialize(data) + } + else -> {} + } + } else { + when (clickedSlot) { + 46 -> { + currentPage = (currentPage - 1).coerceAtLeast(0) + initialize(data) + } + 52 -> { + currentPage = (currentPage + 1).coerceAtMost((print.talk?.size ?: 0) / 36) + initialize(data) + } + 49 -> { + print.talk = (print.talk?.addElement("a new talk") ?: Array(1) { + "a new talk" + }) + initialize(data) + } + } + } + } + + override fun end(data: GuiData) { + } + + }) + } + + fun save() { + try { + YamlConfiguration().run { + load(file) + set(dialogKey, print.config) + save(file) + } + player.info("successfully saved.") + player.info("command \"/qa reload\" to apply your change.") + } catch (ex: Exception) { + player.warn("unable to save the dialog: ($dialog in ${file.name})") + player.warn("reason: ${ex.message ?: ex.javaClass.simpleName}") + } + player.closeInventory() + } + } } diff --git a/plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/DialogBlueprint.kt b/plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/DialogBlueprint.kt new file mode 100644 index 0000000..c65f420 --- /dev/null +++ b/plugin/src/main/java/kor/toxicity/questadder/mechanic/dialog/DialogBlueprint.kt @@ -0,0 +1,91 @@ +package kor.toxicity.questadder.mechanic.dialog + +import kor.toxicity.questadder.api.mechanic.MechanicBlueprint +import kor.toxicity.questadder.extension.copy +import kor.toxicity.questadder.extension.findConfig +import kor.toxicity.questadder.extension.findStringList +import org.bukkit.configuration.ConfigurationSection +import org.bukkit.configuration.MemoryConfiguration + +class DialogBlueprint( + var typingSound: ConfigurationSection?, + var typingSpeed: ConfigurationSection?, + var talk: Array?, + var talker: ConfigurationSection?, + var dialog: Array?, + var action: ConfigurationSection?, + var endAction: Array?, + var gestures: ConfigurationSection?, + var sounds: ConfigurationSection?, + var interfaces: ConfigurationSection?, + var subDialog: Array?, + var index: Array?, + var variable: Array?, + var condition: Array?, + var setQuest: Array?, + var checkQuest: Array?, + var qna: Array?, + var shops: Array?, +): MechanicBlueprint { + constructor(section: ConfigurationSection): this( + section.findConfig("TypingSound","typing-sound"), + section.findConfig("TypingSpeed","typing-speed"), + section.findStringList("talk","Talk")?.toTypedArray(), + section.findConfig("talker","Talker","sender","Sender"), + section.findStringList("dialog","Dialog","LinkedDialog","linked-dialog")?.toTypedArray(), + section.findConfig("Action","action","actions","Actions"), + section.findStringList("EndAction","end-action")?.toTypedArray(), + section.findConfig("Gesture","gesture","gestures","Gestures"), + section.findConfig("Sound","Sounds","sounds","sound"), + section.findConfig("Interface","interface"), + section.findStringList("SubDialog","sub-dialog","LinkedSubDialog","linked-sub-dialog")?.toTypedArray(), + section.findStringList("index","Index","Indexes","indexes")?.toTypedArray(), + section.findStringList("set-vars","SetVars","Vars","vars","Variables","variables","variable","Variable")?.toTypedArray(), + section.findStringList("conditions","Conditions","condition","Condition")?.toTypedArray(), + section.findStringList("quest","Quest","SetQuest","set-quest")?.toTypedArray(), + section.findStringList("Check","check","CheckQuest","check-quest")?.toTypedArray(), + section.findStringList("QnA","QnAs","qna","qnas")?.toTypedArray(), + section.findStringList("Shop","Shops","shop","shops")?.toTypedArray(), + ) + + fun copy() = DialogBlueprint( + typingSound?.copy(), + typingSpeed?.copy(), + talk?.copyOf(), + talker?.copy(), + dialog?.copyOf(), + action?.copy(), + endAction?.copyOf(), + gestures?.copy(), + sounds?.copy(), + interfaces?.copy(), + subDialog?.copyOf(), + index?.copyOf(), + variable?.copyOf(), + condition?.copyOf(), + setQuest?.copyOf(), + checkQuest?.copyOf(), + qna?.copyOf(), + shops?.copyOf() + ) + override fun getConfig() = MemoryConfiguration().apply { + set("talk", talk) + set("talker", talker) + set("typing-sound", typingSound) + set("typing-speed", typingSpeed) + set("dialog", dialog) + set("action", action) + set("end-action", endAction) + set("gesture", gestures) + set("sound", sounds) + set("interface", interfaces) + set("sub-dialog", subDialog) + set("index", index) + set("vars", variable) + set("condition", condition) + set("quest", setQuest) + set("check", checkQuest) + set("qna", qna) + set("shop", shops) + } +} diff --git a/plugin/src/main/java/kor/toxicity/questadder/tooltip/FontData.kt b/plugin/src/main/java/kor/toxicity/questadder/tooltip/FontData.kt deleted file mode 100644 index 3682c76..0000000 --- a/plugin/src/main/java/kor/toxicity/questadder/tooltip/FontData.kt +++ /dev/null @@ -1,8 +0,0 @@ -package kor.toxicity.questadder.tooltip - -data class FontData( - val size: Int, - val name: String, - val ascent: Int, - val height: Int -) diff --git a/plugin/src/main/java/kor/toxicity/questadder/tooltip/FontPair.kt b/plugin/src/main/java/kor/toxicity/questadder/tooltip/FontPair.kt deleted file mode 100644 index 6224b3c..0000000 --- a/plugin/src/main/java/kor/toxicity/questadder/tooltip/FontPair.kt +++ /dev/null @@ -1,9 +0,0 @@ -package kor.toxicity.questadder.tooltip - -import net.kyori.adventure.key.Key -import java.awt.Font - -data class FontPair( - val key: Key, - val font: Font -) diff --git a/plugin/src/main/java/kor/toxicity/questadder/util/ComponentReader.kt b/plugin/src/main/java/kor/toxicity/questadder/util/ComponentReader.kt index 84fd895..429fc22 100644 --- a/plugin/src/main/java/kor/toxicity/questadder/util/ComponentReader.kt +++ b/plugin/src/main/java/kor/toxicity/questadder/util/ComponentReader.kt @@ -1,10 +1,7 @@ package kor.toxicity.questadder.util import kor.toxicity.questadder.QuestAdderBukkit -import kor.toxicity.questadder.extension.EMPTY_DECORATION -import kor.toxicity.questadder.extension.asComponent -import kor.toxicity.questadder.extension.deepClear -import kor.toxicity.questadder.extension.parseChar +import kor.toxicity.questadder.extension.* import kor.toxicity.questadder.manager.ResourcePackManager import kor.toxicity.questadder.util.builder.FunctionBuilder import net.kyori.adventure.key.Key @@ -16,9 +13,6 @@ import java.util.regex.Pattern class ComponentReader(string: String) { companion object { - private val spaceFont = Key.key("questadder:space") - private val buildFont = Key.key("questadder:build") - private val legacySpaceFont = Key.key("questadder:legacy_space") private val emptyIterator = object : ComponentIterator { override fun nextLine(): Component { @@ -263,7 +257,7 @@ class ComponentReader(string: String) { private class SpaceComponentBuilder( pixel: Int ): ComponentBuilder { - private val component = (0xD0000 + pixel).parseChar().asComponent().font(spaceFont) + private val component = (0xD0000 + pixel).parseChar().asComponent().font(SPACE_FONT) override fun length(): Int = 1 override fun build(): Component = component override fun build(index: Int): Component = component @@ -271,13 +265,13 @@ class ComponentReader(string: String) { private class LegacySpaceComponentBuilder( pixel: Int ): ComponentBuilder { - private val component = (0xFFC00 + pixel).parseChar().asComponent().font(legacySpaceFont) + private val component = (0xFFC00 + pixel).parseChar().asComponent().font(LEGACY_SPACE_FONT) override fun length(): Int = 1 override fun build(): Component = component override fun build(index: Int): Component = component } private class ImageComponentBuilder(string: String, data: ComponentData): ComponentBuilder { - private val component = string.asComponent().color(data.color).decorations(data.decoration).font(buildFont) + private val component = string.asComponent().color(data.color).decorations(data.decoration).font(BUILD_FONT) override fun length(): Int = 1 override fun build(): Component = component override fun build(index: Int): Component = component diff --git a/plugin/src/main/resources/pack.zip b/plugin/src/main/resources/pack.zip index 983f52194b936821f6aad9f25a4e532546ba6b22..287f22e3209a5ff4dd99c9fda7ed0c56ec4861a0 100644 GIT binary patch delta 1004 zcmZWodq`7J7(d_H=5x+z8!d~P+H7%6MTuTUQV?V|pExZe6`v8gp0*xlt2DJ2zD{CH zF)Dmu?ix5>Yd)yRg=JFYACZzau?H0;Wklz0YC`vq^ZUO0{m$=x_xqjGrE}~nbaac_ z$>U29_mu0B3~osNg6PnwY}Q2 zLF2F6(-?yEA+6^}{kM5e`AMXw9(>6M1IRr5s`sf+DreU9`Q_ZXFrB#~5KqV*BGp^SF_rT!WS=)i1hb&$(V3H5ECes^e^?Th z<2(X$79OJ%FunfTWl~T4{nsK+BT{zGeX#ts>K^<$ha7b$C2j%~r$9XL|)#_NF#n@cZ9L!v(dB!EJ s@EtX24lSan3{Ly585msAI^Vg7tY_)3;vVo9c_VL>=Z;X|eR^}zUuuwK*8l(j delta 551 zcmYk(&nts*90%~{{T&vzhaPHbX|gOeq~+k`pmvawC@DpflY_rt<;P*oMVb0I$W9J6 z#+cTgXEv;emeCHHi;#mG4i1uhpRLXJxqNzFz2Bej;gj|n6H7+(@SvfhQPRIE*&Q)o z*BYuqivOY3wVW}>CliG)ok{X6s^j~D^PH_1Y!1loqIyY8HR;yDZcqv{|;<&>wD zeL?7yKYcIC!vU0HzvqnicMpVg;0)7jIigE5+0M~jxYLIQD@zo#)m|gD6fO&?Ny;tc kw)7j7reh`S=l|4|hLe343*