FirstJoinPlus
FirstJoinPlus allows you to control every aspect of when new players join. Give new players a starter kit, a special spawn location, have the console run commands, launch fireworks, and more!
Existing players won't get told they joined for the first time after installing this.
- Announce that a new player has just joined (optionally with the amount of unique players that have joined!).
- Launch a firework or show a cool smoke effect.
- Give the player a written book with welcome information (example book here)!
- Give a starter kit with items defined in the configuration.
- Force the player or the console to run configurable commands.
- Set the player as invincible (from everything, including PVP) for a pre-defined amount of time.
- Much more, check out the configuration below!
- New players not spawning at the first join spawnpoint?
You have a conflicting plugin. Set the 'delay-everything-below-by' value in the configuration to a higher value, such as 5 or 10 (this option is set in ticks).
- Want this plugin to kick in for every join instead of only first joins?
Set 'every-join-is-first-join' in the configuration to true - this will treat every join as a first join. Great for hub servers as you can have the player teleported back to spawn every join, launch a firework every join, and you can set the join and quit messages to %none to completely hide them.
- The display name variable is using their normal name and not their display name?
This means another plugin is setting the display name after FirstJoinPlus is getting it, despite FirstJoinPlus using a normal priority. Set the 'delay-everything-below-by' value in the configuration to a higher value, such as 5 or 10 (this option is set in ticks).
- Is it possible to do X in the first-join starter kit?
The starter kit functionality has been left as simple as possible. You can only give items based off of their names and set the amount to give, as shown in the default configuration. Things like setting data values, display names, lore, etc isn't possible, simply because I want to leave this plugin as a first-join plugin and not a kit plugin.
If you need to do more, I suggest finding a fully featured kit plugin, and using it alongside FirstJoinPlus by having FirstJoinPlus run a command from that kit plugin on first join.
| Command | Description | Permission |
| /firstjoinplus | Show general plugin information. | (none) |
| /firstjoinplus help | Show all available commands. | (none) |
| /firstjoinplus reload | Reload the plugin's configuration. | firstjoinplus.reload |
| /firstjoinplus setspawn | Set the location where new players will spawn. | firstjoinplus.setspawn |
| /firstjoinplus debug | Test your configuration as a new player. | firstjoinplus.debug |
The command /fjp can be used as an alias in place of /firstjoinplus. All commands default to OP's, no permissions plugin required!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | # FirstJoinPlus Configuration -- Configuration Help: http://dev.bukkit.org/bukkit-plugins/firstjoinplus/ # settings: allow-automatic-updating: true every-join-is-first-join: false on-first-join: delay-everything-below-by: 0 first-join-message: enabled: true message: '&d%player_name has joined for the first time!' fun-stuff: play-sound: enabled: true sound-name: entity_player_levelup listen-permission: firstjoinplus.notify smoke-effect: enabled: true launch-firework: enabled: true first-join-kit: enabled: true items: - wood_sword - wood_pickaxe - wood_spade - wood_axe - bread:5 give-written-books: enabled: false book-files: - rules.txt give-experience: enabled: false level-amount: 0 modify-damage: disable-pvp: enabled: false expire-after: 10 god-mode: enabled: false expire-after: 10 run-commands: enabled: false commands: - me just joined for the first time! run-console-commands: enabled: false commands: - setgroup %player_name newbies apply-potion-effects: enabled: false effects: - SPEED:1:15 send-messages: enabled: false messages: - '&2Welcome to our server, %player_name! Customize this message in the FirstJoinPlus configuration.' - '&6http://dev.bukkit.org/server-mods/firstjoinplus/' reset-state: enabled: false teleport: enabled: false x: 0 y: 64 z: 0 pitch: 0 yaw: 0 world: world other-messages: join-message: enabled: false message: '&e%player_name joined the game.' quit-message: enabled: false message: '&e%player_name left the game.' kick-message: enabled: false message: '%none' |
Configuration Tips
- The delay-everything-below-by option is set in ticks, while the disable-pvp and god-mode expiration options are set in seconds.
- Click here for a list of valid material names you can use in the first join kit section.
- Click here for a list of valid potion effect types for the first join potion effects section.
- A list of valid sound names for the notify on first join section is available here.
Available Variables
Variables are used throughout the configuration to display different text (see the description).
| Variable | Description |
| %player_name | The name of the player. |
| %player_display_name | The display name of the player. |
| %player_uuid | The UUID of the player. |
| %total_players | The number of unique players that have joined. |
| %random_player | The name of a random online player. |
| %random_player_display_name | The display name of a random online player. |
| %none | Used in join, quit, and kick messages to completely disable them. |
| %player_country | The player's country (GeoIPTools required). |
| %player_city | The player's country (GeoIPTools required). |

