Paintball v1.2 Paintball is a bukkit plugin that adds a paintball game to your minecraft server. The spout plugin is required, and Spectate is optional. Spoutcraft is also optional, but is highly recommended for the best paintball experience. Setup Download the most recent recommended build here. Once you put the plugin on your server, download Spout and if you want to, Spectate. Make a paintball map (read Maps below). Use /pb ammo to set the amount of ammo players get when the game starts. Use /pb emptyinv to set multiinv compatibility. It requires the players inventory to be emtpy (in the world that the game starts, not the world they are in before they are teleported) If you want to use a lobby instead of returning players to their previous location, use /pb uselobby. It will automatically set the lobby to your current location (to make sure the lobby is never null). You can change where the lobby is with /pb setlobby. To teleport to the lobby at any time, use /pb lobby. Use /pb save to save the configuration file. It saves automatically when the server is disabled, but if the server isn't disabled correctly, you might lose your settings. You're all set! Scroll down for more in-depth information and features. Maps Use /pb map create <name> to make a new map. Use /pb map <name> red to set the red spawn. Use /pb map <name> blue to set the blue spawn. Use /pb map <name> spectate to set the spectating location. Use /pb map <name> redflag to set the red CTF flag (you must do this even if you don't plan on playing CTF) Use /pb map <name> blueflag to set the blue CTF flag. Save the maps with /pb map save. Only playable maps will be saved. Use /pb map list to view current playable and unplayable maps. When all locations are set a map will automatically be moved to playable. How To Play If you want to play tdm, use /pb tdm <map> (score). If you want to play capture the flag, use /pb ctf <map> (score). Score is optional (how many kills/captures are required to end the game). If you're playing TDM, the rules are simple. Shoot each other. If you're playing CTF, the rules are a bit more complicated. To take the enemies' flag, run up to it (it'll be a block of wool the color of the team) and break the block. Once you break it, you're helmet will be wool the color of the flag you took. To capture the flag, get to within 5 blocks of your own flag (it has to be at base). If you get shot with the flag, you'll drop it where you die. To pick it up/return it, just break the block. When the kill or capture limit is reached, the game will end. Spoutcraft If you don't have Spoutcraft, you won't have access to the following features: Skins (showing difference between teams) Gun sound effects Gun texture Starting/Ending sounds Texture pack (for snowballs) Commands /pb ctf <map> <score> - Start a game of ctf, map and score optional /pb tdm <map> <score> - Start a game of tdm, map and score optional. If score is blank each player will have one life, otherwise each kill will give 1 point to the killing team, and the first team to the score wins. /pb next - Starts the next game in the map rotation /pb join - Puts you on the list of people to play the next game /pb save - Save the configuration file manually /pb ammo - Set ammo /pb emptyinv - Toggle mutliinv compatibility /pb match end <index> - Ends the current game of paintball /pb match list - Shows matches currently in play /pb maprotation - Shows current maprotation /pb maprotation list - Shows all maprotations (do this if the command above says there isn't one) /pb map list - Lists maps /pb map save - Saves maps /pb leave - Removes you from the list of people to play the next game /pb list - List current paintball players or the opt list /pb texture - Sets your current texture to the one used when paintball is played (configurable). This fixes the couple second freeze when the textures change (but snowballs will always look like paintballs) /pb kills <name> - Shows total kills that the player has gotten /pb deaths <name> - Shows total deaths the player has gotten. /pb captures <name> - Shows how many captures the player has made. /pb returns <name> - Shows how many times the player has returned a flag Permissions Version 0.3 adds permissions in addition to using player.isOp(). Check the list below: paintball.admin - Allows use of /pb admin commands (starting, stopping, force ending, etc.) Map Rotation Version 0.8 and onward have a map rotation system. The configuration is all in the file, and there will be a tutorial to (hopefully) describe how to set it up. Basically, it'll look like this: Code: ExampleRotation: StartDelay: 45 Games: herpaderpa: gamemode: 0 score: 25 map: ice ctfftw: gamemode: 1 score: 3 map: ice GameNames: - herpaderpa - ctfftw It might look a little redundant (what with the game names being in two places), but that's due to me being retarded and not knowing how to use config.getKeys("path"); Anyways, to use it, just change the gamemode (0 is TDM, 1 is CTF), the score (TDM is kills, but if it's set to -1 each player will have one life, CTF is flag captures), and the map (it has to be a valid map that you already made). Game names can really be whatever you want, it doesn't matter as long as you put them in GameNames as well. The StartDelay is in seconds, and should be more than 10. To set the map rotation in-game, use these commands: /pb maprotation - Shows current map rotation (will be first one in maprotation.yml unless you change it) /pb maprotation list - Shows a list of map rotations /pb maprotation <rotation> - Sets the maprotation to the one specified /pb next - Starts the next game in the rotation Configuration As stated previously, all most of the configuration can be done in-game. If you want to edit the file, or change the paintball gun texture, texture pack used (to change snowballs), or change the gun sound effect (must be in .wav or .ogg), you have to edit the file manually. Here is the default configuration file: Code: Downloads: TexturePack: http://dl.dropbox.com/u/17402100/SME/paintballtexturepack.zip GunTexture: http://i.imgur.com/y93Sv.png GunSound: http://dl.dropbox.com/u/17402100/SME/gun.ogg UseOptSystem: false Skins: Red: http://www.minecraftskins.com/newuploaded_skins/skin_2012060716315492515.png Blue: http://www.minecraftskins.com/newuploaded_skins/skin_2012060716333238485.png MultiVerseCompatibility: EmptyInventoryRequired: false UseVoteSystem: true StartingAmmo: 32 AutoStart: false UseLobby: false Video Tutorials v0.8 - OUTDATED (Move your mouse to reveal the content) v0.8 - OUTDATED (open) v0.8 - OUTDATED (close) v0.7 - OUTDATED (Move your mouse to reveal the content) v0.7 - OUTDATED (open) v0.7 - OUTDATED (close) v0.6 - OUTDATED (Move your mouse to reveal the content) v0.6 - OUTDATED (open) v0.6 - OUTDATED (close) Changelog Version 1.2: Updated to 1.5.2 R1.0 Version 1.1: Built off of 1.0, so it isn't exactly the same as the old versions. Still can run multiple matches at once Autostart option does matter again. Starts when the set amount of players join the game. If autostart is on, when a set number of players opts in to paintball (value in the config is 'PlayersToStart') the game starts Useopt has to be true (sorry bout that) Statistics with SQLite database. Tracks total kills, deaths, captures, and returns. Commands to access data are /pb kills <name>, /pb deaths <name>, /pb captures <name>, /pb caps <name>, and /pb returns <name>. Caps returns the same thing as captures (obviously). They were broken in 1.0, because I'm dumb. They work now. If you get an error after creating a map and trying to start the game, its because you don't have a valid maprotation yet. Just reload the server after doing /pb map save and it will create an example rotation based on the map(s) you have created. You can use /pb match list to see matches currently going on (just shows index, no details). The index is based on when it started, so lowest is earliest. You can use /pb match end <#> to end a match. If you start a game with one person in it, for example, and it's TDM, you can force a normal game ending. You can use /pb match force <#> to dispose of a match entirely. This just throws out the object, every player will be left where they are without their items and previous locations saved. GUI's will also still be on screen. Use in emergencies when you don't want to restart the server. The start commands were missing from 1.0, I added them back in. Format is the same as 0.9 and below. Version 0.9 Lobby added (optional) Bugfix for multiworld servers (if you had any errors related to entities and ticks, updating should fix it) Version 0.8 Auto-Starter added. Map rotations added. A SHIT TON of bugs fixed. Sorry bout all those (there's probably quite a few more) Lives/multiple CTF captures added More GUI stuff Version 0.7 CTF added, start commands changed. Simple Spoutcraft GUI added Ammo added Map setup changed, need to add red and blue flags to all maps (re-read setup and how to play please) Auto updater re-added (took it off for bukkitdev, forgot to uncomment it), if you run 0.6 it should have told you that an update was available though. Version 0.6: Map system added. Vote system added. Added multiverse compatibility check. Letting you know about /pb shotty (gives a shotgun, its been in there for a while). If you have certain anti-cheat plugins it will detect throwing too fast, can't do anything about it. Version 0.5: Added team skins (configurable), default are red/blue TF2 scouts with derp faces. Version 0.4: As stated previously, the plugin should update itself. Adds a message along the lines of "Reload the server to enable Paintball" (when it autoupdates) Fixed bug where people without spectate would get errors on /pb end Version 0.3: Released to the public Planned Changes: Version 1.2: Re-add voting and life limit (which also makes spectate actually do something, because it's not even being used as of now).