Giter Club home page Giter Club logo

servertutorialplus's Introduction

Server Tutorial Plus

A simple to use but feature rich plugin to guide players around your server.

Spigot resource page: https://www.spigotmc.org/resources/server-tutorial-plus.37741/

Contribute to project

Everyone is allowed to fork this repo and make adjustments on their own. Pull-request with new features are very much appriciated and I will make sure to take a look at them.

servertutorialplus's People

Contributors

alan67160 avatar fameless9 avatar kaspiandev avatar martenm avatar

Stargazers

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

Watchers

 avatar  avatar

servertutorialplus's Issues

something happens when the tutorial ends

Hey i have been making a tutorial for the entire day, and it was working finr until i realised that when the tutorial ends, the players can fly, even when the tutorial ended, also, i tried to make an extra point that has disabled fly, and it is still the same

When I set a first join tut the sever give me this error.

When I set a first join tut the sever give me this error.

The problem

[15:57:35] [Server thread/WARN]: [Server Tutorial Plus] Task #3456 for ServerTutorialPlus v1.21.3 generated an exception
java.lang.IllegalArgumentException: location.world
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer.teleport(CraftPlayer.java:745) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.craftbukkit.v1_15_R1.entity.CraftEntity.teleport(CraftEntity.java:491) ~[patched_1.15.2.jar:git-Paper-213]
at nl.martenm.servertutorialplus.points.ServerTutorialPoint.playDefault(ServerTutorialPoint.java:105) ~[?:?]
at nl.martenm.servertutorialplus.points.ServerTutorialPoint$1.start(ServerTutorialPoint.java:81) ~[?:?]
at nl.martenm.servertutorialplus.objects.TutorialController.finishPoint(TutorialController.java:139) ~[?:?]
at nl.martenm.servertutorialplus.points.ServerTutorialPoint$1$1.run(ServerTutorialPoint.java:86) ~[?:?]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1233) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1151) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:946) ~[patched_1.15.2.jar:git-Paper-213]
at java.lang.Thread.run(Thread.java:834) [?:?]
[15:58:04] [Craft Scheduler Thread - 31/INFO]: [Metrics] Connection timed out (Connection timed out)
[15:58:28] [Server thread/INFO]: [Server Tutorial Plus] Disabling ServerTutorialPlus v1.21.3
[15:58:28] [Server thread/INFO]: [Server Tutorial Plus] Disabling server tutorial...
[15:58:28] [Server thread/ERROR]: Error occurred while disabling ServerTutorialPlus v1.21.3 (Is it up to date?)
java.lang.NullPointerException: null
at nl.martenm.servertutorialplus.points.ServerTutorialPoint$1.stop(ServerTutorialPoint.java:93) ~[?:?]
at nl.martenm.servertutorialplus.objects.TutorialController.stopController(TutorialController.java:112) ~[?:?]
at nl.martenm.servertutorialplus.objects.TutorialController.cancel(TutorialController.java:89) ~[?:?]
at nl.martenm.servertutorialplus.ServerTutorialPlus.onDisable(ServerTutorialPlus.java:164) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:265) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:399) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:516) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:508) ~[patched_1.15.2.jar:git-Paper-213]
at com.rylinaux.plugman.util.PluginUtil.unload(PluginUtil.java:419) ~[?:?]
at com.rylinaux.plugman.command.UnloadCommand.execute(UnloadCommand.java:112) ~[?:?]
at com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:95) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:752) ~[patched_1.15.2.jar:git-Paper-213]
at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchServerCommand(CraftServer.java:714) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.DedicatedServer.handleCommandQueue(DedicatedServer.java:469) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:431) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1151) ~[patched_1.15.2.jar:git-Paper-213]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:946) ~[patched_1.15.2.jar:git-Paper-213]
at java.lang.Thread.run(Thread.java:834) [?:?]

Steps to Reproduce

  1. Restart
  2. Join on Server

Help with an question

Hello, I don't know if this is really a problem, but I would like to know what parameter I can use to identify the player who is using ServerTutorialPlus at the moment, I tried to use% player% and I couldn't, could you tell me?

Screenshot_1

Title Error

Hey! Got an error when I tried using this command. Did I use the wrong command or something?

