Giter Club home page Giter Club logo

signedit's People

Contributors

deltik avatar eason329 avatar stijnb1234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

signedit's Issues

NullPointerException when running `/sign ui` on a new sign

Bug report from Spigot review:

very good plugin. if I input sign ui first but don't press the notice board, and then put the notice board, an error will be reported.spigot1.16.5

Could not pass event SignChangeEvent to SignEdit v1.13.2
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2685) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.PlayerConnection.lambda$19(PlayerConnection.java:2648) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.PlayerConnection.lambda$2(PlayerConnection.java:440) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.PlayerConnection.lambda$4(PlayerConnection.java:454) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(SourceFile:144) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(SourceFile:118) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1061) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1054) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeAll(SourceFile:103) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1037) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:970) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:273) ~[Start.jar:3096-Spigot-9fb885e-296df56]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_291]
Caused by: java.lang.NullPointerException
at org.deltik.mc.signedit.interactions.UiSignEditInteraction.runEarlyEventTask(UiSignEditInteraction.java:90) ~[?:?]
at org.deltik.mc.signedit.interactions.UiSignEditInteraction.cleanup(UiSignEditInteraction.java:75) ~[?:?]
at org.deltik.mc.signedit.listeners.CoreSignEditListener.onSignChangeDoReformat(CoreSignEditListener.java:95) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_291]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_291]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_291]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_291]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Start.jar:3096-Spigot-9fb885e-296df56]

Confirmed:

[15:58:36 ERROR]: Could not pass event SignChangeEvent to SignEdit v1.13.2
java.lang.NullPointerException: Cannot invoke "org.bukkit.block.Sign.setLine(int, String)" because "originalSign" is null
        at org.deltik.mc.signedit.interactions.UiSignEditInteraction.runEarlyEventTask(UiSignEditInteraction.java:90) ~[SignEdit-1.13.2.jar:?]
        at org.deltik.mc.signedit.interactions.UiSignEditInteraction.cleanup(UiSignEditInteraction.java:75) ~[SignEdit-1.13.2.jar:?]
        at org.deltik.mc.signedit.listeners.CoreSignEditListener.onSignChangeDoReformat(CoreSignEditListener.java:95) ~[SignEdit-1.13.2.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor24.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Paper-266]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.17.1.jar:git-Paper-266]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Paper-266]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:3055) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.network.PlayerConnection.lambda$handleSignUpdate$20(PlayerConnection.java:3003) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.network.PlayerConnection.lambda$filterTextPacket$1(PlayerConnection.java:474) ~[patched_1.17.1.jar:git-Paper-266]
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:149) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(IAsyncTaskHandlerReentrant.java:23) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:1418) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:192) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:122) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.MinecraftServer.bf(MinecraftServer.java:1396) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1389) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.util.thread.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:132) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1367) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1278) ~[patched_1.17.1.jar:git-Paper-266]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-266]
        at java.lang.Thread.run(Thread.java:831) [?:?]

Reproduce with:

  1. Run /sign ui without looking at a sign.
  2. Place a new sign.
  3. Save the sign.
  4. Observe the error in the console.

Allow customising what command display in /sign help

Currently, the list of commands that are displayed only shows a very limited few that, ideally, I'd prefer to remove from /sign help. But, after looking over the locales files, I could not find where a file that allowed me to edit the commands that are displayed.

I suggest introducing a list in the Comms.properties file that allows adding/removing what text is display there. Thanks.

Could not pass event PlayerEditBookEvent to SignEdit v1.12.1

If the SignChangeEvent is canceled while using the book sign editor, the sign edit will silently fail for the player and the console displays this error:

[15:21:18] [Server thread/ERROR]: Could not pass event PlayerEditBookEvent to SignEdit v1.12.1
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at org.bukkit.craftbukkit.v1_16_R1.event.CraftEventFactory.handleEditBookEvent(CraftEventFactory.java:1306) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.PlayerConnection.a(PlayerConnection.java:817) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.PacketPlayInBEdit.a(SourceFile:40) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.PacketPlayInBEdit.a(SourceFile:10) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.TickTask.run(SourceFile:18) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeTask(SourceFile:144) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeNext(SourceFile:118) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.MinecraftServer.aZ(MinecraftServer.java:943) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.MinecraftServer.executeNext(MinecraftServer.java:936) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.MinecraftServer.sleepForTick(MinecraftServer.java:920) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:852) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Caused by: org.deltik.mc.signedit.exceptions.ForbiddenSignEditException
        at org.deltik.mc.signedit.SignText.callSignChangeEvent(SignText.java:102) ~[?:?]
        at org.deltik.mc.signedit.SignText.applySign(SignText.java:88) ~[?:?]
        at org.deltik.mc.signedit.SignText.applySign(SignText.java:72) ~[?:?]
        at org.deltik.mc.signedit.interactions.BookUiSignEditInteraction.cleanup(BookUiSignEditInteraction.java:138) ~[?:?]
        at org.deltik.mc.signedit.listeners.SignEditListener.onSignChangeBookMode(SignEditListener.java:100) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_252]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_252]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_252]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot-1.16.1.jar:git-Spigot-9639cf7-8fb6585]
        ... 19 more

Problem with right click in sign with commands

Hi,

SignEdit Version: 1.14.0-beta3
Server Version: git-Paper-67 (MC: 1.20.1)

With the last version when the players right click on a sign that works with a command (ServerSigns) nothing happens because the plugin wants to modify them. On my server without this plugin there is no problem. I am therefore obliged to /sign wax all my signs with commands but on my side I can no longer modify them at all. Would it be possible to fix this so that commands in a panel take precedence over modification especially when the player can't modify the panel because he doesn't have all the permissions.

Error in the console and drop in tps (here they are signs with commands but in a vanilla way (command block), with ServerSigns there is not this error, they can just do nothing) : https://pastebin.com/K85HBUhF

Thank you in advance.

Unclosed group near index 26 (Regex concering Comms.properties)

Hey, I've encountered an issue when utilizing the plugin. Note that the log is from v1.11.0, but v1.11.1 ends with the same message.

[22:22:31] [Server thread/ERROR]: Error occurred while enabling SignEdit v1.11.0 (Is it up to date?) java.util.regex.PatternSyntaxException: Unclosed group near index 26 (^|.*\)Comms.*\.properties at java.util.regex.Pattern.error(Pattern.java:2015) ~[?:?] at java.util.regex.Pattern.accept(Pattern.java:1873) ~[?:?] at java.util.regex.Pattern.group0(Pattern.java:3048) ~[?:?] at java.util.regex.Pattern.sequence(Pattern.java:2111) ~[?:?] at java.util.regex.Pattern.expr(Pattern.java:2056) ~[?:?] at java.util.regex.Pattern.compile(Pattern.java:1778) ~[?:?] at java.util.regex.Pattern.<init>(Pattern.java:1427) ~[?:?] at java.util.regex.Pattern.compile(Pattern.java:1068) ~[?:?] at org.deltik.mc.signedit.UserComms.getResourceNamesFromSelf(UserComms.java:111) ~[?:?] at org.deltik.mc.signedit.UserComms.removeOldOriginals(UserComms.java:138) ~[?:?] at org.deltik.mc.signedit.UserComms.deploy(UserComms.java:91) ~[?:?] at org.deltik.mc.signedit.SignEditPlugin.onEnable(SignEditPlugin.java:65) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) [spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:432) [spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:464) [spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:378) [spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:457) [spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:274) [spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:784) [spigot-1.15.2.jar:git-Spigot-c574e08-d171d7e] at java.lang.Thread.run(Thread.java:835) [?:?]

If another plugin removes the sign during a SignChangeEvent, SignEdit for Bukkit gets a `java.lang.ClassCastException`

When BlockLocker removes a sign edited by /sign set …, Bukkit sends a SignChangeEvent without a sign block. This causes the following exception:

[18:10:29 INFO]: Deltik issued server command: /se 1 [Private]
[18:10:29 ERROR]: java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_18_R1.block.CraftBlockState cannot be cast to class org.bukkit.block.Sign (org.bukkit.craftbukkit.v1_18_R1.block.CraftBlockState and org.bukkit.block.Sign are in unnamed module of loader java.net.URLClassLoader @5c29bfd)
        at SignEdit-1.13.6.jar//net.deltik.mc.signedit.integrations.StandardSignEditValidator.validate(StandardSignEditValidator.java:56)
        at SignEdit-1.13.6.jar//net.deltik.mc.signedit.integrations.StandardSignEditValidator.validate(StandardSignEditValidator.java:51)
        at SignEdit-1.13.6.jar//net.deltik.mc.signedit.SignText.applySign(SignText.java:85)
        at SignEdit-1.13.6.jar//net.deltik.mc.signedit.interactions.SetSignEditInteraction.interact(SetSignEditInteraction.java:50)
        at SignEdit-1.13.6.jar//net.deltik.mc.signedit.commands.SignCommand.onCommand(SignCommand.java:1133)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159)
        at org.bukkit.craftbukkit.v1_18_R1.CraftServer.dispatchCommand(CraftServer.java:876)
        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2268)
        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2079)
        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2060)
        at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:46)
        at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:6)
        at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$1(PlayerConnectionUtils.java:56)
        at net.minecraft.server.TickTask.run(TickTask.java:18)
        at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:149)
        at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.c(IAsyncTaskHandlerReentrant.java:23)
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1413)
        at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:189)
        at net.minecraft.util.thread.IAsyncTaskHandler.y(IAsyncTaskHandler.java:122)
        at net.minecraft.server.MinecraftServer.bf(MinecraftServer.java:1391)
        at net.minecraft.server.MinecraftServer.y(MinecraftServer.java:1384)
        at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:132)
        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1362)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1268)
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317)
        at java.base/java.lang.Thread.run(Thread.java:833)

Unnecessary triggering of configuration reload

The config.yml file isn't checked for "modification", but for "change". So doing something like chmod o+r config.yml will trigger configuration reload (even if owner already had read permission). I sometimes do chmod and chgrp on the whole server dir to fix permissions, and also on any backup, and that triggers config reload. Nothing important, but I guess fixing this would be a simple change.

$ stat config.yml
  File: config.yml
  Size: 2383            Blocks: 8          IO Block: 4096   regular file
Device: 8,2     Inode: 4077324     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1003/      mc)   Gid: ( 1003/      mc)
Access: 2021-11-14 21:49:16.134506071 +0100
Modify: 2022-03-26 13:56:21.212597386 +0100
Change: 2022-03-28 14:25:53.067393211 +0200
 Birth: 2021-11-14 21:49:16.134506071 +0100

https://unix.stackexchange.com/questions/2802/what-is-the-difference-between-modify-and-change-in-stat-command-context:

There are 3 kind of "timestamps":

Access - the last time the file was read
Modify - the last time the file was modified (content has been modified)
Change - the last time meta data of the file was changed (e.g. permissions)

Also, I think that this auto-reload should be configurable.

`clicking: auto` mode

clicking: auto mode, which will edit a sign if the player is looking at one or will prompt for a right-click on a sign if the player is not looking at a sign.

This mode should become the new default.

SignEdit preventing the creation of Glowing Signs and Dyed text

Currently unable to create a glowing sign or being unable to dye the colour of the text on the sign. Causes the user to open the sign edit menu when clicking on the sign. This functions fine in Vanilla.

Server version: git-Paper-83 (MC: 1.20.1)
Plugin version: 1.14.0

NoSuchFileException when deploying locales from plugin JAR with spaces in full path

Issue came from @wipedx in a comment:

Hey @Deltik,
Seems like there's still an issue with spaces within plugin path's and windows not recognizing %20 as space!

[09:15:17] [Server thread/ERROR]: Error occurred while enabling SignEdit v1.11.2 (Is it up to date?)
java.lang.Error: java.nio.file.NoSuchFileException: V:\Minecraft%20Server%20Spigot\plugins\SignEdit-1.11.2.jar
      at org.deltik.mc.signedit.ResourceList.getResourcesFromJarFile(ResourceList.java:76) ~[?:?]
      at org.deltik.mc.signedit.ResourceList.getResources(ResourceList.java:61) ~[?:?]
      at org.deltik.mc.signedit.UserComms.getResourceNamesFromSelf(UserComms.java:111) ~[?:?]
      at org.deltik.mc.signedit.UserComms.removeOldOriginals(UserComms.java:136) ~[?:?]
      at org.deltik.mc.signedit.UserComms.deploy(UserComms.java:91) ~[?:?]
      at org.deltik.mc.signedit.SignEditPlugin.onEnable(SignEditPlugin.java:65) ~[?:?]
      at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) [spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:432) [spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugin(CraftServer.java:464) [spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at org.bukkit.craftbukkit.v1_15_R1.CraftServer.enablePlugins(CraftServer.java:378) [spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:457) [spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:274) [spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:784) [spigot-1.15.2.jar:git-Spigot-8faa8b4-fba9f48]
      at java.lang.Thread.run(Thread.java:835) [?:?]
Caused by: java.nio.file.NoSuchFileException: V:\Minecraft%20Server%20Spigot\plugins\SignEdit-1.11.2.jar
      at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)~[?:?]
      at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) ~[?:?]
      at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) ~[?:?]
      at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:53) ~[?:?]
      at sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:38) ~[?:?]
      at sun.nio.fs.WindowsFileSystemProvider.readAttributes(WindowsFileSystemProvider.java:198) ~[?:?]
      at java.nio.file.Files.readAttributes(Files.java:1840) ~[?:?]
      at java.util.zip.ZipFile$Source.get(ZipFile.java:1160) ~[?:?]
      at java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:719) ~[?:?]
      at java.util.zip.ZipFile.<init>(ZipFile.java:239) ~[?:?]
      at java.util.zip.ZipFile.<init>(ZipFile.java:169) ~[?:?]
      at java.util.zip.ZipFile.<init>(ZipFile.java:183) ~[?:?]
      at org.deltik.mc.signedit.ResourceList.getResourcesFromJarFile(ResourceList.java:72) ~[?:?]
      ... 14 more

