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!]
I receive this eror everytime a new player joins the game 2012-06-17 17:53:09 [SEVERE] Could not pass event PlayerJoinEvent to FirstJoinPlus org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:132) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:129) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:41) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:61) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at java.lang.String.replace(Unknown Source) at me.chaseoes.firstjoinplus.FirstJoinPlusPlayerListener.onJoinLogin(FirstJoinPlusPlayerListener.java:72) 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.java:302) ... 9 more
@j2ther
@XnitemairX
I'll look into adding these for the next update. Sorry for the late reply and no recent updates - been busy with another project. But v1.4 should be out in the next few weeks.
I would love to see added support for Vanish No Packet. Since the Idea is to log on silently, when I go to log on as an Admin, it announces to everybody that I logged on, even though I still logged in silently. Please add support for this :)
Be cool to see support for http://dev.bukkit.org/server-mods/geoiptools/
So have the option to use the %country when players log on/off. Using "%name% has joined from %country" would display "j2ther has joined from United States"
@xSkivy
Do you have any other plugins (such as Multiverse or Essentials) that could be taking over spawning? Does /fjp spawn work?
Not working for me, new players spawn at my /spawn, not my firstjoinplus spawn. Yes, in the config I changed firstjoinspawning to true. Every other feature is working. Help?
@chaseoes
I'll cross my fingers it's not too hard.
@Elpres
Hmm, interesting idea, but I'm not sure it fits in with the rest of the plugin. And I'm not exactly sure how I could track them going to a different world for the first time. I can look into it though.
If you have any suggestions on what could be added for players joining for the first time - I'll gladly accept those. :)
@Ordrox
No problem, glad you like it!
I tryed your new version, and averything work well now. Thanks alot for this plugin!
Hi Chaseoes,
I was hoping you could add a feature- Item give on first spawn in a particular world?
I have a multi world server and my adventure world is where I would like the item given. I set first spawn on another world, where the player gets to choose which world to join.
Can you work that in please?
FirstJoinPlus v1.3 Released!
This version fixes some issues with display names, adds a new option to show a smoke effect upon first join, has some cleaner code, and fixes some possible issues with first join spawning.
Download it here: http://dev.bukkit.org/server-mods/firstjoinplus/files/7-v1-3/
Alternate Link: https://github.com/downloads/chaseoes/FirstJoinPlus/FirstJoinPlus-v1.3.jar
@Ordrox
Hmm, come to think of it, this plugin does not even hook into any permission plugins - it has no permissions! Rather confusing. Could you try disabling the "numberonfirstjoin" option and see if you still get the error?
I'll be releasing a new version tomorrow that should work with the latest builds and will have a couple bugfixes.
Hello, i don't think it's any permissions plugins, i have the very same logs error and i'm trying it on a server without any plugin, maybe incompatible with CB 1.2.5-R3 (The one that i use)?
@chaseoes
I've always used the latest version, so yes, I am using v1.2.1
This only happens sporadically, but any instance of it is enough to throw off my new member system... so, for the time being, I've disabled the spawnpoint functionality of your plugin (all other aspects work flawlessly) and put in the FirstSpawn plugin until I can get this resolved. You probably know how it is... the fewer plugins, the better. =)
@tmad40blue
Interesting. That error isn't from my plugin though - it appears as if it's coming from PermissionsEx. I've never used PermissionsEx before and I'm not sure how it works or what would cause that - I use PermissionsBukkit and it works just fine.
I could look into adding Vault support, that might fix any permissions-related issues. Also, are you using v1.2.1?
@chaseoes
Sorry... but the first-spawn-point stopped working AGAIN, with a DIFFERENT error...
I'm truly sorry to bother you about this so much, but first-spawn is such a critical part of how my server runs that it has to work correctly for new members to be able to join... and I get at least 15 requests every day.
@chaseoes
I figured it out. It created files on logout like you said. Everything is running smoothly now (at least with your plugin, lol).
Thanks for putting up with my stubbornness and for providing such thorough responses =)
EDIT: You should get a Tickets page up here; it's much easier to sift through all the stuff that people say about your plugins =P
@tmad40blue
If you delete their player.dat file then it will - because that's how the plugin checks to see if their new (it looks for the existance of a player.dat file). Make sure you're deleting the ones from the world new players spawn in (the 'world' option in the configuration and the one in server.properties), and that you do it after the player has logged out (since they get saved when the player logs out).
Try deleting them with the server stopped. Also, try making just a "dummy" player.dat file yourself and throw it in the folder, one that does not belong to any player, just somethingrandom.dat (not your username). That way the plugin is tricked into thinking someone has joined before and you won't get that error (I'll explain it below) and you should be able to continue testing by deleting your own player file. I think that if you delete ALL of them you'll get that error and it'll throw everything else off at least for that first join.
As for the error, it is fairly normal and *should* only happen once, the first time a player joins if no players have ever joined before (which confirms you deleted all the player.dat files since it thinks nobody has joined before).
If you need to move the spawn location, just issue the command again. It has to be set in the same world as the one they spawn in (again, the 'world' config option and the one in server.properties). After you set it double check the coords with the ones in the config.
@chaseoes
I have a SLIGHTLY different error now:
@chaseoes
It didn't work. Deleting every player.dat for a player DOES NOT cause the plugin to see them as a new member again. I need an alternative solution – I would hate to go for another plugin but at this point I may have to.