#[18:18:35] [Server thread/INFO]: PlayingDude issued server command: /st editpoint tutorial 1 title title
[18:18:35] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'st' in plugin ServerTutorialPlus v1.21.3
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[server.jar:git-Paper-243]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[server.jar:git-Paper-243]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:739) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.PlayerConnection.handleCommand(PlayerConnection.java:1804) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1612) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1029) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1022) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1006) ~[server.jar:git-Paper-243]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:929) ~[server.jar:git-Paper-243]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Caused by: java.lang.NullPointerException
at nl.martenm.servertutorialplus.points.editor.args.TitleArg.run(TitleArg.java:37) ~[?:?]
at nl.martenm.servertutorialplus.points.editor.PointEditor.execute(PointEditor.java:31) ~[?:?]
at nl.martenm.servertutorialplus.commands.ServerTutorialCommands.onCommand(ServerTutorialCommands.java:720) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[server.jar:git-Paper-243]
... 17 more

Plugin not responding to commands anymore

The problem

image
The plugin worked perfectly at the start, no problems at all and helped me out a lot for new players. But since yesterday it just stopped responding to any command. As you can see in the image the plugin loads completely fine and finds my tutorial.

Steps to Reproduce

  1. Start server like usual

Titles and Subtiles in Waypointtutorials throw an error in Spigot 1.17

May the title and subtitle management for waypointfindings when uses with STP need a little update.
When i start and normaly we set on our parts a title, a subtile and a firework..
none of them was displayed :§