(Apparently, Windows also doesn't honor line breaks and just copies this as one line ...)

EDIT: when running in a spaceless folder, it works:
image

Conflict with Lockette Pro Plugin

When i try to use /sign ui on a lock sign create by the Lockette Pro. It can be edited.

But it will cause a ClassCastException on closing the sign edit screen and the sign will be destroyed and dropped.

Error when attempting edit

image

02.04 17:52:02 [Server] INFO sxjx issued server command: /editsign 3 &d&lAutmn Egg
02.04 17:52:02 [Server] ERROR java.lang.ClassCastException: class org.bukkit.craftbukkit.v1_19_R2.block.data.CraftBlockData cannot be cast to class org.bukkit.block.data.type.WallSign (org.bukkit.craftbukkit.v1_19_R2.block.data.CraftBlockData and org.bukkit.block.data.type.WallSign are in unnamed module of loader java.net.URLClassLoader @5c29bfd)
02.04 17:52:02 [Server] INFO at SignEdit.jar//net.deltik.mc.signedit.integrations.BreakReplaceSignEditValidator.getBlockAgainstWallSign(BreakReplaceSignEditValidator.java:94)
02.04 17:52:02 [Server] INFO at SignEdit.jar//net.deltik.mc.signedit.integrations.BreakReplaceSignEditValidator.getBlockAgainst(BreakReplaceSignEditValidator.java:86)
02.04 17:52:02 [Server] INFO at SignEdit.jar//net.deltik.mc.signedit.integrations.BreakReplaceSignEditValidator.validateBlockPlace(BreakReplaceSignEditValidator.java:71)
02.04 17:52:02 [Server] INFO at SignEdit.jar//net.deltik.mc.signedit.integrations.BreakReplaceSignEditValidator.validate(BreakReplaceSignEditValidator.java:47)
02.04 17:52:02 [Server] INFO at SignEdit.jar//net.deltik.mc.signedit.SignText.applySign(SignText.java:86)
02.04 17:52:02 [Server] INFO at SignEdit.jar//net.deltik.mc.signedit.interactions.SetSignEditInteraction.interact(SetSignEditInteraction.java:50)
02.04 17:52:02 [Server] INFO at SignEdit.jar//net.deltik.mc.signedit.commands.SignCommand.onCommand(SignCommand.java:1133)
02.04 17:52:02 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
02.04 17:52:02 [Server] INFO at EssentialsX-2.20.0-dev+43-25ad8ac.jar//com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:737)
02.04 17:52:02 [Server] INFO at EssentialsX-2.20.0-dev+43-25ad8ac.jar//com.earth2me.essentials.Essentials.onCommand(Essentials.java:723)
02.04 17:52:02 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
02.04 17:52:02 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155)
02.04 17:52:02 [Server] INFO at org.bukkit.craftbukkit.v1_19_R2.CraftServer.dispatchCommand(CraftServer.java:929)
02.04 17:52:02 [Server] INFO at org.bukkit.craftbukkit.v1_19_R2.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64)
02.04 17:52:02 [Server] INFO at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264)
02.04 17:52:02 [Server] INFO at net.minecraft.commands.CommandDispatcher.performCommand(CommandDispatcher.java:313)
02.04 17:52:02 [Server] INFO at net.minecraft.commands.CommandDispatcher.a(CommandDispatcher.java:297)
02.04 17:52:02 [Server] INFO at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2288)
02.04 17:52:02 [Server] INFO at net.minecraft.server.network.PlayerConnection.lambda$handleChatCommand$20(PlayerConnection.java:2248)
02.04 17:52:02 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.b(IAsyncTaskHandler.java:59)
02.04 17:52:02 [Server] INFO at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
02.04 17:52:02 [Server] INFO at net.minecraft.server.TickTask.run(TickTask.java:18)
02.04 17:52:02 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
02.04 17:52:02 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
02.04 17:52:02 [Server] INFO at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1341)
02.04 17:52:02 [Server] INFO at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197)
02.04 17:52:02 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
02.04 17:52:02 [Server] INFO at net.minecraft.server.MinecraftServer.bh(MinecraftServer.java:1318)
02.04 17:52:02 [Server] INFO at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1311)
02.04 17:52:02 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:136)
02.04 17:52:02 [Server] INFO at net.minecraft.server.MinecraftServer.i_(MinecraftServer.java:1289)
02.04 17:52:02 [Server] INFO at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1177)
02.04 17:52:02 [Server] INFO at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316)
02.04 17:52:02 [Server] INFO at java.base/java.lang.Thread.run(Thread.java:833)

