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 Dec 25, 2012How do you set it up so that the rule book has several pages?
-
View User Profile
-
Send Message
Posted Dec 24, 2012@Thyrin
Sorry! Turns out that config option shouldn't have been changed. Add this under settings:
-
View User Profile
-
Send Message
Posted Dec 24, 2012I am running FirstJoinPlus 1.7.1 and bukkit 2561. My config is thus: http://pastebin.com/ztVaPG6w
New players don't seem to by receiving any items, nor do they get them when I use the default config and change the item option to true instead of false. Is there something I am doing wrong?
-
View User Profile
-
Send Message
Posted Dec 23, 2012@Grave9912
As stated, this wasn't intended. It was actually fixed in v1.7.1 which I uploaded yesterday:
http://dev.bukkit.org/server-mods/firstjoinplus/files/17-v1-7-1/
-
View User Profile
-
Send Message
Posted Dec 23, 2012Wow all my players see the message it says when there is an update available
-
View User Profile
-
Send Message
Posted Dec 21, 2012@crohakon
Yeah, sorry, it completely broke with that update (and I think v1.7 too :|). It's only supposed to show it every 30 minutes to OP's.
@CipherMagi
Hi, per the changelog, you need to be running at least the latest RB. Your CraftBukkit is out of date.
@user_83
The book is not given with /fjp items, sorry! You can enable debug in the configuration which will treat every join as a first join to test it, just log out and back in after you do (make sure to disable it later though!).
-
View User Profile
-
Send Message
Posted Dec 21, 2012Okay, everyone on my server is getting spammed with the stupid update notification. It continues even when I disable update checks in the config. I cannot update because moving to the new bukkit will break other pluggins. Please, in next version make it so the update notification only shows once, and only for op'd players. This is annoying as hell and my players should not be spammed about it.
Sorry if this sounds mean. I just spent the last two hours reworking my permissions/groups setup which has left me grumpy. And my players keep complaining about this.
-
View User Profile
-
Send Message
Posted Dec 21, 2012Can someone explain exactly how to use the book feature?
My config is setup like this:
Then I create a .txt file in the same folder as config named rules.txt and put everything in it. but no book shows up when I use /fjp items
-
View User Profile
-
Send Message
Posted Dec 21, 2012Hi I'm running CraftBukkit version git-Bukkit-1.4.5-R0.1 -2-g3c054f3-b2485jnks (MC: 1.4.5) (Implementing API version 1.4.5-R0.2-SNAPSHOT)
and I get this error, and it's creating a blank config file...
13:01:03 [SEVERE] Error occurred while enabling FirstJoinPlus v1.7 (Is it up to date?) java.lang.NoClassDefFoundError: org/bukkit/inventory/meta/ItemMeta at me.chaseoes.firstjoinplus.FirstJoinPlus.onEnable(FirstJoinPlus.java:2 4) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader .java:374) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage r.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:270) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:252 ) at net.minecraft.server.MinecraftServer.j(MinecraftServer.java:320) at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:299) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:258) at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:147) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:398) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856) Caused by: java.lang.ClassNotFoundException: org.bukkit.inventory.meta.ItemMeta at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:34) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:29) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 12 more
-
View User Profile
-
Send Message
Posted Dec 21, 2012hum might be a whole different plugin request but it goes along the lines of your books for rules. make a plugin where you can just run a command to get the books for lets say a .txt file with the commands, rules, jokes, or whatever you want and have it set up for page by page in the .txt and name each book i.e
-
View User Profile
-
Send Message
Posted Dec 21, 2012It doesn't work for me on the 1.4.6-R0.1 #2551 it seems it doesn't even create a config file.
-
View User Profile
-
Send Message
Posted Dec 20, 2012@SteveColeman
That error is from StarterKit, not my plugin.
-
View User Profile
-
Send Message
Posted Dec 20, 2012I am getting an error Latest new installed bukkit: craftbukkit-1.4.5-R1.0.jar No other plugins installed
208 recipes 27 achievements 21:06:24 [INFO] Starting minecraft server version 1.4.5 21:06:24 [INFO] Loading properties 21:06:24 [INFO] Default game type: SURVIVAL 21:06:24 [INFO] Generating keypair 21:06:24 [INFO] Starting Minecraft server on *:25565 21:06:24 [INFO] This server is running CraftBukkit version git-Bukkit-1.4.5-R1.0-b2543jnks (MC: 1.4.5) (Implementing API version 1.4.5-R1.0) 21:06:25 [SEVERE] Could not load 'plugins\StarterKit.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/bukkit/event/player/PlayerListener at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:182) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230) at org.bukkit.craftbukkit.v1_4_5.CraftServer.loadPlugins(CraftServer.java:229) at org.bukkit.craftbukkit.v1_4_5.CraftServer.<init>(CraftServer.java:207) at net.minecraft.server.v1_4_5.ServerConfigurationManagerAbstract.<init>(ServerConfigurationManagerAbstract.java :52) at net.minecraft.server.v1_4_5.ServerConfigurationManager.<init>(SourceFile:11) at net.minecraft.server.v1_4_5.DedicatedServer.init(DedicatedServer.java:111) at net.minecraft.server.v1_4_5.MinecraftServer.run(MinecraftServer.java:398) at net.minecraft.server.v1_4_5.ThreadServerApplication.run(SourceFile:856) Caused by: java.lang.NoClassDefFoundError: org/bukkit/event/player/PlayerListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at me.youanden.StarterKit.StarterKit.<init>(StarterKit.java:28) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:178) ... 9 more Caused by: java.lang.ClassNotFoundException: org.bukkit.event.player.PlayerListener at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:70) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 28 more 21:06:25 [INFO] Preparing level "world" 21:06:25 [INFO] Preparing start region for level 0 (Seed: 8804733504117603996)
-
View User Profile
-
Send Message
Posted Dec 20, 2012v1.7 uploaded!
Now with written books! :D
Download: http://dev.bukkit.org/server-mods/firstjoinplus/files/15-v1-7/
@shankomaster
Hi! It checks for a player.dat file in your world folder.
I added the ability for it to think everyone is a new player in v1.7 - just set 'debug' to true.
@skookiesprite
Have you made sure to set 'commandsonfirstjoin' to true in the configuration under settings? It's disabled by default.
-
View User Profile
-
Send Message
Posted Dec 20, 2012How does this know of previous players, and is there anyway to disable that? I want it to think everyone is a new player (even pre-existing players)
-
View User Profile
-
Send Message
Posted Dec 17, 2012Hi I give my new users a bunch of junk through this plugin... When *I* test to see if the command executes correctly, it does, giving me all the stuff I expect and tells me that the test passed. UNFORTUNATELY, new users aren't actually geting the stuff. I'm running CB 1.4.5 r3 devbuild-whatever-number... is that why this is happening? Thanks for the great plug!
-
View User Profile
-
Send Message
Posted Dec 14, 2012@Ducky_333
Since it's a plugin conflict I can't really do much. :(
You can try bugging that author.
Since my plugin sets the join message when a player joins, I assume the other plugin is using a higher priority than it should and overriding mine.
-
View User Profile
-
Send Message
Posted Dec 13, 2012i'm also using CustomJoinMessage and the first join message from this plugin is not displaying, even when set to true. it's the only thing that is not working from this plugin.
I have it executing /say when they join, so i still got the feature I wanted. I'd just prefer the extra customizable options of the proper first join message.
-
View User Profile
-
Send Message
Posted Dec 8, 2012Well just relax, all working perfect bro :)
-
View User Profile
-
Send Message
Posted Dec 7, 2012@Mayhem777
You commented on the 4th (4 days after 1.6.2 was released) saying that they were still not working. I assumed you were using 1.6.2.