[22:46:18] [Server thread/INFO]: Cloude_Lecaw issued server command: /angelteich
[22:46:18] [Server thread/INFO]: java.lang.ClassNotFoundException: net.minecraft.server.v1_17_R1.PacketPlayOutTitle
[22:46:18] [Server thread/WARN]: java.lang.NullPointerException: Cannot invoke "java.lang.Class.getConstructor(java.lang.Class[])" because the return value of "nl.martenm.servertutorialplus.helpers.NeedsReflection.getNMSClass(String)" is null
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.helpers.NeedsReflection.sendTitle(NeedsReflection.java:29)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.ServerTutorialPoint.playDefault(ServerTutorialPoint.java:188)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.ServerTutorialPoint$1.start(ServerTutorialPoint.java:81)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.objects.TutorialController.start(TutorialController.java:78)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.commands.ServerTutorialCommands.onCommand(ServerTutorialCommands.java:392)
[22:46:18] [Server thread/WARN]: 	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[22:46:18] [Server thread/WARN]: 	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
[22:46:18] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_17_R1.CraftServer.dispatchCommand(CraftServer.java:764)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.network.PlayerConnection.handleCommand(PlayerConnection.java:1944)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1783)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1764)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:46)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:1)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:30)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.TickTask.run(SourceFile:18)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(SourceFile:151)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(SourceFile:125)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.bg(MinecraftServer.java:1125)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1118)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandler.awaitTasks(SourceFile:134)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1102)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1031)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307)
[22:46:18] [Server thread/WARN]: 	at java.base/java.lang.Thread.run(Thread.java:831)
[22:46:18] [Server thread/INFO]: java.lang.ClassNotFoundException: net.minecraft.server.v1_17_R1.PacketPlayOutTitle
[22:46:18] [Server thread/WARN]: java.lang.NullPointerException: Cannot invoke "java.lang.Class.getDeclaredClasses()" because the return value of "nl.martenm.servertutorialplus.helpers.NeedsReflection.getNMSClass(String)" is null
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.helpers.NeedsReflection.sendSubTitle(NeedsReflection.java:54)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.ServerTutorialPoint.playDefault(ServerTutorialPoint.java:189)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.ServerTutorialPoint$1.start(ServerTutorialPoint.java:81)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.objects.TutorialController.start(TutorialController.java:78)
[22:46:18] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.commands.ServerTutorialCommands.onCommand(ServerTutorialCommands.java:392)
[22:46:18] [Server thread/WARN]: 	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[22:46:18] [Server thread/WARN]: 	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)
[22:46:18] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_17_R1.CraftServer.dispatchCommand(CraftServer.java:764)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.network.PlayerConnection.handleCommand(PlayerConnection.java:1944)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1783)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1764)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:46)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:1)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:30)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.TickTask.run(SourceFile:18)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(SourceFile:151)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(SourceFile:125)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.bg(MinecraftServer.java:1125)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1118)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.util.thread.IAsyncTaskHandler.awaitTasks(SourceFile:134)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1102)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1031)
[22:46:18] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307)
[22:46:18] [Server thread/WARN]: 	at java.base/java.lang.Thread.run(Thread.java:831)
[22:47:44] [Server thread/INFO]: java.lang.ClassNotFoundException: net.minecraft.server.v1_17_R1.PacketPlayOutTitle
[22:47:44] [Server thread/WARN]: java.lang.NullPointerException: Cannot invoke "java.lang.Class.getConstructor(java.lang.Class[])" because the return value of "nl.martenm.servertutorialplus.helpers.NeedsReflection.getNMSClass(String)" is null
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.helpers.NeedsReflection.sendTitle(NeedsReflection.java:29)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.ServerTutorialPoint.playDefault(ServerTutorialPoint.java:188)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.custom.CheckPoint.access$000(CheckPoint.java:32)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.custom.CheckPoint$1.start(CheckPoint.java:63)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.objects.TutorialController.finishPoint(TutorialController.java:139)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.custom.CheckPoint$1$1.run(CheckPoint.java:72)
[22:47:44] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:81)
[22:47:44] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1252)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:436)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1200)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1027)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307)
[22:47:44] [Server thread/WARN]: 	at java.base/java.lang.Thread.run(Thread.java:831)
[22:47:44] [Server thread/INFO]: java.lang.ClassNotFoundException: net.minecraft.server.v1_17_R1.PacketPlayOutTitle
[22:47:44] [Server thread/WARN]: java.lang.NullPointerException: Cannot invoke "java.lang.Class.getDeclaredClasses()" because the return value of "nl.martenm.servertutorialplus.helpers.NeedsReflection.getNMSClass(String)" is null
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.helpers.NeedsReflection.sendSubTitle(NeedsReflection.java:54)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.ServerTutorialPoint.playDefault(ServerTutorialPoint.java:189)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.custom.CheckPoint.access$000(CheckPoint.java:32)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.custom.CheckPoint$1.start(CheckPoint.java:63)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.objects.TutorialController.finishPoint(TutorialController.java:139)
[22:47:44] [Server thread/WARN]: 	at nl.martenm.servertutorialplus.points.custom.CheckPoint$1$1.run(CheckPoint.java:72)
[22:47:44] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:81)
[22:47:44] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1252)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:436)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1200)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1027)
[22:47:44] [Server thread/WARN]: 	at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307)
[22:47:44] [Server thread/WARN]: 	at java.base/java.lang.Thread.run(Thread.java:831)

port of mysql

May I know if I can change the port of SQL in config? Because it seems it is fixed in the code.

config.setJdbcUrl(String.format("jdbc:mysql://%s:%s/%s", host, 3306, database));

PlayholderAPI issue

LOG ---> https://pastebin.com/P2zWPuvx

So pretty much I created a new ST then inserted this placeholderapi %localtime_timezone_,% and it completely locked me out of the plugin. I could only do certain commands like edit points and stuff but couldn't reload, play or quit.

However, this placeholderapi worked %localtime_time% not sure if it is your end or not. But it locked me out.

Block specific key

Feature request: Block specific key

Description:
Adding an option to block pressing a specific key.
Same thing as "block movement". If you set in that option key "E" when the player press E on his keyboard nothing happens.

Too hard to imagine with my explanation?

NPCs can be killed by /butcher and WorldGuard can despawn them?

The problem

Using /butcher or a similar command such as /killall, will kill the NPC.
Additionnaly sometimes it looks like NPCs just straight up disappear, which I think the WorldGuard flag
stopping mob spawning causes it.

Possible Solution

1 - Hook Server Tutorial Plus into Citizens2 as they cannot be butchered.
2 - Bring back /st play {player} so it can be used on a sign and such.

Steps to Reproduce

  1. Type /butcher near a NPC
  2. The NPC is killed.