Server version: git-Paper-386 (MC: 1.19.3)
Plugin version: 1.13.7

Cannot match boolean in ancestry of net.minecraft.world.level.block.entity.TileEntitySign

Unsure how this error occurs.

Server version: git-Paper-83 (MC: 1.20.1)
Plugin Version: 1.14.1

22.07 20:52:04 [Server] ERROR java.lang.NoSuchFieldException: Cannot match boolean in ancestry of net.minecraft.world.level.block.entity.TileEntitySign
22.07 20:52:04 [Server] INFO at SignEdit-1.14.1.jar//net.deltik.mc.signedit.CraftBukkitReflector.getFirstFieldOfType(CraftBukkitReflector.java:117)
22.07 20:52:04 [Server] INFO at SignEdit-1.14.1.jar//net.deltik.mc.signedit.CraftBukkitReflector.getFirstFieldOfType(CraftBukkitReflector.java:97)
22.07 20:52:04 [Server] INFO at SignEdit-1.14.1.jar//net.deltik.mc.signedit.interactions.UiSignEditInteraction.interact(UiSignEditInteraction.java:2283)
22.07 20:52:04 [Server] INFO at SignEdit-1.14.1.jar//net.deltik.mc.signedit.listeners.CoreSignEditListener.onRightClickSign(CoreSignEditListener.java:1163)
22.07 20:52:04 [Server] INFO at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor691.execute(Unknown Source)
22.07 20:52:04 [Server] INFO at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77)
22.07 20:52:04 [Server] INFO at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77)
22.07 20:52:04 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
22.07 20:52:04 [Server] INFO at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54)
22.07 20:52:04 [Server] INFO at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126)
22.07 20:52:04 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615)
22.07 20:52:04 [Server] INFO at org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:566)
22.07 20:52:04 [Server] INFO at net.minecraft.server.level.PlayerInteractManager.a(PlayerInteractManager.java:537)
22.07 20:52:04 [Server] INFO at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1960)
22.07 20:52:04 [Server] INFO at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37)
22.07 20:52:04 [Server] INFO at net.minecraft.network.protocol.game.PacketPlayInUseItem.a(PacketPlayInUseItem.java:9)
22.07 20:52:04 [Server] INFO at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$0(PlayerConnectionUtils.java:51)
22.07 20:52:04 [Server] INFO at net.minecraft.server.TickTask.run(TickTask.java:18)
22.07 20:52:04 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
22.07 20:52:04 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
22.07 20:52:04 [Server] INFO at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1339)
22.07 20:52:04 [Server] INFO at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197)
22.07 20:52:04 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
22.07 20:52:04 [Server] INFO at net.minecraft.server.MinecraftServer.bg(MinecraftServer.java:1316)
22.07 20:52:04 [Server] INFO at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1309)
22.07 20:52:04 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:136)
22.07 20:52:04 [Server] INFO at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1386)
22.07 20:52:04 [Server] INFO at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1171)
22.07 20:52:04 [Server] INFO at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318)
22.07 20:52:04 [Server] INFO at java.base/java.lang.Thread.run(Thread.java:833)

