Server Tutorial Plus 1.20.0

Introduce players to your server with unlimited tutorials! Many customisations! Free!

  1. MartenM
    Native Minecraft Version:
    Legacy (< 1.13)
    Tested Minecraft Versions:
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    Source Code:
    https://github.com/MartenM/ServerTutorialPlus
    [​IMG]
    [​IMG]

    The plugin to introduce new players to your server with unlimited tutorials!

    [​IMG]
    • Create unlimited custom server tutorials.
    • Unlimited points per tutorial.
    • Unique settings for every tutorial point.
    • Give players a reward for completing the tutorial first time. (MySql supported)
    • Start a tutorial when a player joins for the first time.
    • Start a tutorial when right clicking a block.
    • Start a tutorial when right clicking an NPC.
    • In game editor (commands)
    • Stats for every tutorial.
    • Permissions per tutorial possible.
    • Block commands while in a tutorial.
    • Easy to use.
    • Lightweight. No tasks running on the background.
    • Supports the PlaceholderAPI
    Options per point
    • Send a title
    • Send a chat message
    • Send an action bar message
    • Play a sound
    • Set a players fly mode
    • Lock a player
    • Execute a command
    • Spawn fireworks
    • Add potioneffects
    • And more!
    Supported placeholders without the PlaceholderAPI: {player_name}

    Point types:
    • Timed - Proceed after a set time interval.
    • Check point - Proceed after walking into the checkpoint.
    • Click block - Proceed after clicking a block (can be a sign).
    • Command point - Proceed after the player executes the command /st next. Useful if you want other plugins to perform actions on a certain point.
    All these points offer custom settings as well to make them more unique.

    [​IMG]
    Tutorial / showcase video


    Tutorial by BrandsPickled


    English


    Spanish
    This showcase lacks new features that have been added!

    [​IMG]
    //Command permissions
    servertutorialplus.command.help
    servertutorialplus.command.create
    servertutorialplus.command.remove
    servertutorialplus.command.addpoint
    servertutorialplus.command.removepoint
    servertutorialplus.command.play
    servertutorialplus.command.player
    servertutorialplus.command.quit
    servertutorialplus.command.playpoint
    servertutorialplus.command.setblock
    servertutorialplus.command.edit
    servertutorialplus.command.npc
    servertutorialplus.command.info
    servertutorialplus.command.reload
    servertutorialplus.command.save

    //Action permissions
    servertutorial.action.removeblock


    //Permissions for tutorials
    servertutorialplus.tutorials.<Server tutorial id here>
    servertutorial.tutorial.bypass - Allows to bypass any restrictions (like blocked commands).

    [​IMG]
    /st help - Shows a help with all the commands (that you have permission for).
    /st create <id> - Create a new server tutorial.
    /st remove <id> - Remove a server tutorial.
    /st addpoint <id> - Add a point to a tutorial.
    /st removepoint <id> <point index> - Remove a point from a tutorial.
    /st info <optional: id> - Show a list of all the server tutorials or info about a specific one.
    /st gui - Show GUI to see all the servertutorials and points.
    /st player <username> - Shows stats of a player in chat.
    /st play <id> (playername) - Play a server tutorial. (Playername is optional)
    /st quit - Quit your current tutorial
    /st play <id> <point> - Play only 1 point of a server tutorial.
    /st setblock <id> - Set a interactive block that starts a tutorial when clicked.
    /st reload - Reload the plugin from the configs. (without saving first!)
    /st save - Save the current data to the configs. (without loading first!)
    /st npc <add/remove/bind/text/height> <value>
    /st edit <id> <invisible/rewards/permission/
    blockcommands/commands/chatblock> - Set settings for a tutorial as whole.
    /st editpoint <id> <point> <args> - Edit all the points at once.
    /st editpoint <id> <point> <args>

    Default args: (Applied to every point)
    time <seconds>
    Sets for how long it takes untill the next point.

    fly <true / false>
    Set fly mode to true or false.

    lockplayer <true / false>
    Prevent the player from moving.

    lockview <true / false>
    Lock the players view.

    messages <add / remove / list / clear>
    Add and remove chat messages for a point.

    commands <add / remove / list / clear>
    Add and remove commands that get executed as soon as the point is played.
    [!] NOTE: Commands should be entered without the / !

    actionbar <set / clear>
    Set a new action bar that gets played at the point or reset the current one.

    firework (Hold a firework in your hand)
    Spawns a firework at the location you stood when adding it when the point is played.

    location
    Sets your current location as the new location for the point.

    title <title / subtitle / fadein / fadeout / stay / reset>
    Set a title or subtitle to play on a point.

    sound <set / clear> (set args: <sound> <volume> <pitch>)
    Set a sound that is played on the point.
    You can find a list of all sounds here.


    potion <add / remove / list / clear>

    Adds a potion effect to the player.
    If the user holds a potion that potion effect will be added.
    Otherwise the args are like this: <potioneffect> <time (in S)> <level>

    switch <point index>
    Switch the point with the point given.

    infront <point index>
    Move a point infront of an other one.

    Optional args: (only applied to specific points)
    Checkpoint:
    distance <value (blocks)>
    The minimal amount of distance between the checkpoint and the player before completing it.


    repeatActionbar <true/false>
    If enabled, the actionbar will stay. Usefull for keeping the hint to move to the checkpoint.

    colour <red> <green> <blue>
    The colour for the checkpoint.
    [TIP]: When using values higher then 255 it will start randomizing!

    ClickBlock point:

    colour <red> <green> <blue>
    The colour for the checkpoint.
    [TIP]: When using values higher then 255 it will start randomizing!

    setblock
    Allows you to set the block.


    repeatActionbar <true/false>
    If particles should be displayed.

    teleport <true/false>
    If the player should be teleported to the point.

    [​IMG]
    Server Tutorial Plus offers a small but useful API for developers.
    For more info about the API, expand this spoiler:

    ServerTutorialApi
    Code (Text):

    public class ServerTutorialApi {
        /**
        * Starts a server tutorial for the defined player.
        * Returns true if the tutorial has been started. False in all other cases
        * @param id     Id of the server tutorial.
        * @param player The player.
        * @return       A boolean that represents if the tutorial has been started.
         */
        public boolean startTutorial(String id, Player player){

        }

        /**
        * Returns if the player is currently in a server tutorial.
        * @param uuid  The players UUID
        * @return      A boolean
         */
        public boolean isInTutorial(UUID uuid){

        }

        /**
        * Get the current servertutorial of a player.
        * @param uuid  The UUID of the player
        * @return      The servertutorial or null if not in one.
         */
        public ServerTutorial getCurrentTutorial(UUID uuid){

        }

        /**
         * Gets the controller object that manges the players tutorial.
         * @param uuid
         * @return The controller object. Null if not in a tutorial.
         */
        public TutorialController getController(UUID uuid){

        }

        /**
         * This method is used to fetch the API with ease.
         * @return An Api Object
         */
        public static ServerTutorialApi getApi(){

        }
    }
     
    To get this class simple use this piece of code:
    Code (Text):
    ServerTutorialApi stApi = ServerTutorialApi.getApi();
    //TODO: Store this somewhere for easy acces.
    Events
    The API also provides some events you can listen for.
    Code (Text):

    @EventHandler
    public void handlestart(TutorialStartEvent event){

    }

    @EventHandler
    public void handlestop(TutorialEndEvent event){

    }

    @EventHandler
    void handlePlayPoint(TutorialPlayPointEvent event){

    }
     
    Javadocs: http://servertutorialplus.martenm.nl/index
    (Note: Only contains objects you should be using when using the API)

    [​IMG]
    ☐ New point types
    ☑ Block certain commands when in a tutorial.
    Language files
    Support for more custom points. (Priority)
    Rework the edit commands.
    Bind any mob to play a tutorial (good for citizens etc)
    Add placeholder API
    NPC's that can be right clicked to play a tutorial

    [​IMG]
    Server tutorial uses bStats.org for plugin metrics. bStats
    collects some data for plugin authors like how many servers are using their plugins.To honor their work, you should not disable it. This has nearly no effect on the server performance!
    However, if you do not like all of this you are free to disable this function in the bStats config.


    If you enjoy the plugin: Please leave a review. It really helps my motivation :D

    I work on this plugin in my free time. I do not get paid for it any way, just so everybody can use it, but if you want to support me, and already left a review, than you can donate here:

    [​IMG]
    DeadMaster, TheBox, i0xHeX and 13 others like this.