unable to remove NPC and text

paper 1.16.5 st v 1.21.5
If a glitch or plugin conflict removes the NPC you are not able to delete it or the text above. You can kill the NPC but the text remains.

The problem

I created a Villager NPC but I made the mistake of having Worldguard not allow mob spawns. It spawned the NPC text but failed to create the NPC correctly. My mistake obviously but when I corrected the permission in Worldguard the NPC was still broken and was not listed in the "/st npc info". That npc does not exist but I am unable to remove or edit the text that is now an eyesore in my world.

How can I get rid of this "ghost" npc and text?

Steps to Reproduce

1.Deny mob spawning in WorldGuard.
2.Place an NPC
3.Restart server
4.Pour over configs for hours trying to remove ghost NPC.

Lockplayer on checkpoints is enabled

Lockplayer is possible on checkpoints. This should not be possible.

The problem

Lockplayer is enabled, this gets you stuck in a tutorial without being able to move.

CommandException on /st quit

Spigot 1.13.1 latest
STP 1.19.0

When I try to quit the tutorial, after being locked in place with the previous error, I get another exception.

The CommandException needs to be caught and handled appropriately.

[23:03:12 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'st' in plugin ServerTutorialPlus v1.19.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at org.bukkit.craftbukkit.v1_13_R2.CraftServer.dispatchCommand(CraftServer.java:699) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PlayerConnection.handleCommand(PlayerConnection.java:1646) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1481) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PacketPlayInChat.a(PacketPlayInChat.java:45) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.a(SourceFile:10) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_181]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_181]
        at net.minecraft.server.v1_13_R2.SystemUtils.a(SourceFile:199) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:900) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:835) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:733) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: java.lang.NullPointerException
        at nl.martenm.servertutorialplus.points.custom.ClickBlockPoint$1.stop(ClickBlockPoint.java:107) ~[?:?]
        at nl.martenm.servertutorialplus.objects.TutorialController.stopController(TutorialController.java:112) ~[?:?]
        at nl.martenm.servertutorialplus.objects.TutorialController.cancel(TutorialController.java:89) ~[?:?]
        at nl.martenm.servertutorialplus.commands.ServerTutorialCommands.onCommand(ServerTutorialCommands.java:412) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        ... 15 more

NPC, NPC list and more...

Hi, after writing the command /st npc add ... npc only flashes and disappears right away...

The server runs at 1.16.2 and I have a Citizens plugin as well.

After the creation of the NPC by order it did not deposit in my yml and I cannot delete the hologram now...

It doesn't work /st npc list, it still only shows me commands I can use after writing the command...

The /st gui command no longer works? If not, then why is he in the list ? And if it works, I don't know why he's texting me that he's not supported.

I notice that if I set the fly to true at the tutor, then after the finish everyone is still allowed and I have to manually turn it off for them.

Can't set sign as block

When editing a point, I cannot select a sign as the block for the clickblock point type.

EDIT: sign's on a wall can't be selected. Signs standing in a field (i.e. with a post) can.
EDIT 2: further testing, I can click an oak sign, but not a dark oak sign. An oak sign on the wall still can't be clicked.

The problem

According to the spigotmc website - "Click block - Proceed after clicking a block (can be a sign)."

When issuing the setblock command, it will not provide a confirmation unless you click something besides a sign.

Steps to Reproduce

1.Create Tutorial
2.Create Point
3.Edit point with setblock command
4.try and click a sign

version 1.21.2

Betonquest Issue

I want to run the /st play from console for improved automatisation in my server.
This could also be solved by providing Betonquest support (e.g. add new event to that plugin that starts a tutorial)

Newlines not supported in subtitles

Newlines not supported, causes long text to be cutoff

The problem

Subtitles (possibly more) dont support newlines, causing issues when trying to provide text

Steps to Reproduce

  1. Have long subtitle

  2. Profit

  3. Have long subtitle

  4. Insert \n somewhere

  5. Placeholder character is shown instead with no line break

add new thing

1.check take item in chest

2.when player get item

3.when player get a fish

4.when player send message or command

Bungeecord support

Hello, I have a server made up of different bungeecord servers. If it possible to make a tutorial on different servers?