Please click here to donate and support the development of my plugins!
We include an auto updater that checks if there is an update available and/or downloads the latest version for you. It is enabled by default. You may disable this in the configuration.
We use Metrics to collect anonymous usage stats such as the plugin version, server version, and amount of players online. If you want to see everything, click on the graph above. You may disable data collection in the Metrics configuration.
[ONELINER:FirstJoinPlus allows you to control every aspect of when players join for the first time. Give starter kits, experience, a special spawn location, a group, and more!]











-
View User Profile
-
Send Message
Posted Jan 13, 2013Hey.
There seems to be some mix-up with the default config. Several config options such as: showfirstjoinmessage: true are missing from the default config, which resulted in "bla joined for the first time" not showing up at all.
I couldn't find it in here either: https://github.com/chaseoes/FirstJoinPlus/blob/master/config.yml so it's not just me.
I fixed that by simply using this one: https://github.com/chaseoes/FirstJoinPlus/wiki/Configuration and now the message shows up. Just wanted to let you know.
Also, great job on the plugin (if you know who I am ;), I didn't think anyone would continue this plugin for such a long time, it has a few too many features for my taste, but each to his own :D)
-
View User Profile
-
Send Message
Posted Jan 12, 2013@AconitumNapellum
Change 'itemsonfirstjoin: true' to 'itemonfirstjoin: true'.
-
View User Profile
-
Send Message
Posted Jan 12, 2013http://pastie.org/5674956
that is my fjp config. newbies are not receiving the sponge and only the number of unique players is appearing on the server when a new player logs in. do you know where is my error?
-
View User Profile
-
Send Message
Posted Jan 11, 2013@Enrux
I'm not sure what has been asked twice.
Take away your permission for tf2.notify
-
View User Profile
-
Send Message
Posted Jan 7, 2013How can I disable the notify-sound?
Maybe you should update the explanation of the config to avoid people asking many times the same things.
-
View User Profile
-
Send Message
Posted Jan 7, 2013The first join spawn is all messed up lol, i set it in game, join with a new name and it spawns me in some crazy place but if i type the /firstjoinplus spawn command then it takes me to where i set the first join spawn location.....
-
View User Profile
-
Send Message
Posted Jan 6, 2013Hi!
I get lots of errors when new users join my server. I've tried uninstalling and re-installing FirstJoinPlus but it doesn't improve things. Anyone has any idea what it might be?
17:59:54 [SEVERE] Could not pass event FirstJoinEvent to FirstJoinPlus v1.7.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:462) at me.chaseoes.firstjoinplus.PlayerListeners.firstJoinDetection(PlayerLi steners.java:32) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:425) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:462) at net.minecraft.server.v1_4_6.PlayerList.c(PlayerList.java:156) at net.minecraft.server.v1_4_6.PlayerList.a(PlayerList.java:95) at net.minecraft.server.v1_4_6.PendingConnection.d(PendingConnection.jav a:130) at net.minecraft.server.v1_4_6.PendingConnection.c(PendingConnection.jav a:45) at net.minecraft.server.v1_4_6.DedicatedServerConnectionThread.a(Dedicat edServerConnectionThread.java:44) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:29 ) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:59 8) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:22 4) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:49 4) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java: 427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:84 9) Caused by: java.lang.NullPointerException at me.chaseoes.firstjoinplus.Utilities.getUniquePlayerCount(Utilities.ja va:89) at me.chaseoes.firstjoinplus.Utilities.format(Utilities.java:83) at me.chaseoes.firstjoinplus.FirstJoinListener.onFirstJoin(FirstJoinList ener.java:91) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:425) ... 23 more
-
View User Profile
-
Send Message
Posted Jan 4, 2013@grimmie
Yes, use the '&' character.
-
View User Profile
-
Send Message
Posted Jan 4, 2013@PyPKjE
Configuration?
-
View User Profile
-
Send Message
Posted Jan 4, 2013server error 1.4.6 r0.3 pleas fix
[SEVERE] Could not pass event FirstJoinEvent to FirstJoinPlus v1.7.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at me.chaseoes.firstjoinplus.PlayerListeners.firstJoinDetection(PlayerListeners.java:32) at sun.reflect.GeneratedMethodAccessor358.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.v1_4_6.PlayerList.c(PlayerList.java:156) at net.minecraft.server.v1_4_6.PlayerList.a(PlayerList.java:95) at net.minecraft.server.v1_4_6.PendingConnection.d(PendingConnection.java:130) at net.minecraft.server.v1_4_6.PendingConnection.c(PendingConnection.java:45) at net.minecraft.server.v1_4_6.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:44) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:29) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at me.chaseoes.firstjoinplus.Utilities.giveFirstJoinItems(Utilities.java:94) at me.chaseoes.firstjoinplus.FirstJoinListener.onFirstJoin(FirstJoinListener.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 22 more
-
View User Profile
-
Send Message
Posted Jan 1, 2013Are styles supported in the books? I tried to use them, but the § character shows up as ? in-game, which prevents styles from being used in my books.
-
View User Profile
-
Send Message
Posted Dec 30, 2012To anyone having issues with getting firstjoinitems, the node itemsonfirstjoin: is incorrect, the highlighted s is the fault. Change the node to, or add the node "itemonfirstjoin: true" to enable it.
-
View User Profile
-
Send Message
Posted Dec 29, 2012@z00100100
A list can be found here:
http://jd.bukkit.org/apidocs/org/bukkit/Sound.html
@user_798660
Hmm, not sure. Here's the text file I used when testing the feature:
http://pastebin.com/2wpGw5Q3
-
View User Profile
-
Send Message
Posted Dec 29, 2012hi i was wandering for a list of sounds that can be used for the config
-
View User Profile
-
Send Message
Posted Dec 28, 2012@chaseoes
I am also unable to create new pages.
I have tried:
/np (text)
'/np' (text)
'/np (text)'
/np
(text)
'/np'
(text)
Am I missing something?
-
View User Profile
-
Send Message
Posted Dec 28, 2012M8 - whem my user join 1st time - after egister they dont stay on FirstjoinSapwn - but they go outside my spawn -.-
-
View User Profile
-
Send Message
Posted Dec 27, 2012@chaseoes
Thanks. :)
-
View User Profile
-
Send Message
Posted Dec 27, 2012@Faffling94
Make sure the the 'worldname' option under settings is correctly set.
-
View User Profile
-
Send Message
Posted Dec 27, 20122012-12-27 23:20:46 [SEVERE] Could not pass event FirstJoinEvent to FirstJoinPlus v1.7.1 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at me.chaseoes.firstjoinplus.PlayerListeners.firstJoinDetection(PlayerListeners.java:32) at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.v1_4_6.PlayerList.c(PlayerList.java:156) at net.minecraft.server.v1_4_6.PlayerList.a(PlayerList.java:95) at net.minecraft.server.v1_4_6.PendingConnection.d(PendingConnection.java:130) at net.minecraft.server.v1_4_6.PendingConnection.c(PendingConnection.java:45) at net.minecraft.server.v1_4_6.DedicatedServerConnectionThread.a(DedicatedServerConnectionThread.java:44) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:29) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at me.chaseoes.firstjoinplus.Utilities.getUniquePlayerCount(Utilities.java:89) at me.chaseoes.firstjoinplus.Utilities.format(Utilities.java:83) at me.chaseoes.firstjoinplus.FirstJoinListener.onFirstJoin(FirstJoinListener.java:91) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) ... 22 more
-
View User Profile
-
Send Message
Posted Dec 26, 2012@crohakon
Use '/np' on a separate line to separate pages.