cometcake575 / Origins-Reborn

Paper plugin inspired by the Origins mod
Other
8 stars 3 forks source link

Will unicode support be added? #8

Closed Vitaki1 closed 4 weeks ago

Vitaki1 commented 1 month ago

I use Oraxen and wanted to insert a custom emoji into the description, but when I try to insert any character (for example, ꐙ), the plugin stops working image image

[23:11:16] [Server thread/ERROR]: Command exception: /origin swap
org.bukkit.command.CommandException: Unhandled exception executing command 'origin' in plugin Origins-Reborn v2.3.19
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:91) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar:?]
    at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:31) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:19) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:103) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:443) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.Commands.performCommand(Commands.java:350) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.Commands.performCommand(Commands.java:337) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.commands.Commands.performCommand(Commands.java:332) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2218) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$11(ServerGamePacketListenerImpl.java:2192) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1537) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1514) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1507) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1466) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1473) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1318) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:330) ~[paper-1.21.1.jar:1.21.1-40-2fdb2e9]
    at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.IllegalStateException: Unexpected value: ꐙ
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.OriginSwapper.getWidth(OriginSwapper.java:391) ~[Origins-Reborn-2.3.19-all.jar:?]
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.OriginSwapper.getInverse(OriginSwapper.java:404) ~[Origins-Reborn-2.3.19-all.jar:?]
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.OriginSwapper.getInverse(OriginSwapper.java:62) ~[Origins-Reborn-2.3.19-all.jar:?]
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.OriginSwapper$LineData.makeLineFor(OriginSwapper.java:775) ~[Origins-Reborn-2.3.19-all.jar:?]
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.OriginSwapper$LineData.<init>(OriginSwapper.java:829) ~[Origins-Reborn-2.3.19-all.jar:?]
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.OriginSwapper.openOriginSwapper(OriginSwapper.java:126) ~[Origins-Reborn-2.3.19-all.jar:?]
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.OriginSwapper.openOriginSwapper(OriginSwapper.java:71) ~[Origins-Reborn-2.3.19-all.jar:?]
    at Origins-Reborn-2.3.19-all.jar/com.starshootercity.commands.OriginCommand.onCommand(OriginCommand.java:49) ~[Origins-Reborn-2.3.19-all.jar:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-mojangapi-1.21.1-R0.1-SNAPSHOT.jar:?]
    ... 27 more
cometcake575 commented 1 month ago

Unicode support is planned, however it will not work with things like custom fonts and emojis because of how the GUI is formed.

Other than the buttons and icon, the whole Origins-Reborn GUI is formed with a line of text, combining multiple custom fonts, to overlay text on top of itself at varying heights, to create what looks like multiple lines, despite all actually being on separate lines.

Because it uses custom fonts to do this, you'd need to modify the Origins-Reborn resource pack to add custom emojis.

You could theoretically do that yourself once the unicode characters are added, but Oraxen will not do that (unless they decide to specifically add Origins-Reborn compatibility once Unicode compatibility is added, which is unlikely)

Vitaki1 commented 4 weeks ago

I will be waiting for updates, good luck in the development!