NPC not loading

When typing /st npc add tutorial tutorial VILLAGER or any other mob, only the hologram appears.

The problem

Tutorial then doesn't work as no mob is present so it can't be clicked

Possible Solution

Make a hologram option

Steps to Reproduce

Video

Title/Playsound/firework bug

In my tutorial the fireworks do not happen. The playsound does not work ENTITY_PLAYER_LEVELUP and the title / subtitle doesn’t appear

Steps to Reproduce

1.download plugin and add to server and startup
2.make a tutorial
3. Add a firework. Title. And playsound ENTITY_PLAYER_LEVELUP to the first point
4.play tutorial

Internal Error

Whenever Server is reloaded plugin breaks

MC Version: 1.16.5

Steps to Reproduce

  1. Create tutorial
  2. Save tutorial
  3. Restart Server
  4. Do tutorial
  5. Restart Server
  6. See error

Update Broke Permission

After updating to the latest version, players can no longer use but ops can.

Steps to Reproduce

  1. Update
  2. Try to use

Toggle Sprint Fly Issue

Players using toggle sprint mod when made to not be able to move are able to fly up and down with it.

Steps to Reproduce

  1. Install Toggle Sprint Mod
  2. Default Lunar Client Toggle Sprint Settings
  3. Create a point with ServerTutorialPlus and add the property of the player not being able to move during it.
  4. Play the point and toggle sprint during it.
  5. Hold space or shift to see if you are able to fly up and down.

GUI Bug

Error when trying to use GUI

The problem

I get an error in the console when I try to access the tutorial gui. When I click on the apple it gives me this error
https://pastebin.com/EC5Z4DUX

Possible Solution

Coding error somewhere

Steps to Reproduce

  1. Do /st tutorial
  2. click on the apple

New feature: Can't see others chatting during tutorial

Hi,
I couldn't remember, where I wrote it to you, about the option for not to see others in chat during tutorial, so I decided to wrote it here, to issues.

The problem is, that if you have server with a lot of people online and you want to use chat info during tutorial, the player is almost unable to see this messages, because of the spam in chat.

Solution for this:
At the moment of joining tutorial, player can see messages only from the tutorial. Nothing else.
Without this option are chat messages unuseful for us.

Thank you for reading this :)

Error when setting fly status

[18:42:00 WARN]: [Server Tutorial Plus] Task #4462 for ServerTutorialPlus v1.20.
1 generated an exception
java.lang.IllegalArgumentException: Cannot make player fly if getAllowFlight() i
s false
        at org.bukkit.craftbukkit.v1_9_R2.entity.CraftPlayer.setFlying(CraftPlay
er.java:1146) ~[24.jar:git-Spigot-4af49dc-c5e9a16]
        at nl.martenm.servertutorialplus.objects.TutorialController.lambda$resto
rePlayer$1(TutorialController.java:100) ~[?:?]
        at org.bukkit.craftbukkit.v1_9_R2.scheduler.CraftTask.run(CraftTask.java
:71) ~[24.jar:git-Spigot-4af49dc-c5e9a16]
        at org.bukkit.craftbukkit.v1_9_R2.scheduler.CraftScheduler.mainThreadHea
rtbeat(CraftScheduler.java:350) [24.jar:git-Spigot-4af49dc-c5e9a16]
        at net.minecraft.server.v1_9_R2.MinecraftServer.D(MinecraftServer.java:7
34) [24.jar:git-Spigot-4af49dc-c5e9a16]
        at net.minecraft.server.v1_9_R2.DedicatedServer.D(DedicatedServer.java:3
99) [24.jar:git-Spigot-4af49dc-c5e9a16]
        at net.minecraft.server.v1_9_R2.MinecraftServer.C(MinecraftServer.java:6
65) [24.jar:git-Spigot-4af49dc-c5e9a16]
        at net.minecraft.server.v1_9_R2.MinecraftServer.run(MinecraftServer.java
:564) [24.jar:git-Spigot-4af49dc-c5e9a16]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]

nl.martenm.servertutorialplus.objects.TutorialController.lambda$resto rePlayer$1(TutorialController.java:100)

Right-click on CLICK_BLOCK misbehaves

The problem