Another plugin cannot prevent the native Minecraft 1.20 sign editor from opening

Question from the Spigot resource discussion:

hello great developer
I would like to advise on this awesome plugin
When I set clicking: "false" in config.yml
The plugin can cancel right-click editing (for minecraft 1.20+)
example
https://www.spigotmc.org/resources/preventsignedit.110670/
The current situation is..

When I set clicking: "false" in config.yml
If the player right-clicks on the logo, the plug-in will still enter the default editor of 1.20
Or am I missing something?
Thanks for any reply
Thanks also for developing this awesome plugin

@Kevin_H

Bug with /sign ui with Paper 1.17

Hi,

With Paper 1.17 the command /sign ui doesn't work anymore.

Error in the console:

21.06 11:26:14 [Server] INFO aurel85 issued server command: /sign ui
21.06 11:26:14 [Server] ERROR java.lang.IllegalAccessException: Can not set static final boolean field net.minecraft.world.level.block.entity.TileEntitySign.CONVERT_LEGACY_SIGNS to java.lang.Boolean
21.06 11:26:14 [Server] INFO at java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:76)
21.06 11:26:14 [Server] INFO at java.base/jdk.internal.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:80)
21.06 11:26:14 [Server] INFO at java.base/jdk.internal.reflect.UnsafeQualifiedStaticBooleanFieldAccessorImpl.set(UnsafeQualifiedStaticBooleanFieldAccessorImpl.java:77)
21.06 11:26:14 [Server] INFO at java.base/java.lang.reflect.Field.set(Field.java:793)
21.06 11:26:14 [Server] INFO at org.deltik.mc.signedit.interactions.UiSignEditInteraction.interact(UiSignEditInteraction.java:3152)
21.06 11:26:14 [Server] INFO at org.deltik.mc.signedit.commands.SignCommand.onCommand(SignCommand.java:1133)
21.06 11:26:14 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
21.06 11:26:14 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159)
21.06 11:26:14 [Server] INFO at org.bukkit.craftbukkit.v1_17_R1.CraftServer.dispatchCommand(CraftServer.java:821)
21.06 11:26:14 [Server] INFO at net.minecraft.server.network.PlayerConnection.handleCommand(PlayerConnection.java:2185)
21.06 11:26:14 [Server] INFO at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1996)
21.06 11:26:14 [Server] INFO at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1977)
21.06 11:26:14 [Server] INFO at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:46)
21.06 11:26:14 [Server] INFO at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:6)
21.06 11:26:14 [Server] INFO at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$1(PlayerConnectionUtils.java:36)
21.06 11:26:14 [Server] INFO at net.minecraft.server.TickTask.run(TickTask.java:18)
21.06 11:26:14 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:149)
21.06 11:26:14 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(IAsyncTaskHandlerReentrant.java:23)
21.06 11:26:14 [Server] INFO at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:1340)
21.06 11:26:14 [Server] INFO at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:193)
21.06 11:26:14 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:122)
21.06 11:26:14 [Server] INFO at net.minecraft.server.MinecraftServer.bg(MinecraftServer.java:1319)
21.06 11:26:14 [Server] INFO at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1312)
21.06 11:26:14 [Server] INFO at net.minecraft.util.thread.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:132)
21.06 11:26:14 [Server] INFO at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1273)
21.06 11:26:14 [Server] INFO at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1184)
21.06 11:26:14 [Server] INFO at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320)
21.06 11:26:14 [Server] INFO at java.base/java.lang.Thread.run(Thread.java:831)
21.06 11:26:26 [Multicraft] Skipped 1 lines due to rate limit (30/s)

The other things I tested are ok.

I use the last version of this plugin (1.12.7).

Thank you in advance.

Sign did not change

After placing a sign and then right clicking it to use the default Minecraft sign edit feature, SignEdit will send a message saying Sign did not change upon entering the UI, and will reset any changes that are made. And upon clicking done to apply the change, it'll send Player baailey just tried to change non-editable sign in console.

SignEdit Version: 1.14.0-beta3
Server Version: git-Paper-66 (MC: 1.20.1)

This does not happen on SignEdit Version 1.13.9-beta1 and Server Version git-Paper-47 (MC: 1.20.1)

Base.Profile.2023.07.07.-.23.24.03.02.DVR_Trim.mp4

Suggestions: multiline editing, shortcuts, sign brush, copying types and colors, rotating

