/signcopy throws when not using quotes

Abierto Apto para principiantes
#1,371 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
70/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
java
Área
cli

Línea de trabajo

Comience en mechanics/signcopier/SignEditCommandsRegistration.java, especialmente en extract$text en la ubicación del stack trace, y reproduzca primero el problema con /signcopy edit 1 first second. Compruebe cómo se analiza el parámetro final cuando no está entre comillas. Se considera terminado cuando el contenido de línea sin comillas ya no lanza una excepción y produce el resultado esperado, o informa de un error adecuado.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

status:pending type:bug
CraftBook Version

5.0.0-SNAPSHOT

Platform Version

26.1.2-60-main@b4682bf

Confirmations
  • I am using the most recent Minecraft release.
  • I am using a version of WorldEdit compatible with my Minecraft version.
  • I am using a version of CraftBook compatible with my Minecraft version.
  • I am using the latest or recommended version of my platform software.
  • I am NOT using a hybrid server, e.g. a server that combines Bukkit and Forge. Examples include Arclight, Mohist, and Cardboard.
  • I am NOT using a fork of WorldEdit, such as FastAsyncWorldEdit (FAWE) or AsyncWorldEdit (AWE)
Bug Description

Not enclosing the line-content parameter of the /signcopy-command throws an exception.

[07:50:03 ERROR]: [org.enginehub.craftbook.PlatformCommandManager] An unexpected error while handling a CraftBook command
java.lang.IllegalStateException: Too many values present
	at com.google.common.base.Preconditions.checkState(Preconditions.java:513) ~[guava-33.5.0-jre.jar:?]
	at worldedit-bukkit-8.0.0-SNAPSHOT-dist.jar//org.enginehub.piston.CommandValue.asSingle(CommandValue.java:109) ~[?:?]
	at craftbook-bukkit-5.0.0-SNAPSHOT-dist.jar//org.enginehub.craftbook.mechanics.signcopier.SignEditCommandsRegistration.extract$text(SignEditCommandsRegistration.java:153) ~[?:?]
	at craftbook-bukkit-5.0.0-SNAPSHOT-dist.jar//org.enginehub.craftbook.mechanics.signcopier.SignEditCommandsRegistration.cmd$edit(SignEditCommandsRegistration.java:119) ~[?:?]
	at worldedit-bukkit-8.0.0-SNAPSHOT-dist.jar//org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[?:?]
	at craftbook-bukkit-5.0.0-SNAPSHOT-dist.jar//org.enginehub.craftbook.PlatformCommandManager.handleCommand(PlatformCommandManager.java:157) ~[?:?]
	at craftbook-bukkit-5.0.0-SNAPSHOT-dist.jar//org.enginehub.craftbook.bukkit.CraftBookPlugin.onCommand(CraftBookPlugin.java:251) ~[?:?]
	at worldedit-bukkit-8.0.0-SNAPSHOT-dist.jar//com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:55) ~[?:?]
	at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:83) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	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:30) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:104) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:469) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.commands.Commands.performCommand(Commands.java:377) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.commands.Commands.performCommand(Commands.java:365) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2426) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$0(ServerGamePacketListenerImpl.java:2399) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:205) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1569) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:194) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:179) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1549) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1543) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.MinecraftServer.recordTaskExecutionTimeWhileWaiting(MinecraftServer.java:1273) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1389) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:304) ~[paper-26.1.2.jar:26.1.2-60-b4682bf]
	at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]
Expected Behavior

In the worst case, print a proper error - but to be frank, I'd rather have the plugin simply collect the arguments without requiring enclosing quotes, as it is obvious that that's what the player wants, based on the fact that it is the last parameter - no ambiguity there. In general, having to use said quotes is a big confusion to many of our players.

Reproduction Steps
  1. Copy a sign
  2. Run /signcopy edit 1 first second
Anything Else?

No response

Lenguaje dominante
Java
Estrellas
320
Forks
165
Merge medio
6 d 21 h
PR fusionados (30 d)
2

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de EngineHub/CraftBook

Todos los issues de EngineHub/CraftBook

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.