Spigot 1.16.5-3028 or Paper 1.16.5-565 (and many versions prior)
ServerTutorialPlus 1.21.5

I have encountered an anomaly. It may have always been true, or may be related to a click-handling change in 1.16.5. When running a tutorial, when a player right-clicks on a CLICK_BLOCK with an item -- i.e., with a non-empty hand, for example a sword or axe -- the player skips a step in the tutorial. It is almost as if the right-click is processed twice. (If the player right-clicks with an empty hand, or left-clicks with the same item, the steps progress as configured.) All steps are CLICK_BLOCK activated.

Also see related feature request.

Steps to Reproduce

  1. Create tutorial, as linked below. Each step has a CLICK_BLOCK, which is a single black_stained_glass_pane atop a single iron_bars (an image is appended).
  2. Start the tutorial.
  3. At any point, right-click on a CLICK_BLOCK with a sword or axe or ...
  4. Observe that a step is skipped. The steps are numbered in the subtitles, to make this clear.

Sample tutorial

http://blackdog.straight8.com/drops/tutorialsaves.yml

Images

Screen Shot 2021-03-23 at 2 20 40 AM

Return after single play point locks player movement

Spigot 1.15.2
ServerTutorialPlus 1.21.3

The problem

The tour works correctly if I play the entire tour to end. But I cannot move after playing a single point.

Steps to Reproduce

  • [in creative mode]
  • /st playpoint biome-tour 1
  • [arrive at playpoint]
  • /essentials:back
  • [return to previous point]

The point (1 above) can be any of the 19 points on the tour. I cannot move laterally (in X- or Z-axis). I can fly (in Y-axis), in the same column (note: in creative mode).

Additional attempts:

  • If I transport to a different world and return (Multiverse), I still cannot move
  • If I disconnect/reconnect, I still cannot move.
  • If I /st play biome-tour, I am transported to point 1, but sign-click does not transport me to point 2.
  • If I /st play biome-tour and /st quit, then I can move again.

config.yml

no permission command: You do not have permission to execute this command.
no permission tutorial: You do not have enough permissions to play this tutorial.
enable first join tutorial: false
first join tutorial id: ''
language: English
npc:
  remove-invalid: false
  retry-time: 5
command-whitelist:
- help

tutorialsaves.yml

tutorials:
  biome-tour:
    stats:
      plays: 23
    invisible: false
    permission: false
    block-chat: false
    blocks-commands: true
    rewards: []
    command-whitelist: []
    points:
      '0':
        type: CLICK_BLOCK
        location: world -199.5 64.0 4535.5 90.0 0.0
        time: 2.0
        locplayer: true
        locview: false
        messages: []
        commands: []
        title:
          title: BAMBOO JUNGLE
          subtitle: biome tour
          fade-in: 20
          stay: 100
          fade-out: 20
        blocklocation: world -202.0 65.0 4535.0 0.0 0.0
        particles: false
        colour: 223 223 223
        teleport: true
      '1':
        type: CLICK_BLOCK
        location: world 185.5 63.0 -3523.5 90.0 0.0
        time: 2.0
        locplayer: true
        locview: false
        messages: []
        commands:
        - summon minecraft:cod 179.0 62.0 -3524.0
        title:
          title: BIRCH FOREST
          subtitle: biome tour
          fade-in: 20
          stay: 100
          fade-out: 20
        blocklocation: world 183.0 64.0 -3524.0 0.0 0.0
        particles: false
        colour: 223 223 223
        teleport: true
...
      '20':
        type: TIMED
        location: world 6.5 64.0 0.5 -108.8 0.0
        time: 1.0
        locplayer: false
        locview: true
        messages: []
        commands: []
        title:
          title: THE END
          subtitle: biome tour
          fade-in: 10
          stay: 0
          fade-out: 10

Tutorial Spawn

Is it possible to set it so that new players are forced to go through the tutorial?

Velocity Points [FEATURE]

I've seen this somewhere, can't quite remember where, but they've set their tutorial on spawn and if you started it you will fly you above the spawn in trail and it will show you the things there are. I think these points that it will teleport you from point to point are cool, but thinking about it will fly you from point to point is next level tutorial for me. Is it possible to add it ? That it will fly you in straight line from point to point ? thanks!