Hi, I really appreciate your plugin and I see a couple of ways it could improve.

1. Multiline editing

It'd be so nice if you could set multiple lines on a sign with one command. I suggest using pipe character | to separate the lines. So the command would look like /sign line1|line2|line3|line4. Trailing whitespace could be trimmed on each line, or it could be configurable. With whitespace stripping, line1|line2|line3|line4 would be equivalent to e.g. line1 | line2 | line3 | line4.

The limitation of having that as the default behavior of the /sign command would be that you obviously couldn't write a single line containing e.g. the word set. To write a line like that you could just write /sign 1 set. The same applies to writing pipe chars on sign.

2. Handy shortcuts

copy could be available also as cp
paste maybe as just p? or maybe copy as c and paste as v, like ctrl c and ctrl v?
Also, I think that when the clipboard is not empty, /sign with no arguments could paste the clipboard to the sign. That could also be configurable.

3. Copying from line to line

/sign cp 1 3 could copy line 1 to line 3, the same could work with cut.

4. Sign "brush"

That's maybe the most difficult of these ideas to implement. Even better alternative to pasting by /sign would be a new "mode" - sign brush. You could look on a sign and write /sign brush, and then every sign you would click after that would change to the text of the sign you looked at when writing /sign brush. You could disable this mode by writing /sign brush again.

That mode could also set the text on every new placed sign. On creative it could even place a sign (of the type of the original sign) on every clicked block even if you weren't holding any sign.

5. Changing/copying sign type and color

It would be reeeaaally great if you could change e.g. an oak sign to spruce sign without breaking the sign. On survival, the type of sign could be swapped with the sign you're holding in hand. The same with dyes. There could be a permission, which could allow you to recover the original dye.

The brush described in the previous point could have a mode for changing only the type and color of the sign.

6. Rotating the sign

It could be really simple like /sign rotate southwest or /sign rotate 7. Without any argument it could go into "rotation mode" and then every sign you would click would be rotated one step clockwise, or one step counterclockwise if you were sneaking while clicking.


These things would really make this plugin the swiss knife of signs 😃 Sorry if I'm not describing these ideas clearly, I can show them on examples if you want.

Does not always edit the targeted sign

Editing a sign does not always edit the sign you are trying to target. It seems to target the sign at your characters eye level instead of the sign targeted by your mouse.

Stand in front of a wall of signs and try to edit one thats not directly in your eye level view by placing your cursor over it.

I had this same issue with EssentialsX /editsign command, this is what they did to fix it.

EssentialsX/Essentials#3763

Sign Ui on Spigot and Paperspigot 1.8.8

When I do the /sign ui command and click on one sign it says this error

Log

[19:49:17] [Server thread/INFO]: Tigerpanzer_02 issued server command: /sign ui
[19:49:29] [Server thread/ERROR]: java.lang.ClassNotFoundException: net.minecraft.server.v1_8_R3.BlockPosition$PooledBlockPosition
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:92)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.deltik.mc.signedit.MinecraftReflector.getMinecraftServerClass(MinecraftReflector.java:18)
at org.deltik.mc.signedit.committers.UiSignEditCommit.commit(UiSignEditCommit.java:52)
at org.deltik.mc.signedit.committers.SignEditCommit.validatedCommit(SignEditCommit.java:24)
at org.deltik.mc.signedit.listeners.Interact.onInteract(Interact.java:30)
at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300)
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502)
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:228)
at net.minecraft.server.v1_8_R3.PlayerInteractManager.interact(PlayerInteractManager.java:463)
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:763)
at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52)
at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1)
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44)
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:774)
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378)
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713)
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616)
at java.lang.Thread.run(Thread.java:748)

Suggestion: copy command

Hi,

I want to suggest a feature to we copy and paste one sign to other signs with quantity.

Something like:
/signedit copy will copy the sign to be pasted one time;
/signedit copy 5 will copy the sign to be paste for 5 times interacting with other signs;

Is something like the other plugin https://dev.bukkit.org/projects/signedit

Thanks.

Introduce permission for the use of colour codes on signs

Hi, when going through all the permissions I noticed that this plugin doesn't have a permission to specify whether colour codes can be used on signs. I can't really comprehend why?

I quite like this plugin as it simply just stands out from the rest, but I feel the only letdown is the lack of permissions for things related to colour codes.

If this could be implemented it would be appreciated. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.