Recent Reviews

  1. DrOreo002
    DrOreo002
    5/5,
    Version: 1.19.2
    Really good and useful plugin for my server!. Thanks for this!

    10/10

    ~ DrOreo002
    1. MartenM
  2. Luisikoman
    Luisikoman
    4/5,
    Version: 1.19.0
    Hey bro, the plugins looks good, but I can't use sound for any reason. Argument "set" is actually not working for me, but "clear" is.
    Please, hope you can help me, thanks.
    1. MartenM
      Author's Response
      I added an little helper function that returns possible sound enums based on what you typed. The command does work correctly though.
  3. miguelrebolo
    miguelrebolo
    5/5,
    Version: 1.19.0
    Very good plugin, Thgis its my second rating.I have one question for you "the creator".¿This plugin support armor stand?
    1. MartenM
      Author's Response
      Thanks for the review! For any questions or suggestions please use the discussion page.
  4. Kess
    Kess
    5/5,
    Version: 1.19.0
    Can you please make it that I can use citizens for the tutorials not mobs?Since it looks better that way most of the time thank you!
    1. MartenM
      Author's Response
      You can use the citizen plugin and bind a command to them.
      That command would be '/st play <id> %playername%'.
  5. NotAskaraaa
    NotAskaraaa
    5/5,
    Version: 1.19.0
    ========================================
    i give u 5starts is it posible to add toturial to npc like hypixel and 1.8.8 version ?
    ========================================
    1. MartenM
      Author's Response
      You can use the citizen plugin to start a tutorial using player NPCs.
      Full 1.8.8 support won't be coming anytime soon, sorry for that :3
  6. Florens_
    Florens_
    5/5,
    Version: 1.18.2
    Good dev, and he will try to fix your error, suggest to download this plugin. Its working great now
    1. MartenM
      Author's Response
      Thanks for the new review!
      If you have any more questions, just go to the discussion page :)
  7. Kess
    Kess
    5/5,
    Version: 1.18.2
    Testing it out I was really worried on how I was going to teach ppl the tutorial without them getting bored.
    1. MartenM
      Author's Response
      Not sure if this is a positive review?
      Thanks for the 5-stars anyway. If you have any questions just go to the discussion page :)
  8. Draggonetti
    Draggonetti
    5/5,
    Version: 1.18.1
    Highly customizable and easy to use. This is perfect for any server that wants a good, unique and interesting tutorial for players.
  9. Hilloy
    Hilloy
    5/5,
    Version: 1.18.1
    uhh why you arent selling it??? i mean this is the type of plug-ins that are usually cost money and not free you really can get money from this plugin,
    1. MartenM
      Author's Response
      Because I am a nice person ;)

      And for the people out there that want to support my (financially), there is always the donate button.
  10. alexdemond
    alexdemond
    5/5,
    Version: 1.17.2
    The plugin is amazing,and i can not believe that i can have it for free.
    Cheers!
    1. MartenM
      Author's Response
      Thanks :)