Feature request: Left-click/right-click configurable

The problem

Left-click and right-click on STP targets are interchangeable (or indistinguishable, if you prefer). If would be nice if right-click and left-click were handled separately (and configurable, of course). Possible configurable options for any STP target:

    points:
      '0':
        type: CLICK_BLOCK
        location: world -199.5 64.0 4535.5 90.0 0.0
        time: 2.0
        locplayer: true
        locview: false
        clicks:
          left: default | ignore | quit
          right:  default | ignore | quit
...

Example use case:

  • left-click: proceed to the next step
  • right-click: quit the tutorial

Permission Error

When I had a Tut name "a" and i dont want to play that tut for a user i set th perm
image
to false and the play perm to true because i want to play other tuts

But i can play the tut a

SQL Error Specified key was too long

Plugin produced error after configuring SQL to a mariadb server.

The problem

Error while performing an SQL query! Specified key was too long; max key length is 767 bytes

Steps to Reproduce

  1. Setup a MariaDB server and create a database for server tutorials
  2. Configure access permissions
  3. edit config.yml
  4. restart server
  5. watch log for error [Server Tutorial Plus] Error while performing an SQL query! Specified key was too long; max key length is 767 bytes

Work-around:
The error is produced when Server Tutorials Plus attempts to create the Tutorial_Players table.
I looked at the source code and hand-crafted this query and input it manually to mariadb.

CREATE TABLE Tutorial_Players ( uui VARCHAR(64) NOT NULL, tutorial VARCHAR(255), KEY PRIMARY KEY (uui,tutorial) USING BTREE );

After creating the table manually, server tutorials plus is seemingly able to use it.

Users can not start the tutorial by right clicking on a block

Users can not start the tutorial by right clicking on a block. If i remove all permissions from myself and delete my userdata from the server to be treated as a new user, it still works for me. Every single user that has tried it, it does not work for them

The problem

Users can not start the tutorial

Steps to Reproduce

Live example: mc.oilpen.org

The second you spawn in you will be in the spawn room and there are 2 gold blocks that start tutorials and neither of them work for anyone besides me.

Feature Console commands and more permissions

Please add Console commands and permission.
/st quit %player%
/st next %player%
Permission for /st next

I have a tutorial there the player should'nt be able to do this commands by themself (executed by console) but after this they are allowed to do this.

Much love.

EventException trying to right-click on first play point

Spigot 1.13.1
STP 1.19.0

My tutorial was working. Obviously I changed something, but I cannot determine what. After a server reboot, if I start the tutorial, I am transported to the first play point. When I try to right-click on it:

[22:27:00 ERROR]: Could not pass event PlayerInteractEvent to ServerTutorialPlus v1.19.0
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:308) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:240) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PlayerInteractManager.a(PlayerInteractManager.java:452) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1242) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.a(SourceFile:10) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_181]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_181]
        at net.minecraft.server.v1_13_R2.SystemUtils.a(SourceFile:199) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:900) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:835) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:733) [spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: java.lang.NullPointerException
        at nl.martenm.servertutorialplus.points.custom.ClickBlockPoint$1$1.run(ClickBlockPoint.java:77) ~[?:?]
        at nl.martenm.servertutorialplus.managers.clickactions.ClickManager.handleClickAction(ClickManager.java:43) ~[?:?]
        at nl.martenm.servertutorialplus.events.OnPlayerInteractEvent.onPlayerInteractEvent(OnPlayerInteractEvent.java:30) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) ~[spigot-1.13.1.jar-2018-10-04-0610:git-Spigot-f6a273b-02518f9]
        ... 17 more

This EventException needs to be caught, in order to provide a more informative error message to the user. What is the underlying issue? Where is the click event failing? At what location?

Citizens NPC Bind Problem

I'm trying to bind my tutorial to a Citizens NPC, but when I'm in the selection mode and I select the NPC right-clicking it, nothing happens.

It doesn't give me any log...

I don't know if you still support ancient versions like Paper 1.8.8, but I would love to know if it is possible for you to help me with this.

Thank you & great job with ServerTutorialPlus!

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.