Paintball War Edition
Download latest.... Download latest
Want to help?
Hey!
I haven't found much time to work on this project lately. If you want to contribute, the source code can be found here: https://github.com/PaintballWarEdition/PaintballLegacy
Feel free to open pull requests, but try to keep the changes per PR minimal to reduce the time required to review them. If you have larger or more complex changes in mind, feel free to contact me to discuss them before you start working on them.
We also started to move the documentation over to Github: https://github.com/PaintballWarEdition/PaintballLegacy-Wiki/wiki
But this can certainly be improved. If you want to help with the documentation, feel free to contact me and send me your Github username.
If you can contribute and maintain translations of the plugin, or have other ideas of how you could contribute, let me know as well!
Thanks.
Paintball is a fast paced and action packed multiplayer game.
In the classic TeamDeathMatch mode 2 teams compete against each other to bombard each other with snowballs. Once a player is hit, he's out and automatically leaves the arena and has to wait in the paintball lobby for his mates to finish and the next match to start. In the Paintball lobby you will meet all paintball players, choose your team and wait for enough players, or the end of the last match. When all conditions are met, a countdown starts which announces the next match.
Some license stuff:
You can find the full license terms here: https://dev.bukkit.org/projects/paintball_pure_war/license
You can find a basic summary of it at the bottom of this page.
Quote:Our main target is to keep this plugin easily integratable on any standard survival server without disturbing the survival feeling. You don't have to dedicate a whole server or world to this plugin!
Basic-Features
Paintball is constantly expanding. There are more and more features added which have not much to do with the classic paintball game. But do not panic: According to your personal preferences you can modify or disable most things in the config.yml in the Paintball folder.
- No client or server modifications or additional plugins are required !
- Multiple Arenas: Build as many arenas as you like !
- Complete freedom on what your arena looks like! As Paintball does not care about your arenas borders, your arena can have any shape and layout, as long as it is impenetrable. Simple build some sort of wall around your arena to keep your players inside.
- Multiple Spawns: Paintball lets you define multiple spawn points for each team (red, blue, spectators) !
- Automatic-Lobby-Arena-System: The Paintball lobby will automatically rotate through all your ready arenas. No need for administrators to be online !
Limitation: Currently there can always only run one match at a time.
- Easy: No complex setup needed ! Only 4 commands and your arena is ready and added to the automatic arena rotation !
- Mechanism to strictly seperate Survival and Paintball and to prevent "cheating" in and with Paintball.
- Easy and individually adjustable small Shop, where you can buy ammunition or other special and unique "weapons", gadgets and power-ups with the Paintball-Cash earned during the matches.
- Ranking: Your players gain points to compete with each other !
- Various statistics: examples are Points, Cash, Kills, Deaths, Hits, Shots, KD, Accurancy, Teamattacks, Wins and Defeats for each player, each arena and as a whole.
- Toggleable Killfeed ! Turn it off if it spams you !
- Most stuff is configurable ! For advanced information click here.
- Much, much more!
Easy integration on every survival server!
Our main target is to keep this plugin easily integratable on any standard survival server without disturbing the survival feeling. Players shall not be able to swindle items or gain other advantages over survival players through Paintball.
Here you got some sort of overview what actions are taken to protect the survival-part of the server:
People with the 'paintball.admin' permissions node can bypass some of them.
- Prevent commands that are not related to Paintball. So player can't teleport or use commands as a benefit.
- Prevent breaking and placing of blocks.
- Prevent dropping and picking up items, or dropping the armor.
- Options to let players only join with full health or hunger so they can't escape during fights.
- Options to save the players inventory when joining the lobby and restore afterwards.
- Paintball inventory is cleared when leaving the lobby.
- Turned off damage and starvation inside the lobby.
- Many things can be disabled if they create problems with your other plugins.
- Explosions do no damage to blocks.
- Only Paintball players receive the Paintball messages. Your other players will not get spammed.
Videos on Youtube!
Arena setup
German(!) introduction
A french plugin description and video can be found here:
http://minecraft.fr/paintball-war-edition/
Additional information
Hint about version checking and stats collecting:
This plugin is checking dev.bukkit.org for new updates. This can be disabled in the config with the setting "Server.Version Check".
This plugin is also doing some periodically stats tracking to mcstats.org which helps me to determine how many servers are using it. This can be disabled with the setting "Server.Metrics".
And the plugin is also sending some stats to blablubbabc.de to maybe prepare for some kind of later serverlist (a list of paintball servers). Currently those data are only stored in a non-public mysql table on my server.
- This means that this plugin is sending some general information about the minecraftserver, like: ip-adress, port, servername, slots, motd, bukkit version, if server is in onlinemode and if it has whitelist enabled.
- And some information about paintball like: how many players already played paintball there and if it is an paintball-only server (autolobby enabled) and if the server admin wants the server to be listed at some kind of public server list later, when it is finished.
→Those data are currently only send once every reload.
→ For people who don't want to share these informations with me :( → you can en- and disable this in the serverlist config (plugins/Paintball/serverlist.yml) with the setting "post enabled"
For bug reports or fixes for common problems take a look at the Issues page.
Don't spam with your error here !
For a list of ideas and suggestions take a look at the Ideas page!
Feel free to leave a message here!
(How you like it, what you like most, what you like in no way. I'm interested in your opinion!)
Donators
A big "thank you" to everybody who is keeping my motivation up through donations!
OklaMokla | zrocweb | Brian |
mattmc291 | treestompz | hector22x |
IceRhal | Lars | xprotect |
TheOnlyRealTGS | breachSWE | forestovserver |
jeracom | MineCrystalSpain | Urban_Professional |
Lamont Ellingson | Meegacoolman |
If you like this plugin, don't spare the effort to any amount that you consider reasonable and/or leave a positive comment!
Usage conditions / License
Paintball Server Plugin for Minecraft
by blablubbabc
You can find the full license terms here: https://dev.bukkit.org/projects/paintball_pure_war/license
Those may be updated from time to time. In summary:
- Usage of this software is on own risk. I give no warranty in any kind that this software is working as intended.
- Modifications for personal use are mostly allowed. See the license for limitations on that. (Also note that the source code isn't publically available just yet. So actual modifications might be rather tricky currently.)
- Do not redistribute or publicly upload the plugin, with or without modifications. People are supposed to always download it for themselves from this page.
- Do not use for commercial purposes! This also applies to add-ons (other plugins or services for example) which are related or used in relation to this plugin! Examples: Don't sell any in-game currency that can be used related to paintball. Don't sell access, or prioritize paying players when joining paintball or the server running paintball. Make sure that your "donors" don't get any benefits such as abilities that can be used within the matches, or otherwise in relation with paintball.
Thank you for respecting these conditions!
If you have any questions on this feel free to contact me.
-Donated
Great Plugin I've used for literal years and it managed to cause no problems through many game updates. At least so far this plugin has worked fine on 1.19.1 paper.
Quick question - How could I have an item from another plugin included in the paintball inventory? I have my paintball set to world mode and I want to give the player a function item on join in slot 8 that returns them to hub on use. I've tried to set inventory to true in the config which does allow the item to appear in slot 8 but it restricts the player to join the pb lobby unless the item is removed. Also is there placeholder API variables so I can create my own paintball scoreboard?
In reply to Urban_Professional:
Thank you!
I haven't looked into the code for a while, but I don't think this is easily possible: The lobby and paintball match always clear the player's inventory and replace it with their own contents. I don't think there is an option to bypass this clearing.
You could maybe, via a separate plugin, inject the item into the player's inventory after they have joined the lobby / match. However, this is tricky as well, because during respawns inside the match the player's inventory may get reset again, and there is no easy way to react to those respawns.
If you are able to write a custom plugin (or if such a plugin already exists, however, I am not aware of one; maybe one of the available scripting plugins are able to do this as well): You could react to player teleports, or to the player entering specific regions of the world, or periodically, and then check if they have they already have the item in their inventory, and if not, add it.
This would be quite a hack though, but there is nothing built-in that would enable this, as far as I can see and remember.
Another option that might be easier to implement would be to react to interactions with the team item and use that to trigger the leaving.
Regarding placeholders: I don't think this is possible either. The plugin is quite old already and due to limited time available, I am currently no longer working on new features but only keeping it somewhat working from time to time.
I can't wait for this plugin to be updated to 1.18. I wanna revive my old PaintBall server that ran from 2013 to 2017. :) Keep up the good work blablubb!
In reply to ForestBroke:
I haven't tried it yet, but if there are specific problems with the latest version on 1.18, the please report those.
In reply to blablubb:
Will do if I find any! I had a problem when I typed any /pb command and nothing would happen except a generic reply in chat saying "/pb". But after your reply I discovered that it was due to me using an old old config I pulled from version 1.3.5 (config had item ID's instead of string names). I did a clean start of the latest version and it looks like it's working with no issues so far! \o/
v1.5.4 for MC 1.16.5, 1.15, 1.14.2+
Removed the outdated TagAPI dependency. The player nametag related features are non-functional currently, but they were not really usable before either.
Fixed some plugin reload issues.
Plugin reloads resulted in a (harmless) warning due to the plugin class loader not being registered anymore during plugin enable.
Some recent versions of Paper seem to have issues with the plugin not being able to find resources anymore after the reload.
These issues are resolved by no longer performing a real reload of the plugin through Bukkit's PluginManager. Instead, we only invoke our own disable and enable routines.
Donations
If you like this plugin, consider making a donation.
v1.5.3 for MC 1.16.1, 1.15, 1.14.2+
Donations
If you like this plugin, consider making a donation.
v1.5.2 for MC 1.16.1, 1.15, 1.14.2+
thanks for updating. hope you could bring it over to spigot one day ;)
so ive updated the plugin and it still yelles at me everytime i login that there is a new version :(
In reply to Daycarejr:
You might be using v1.5.0 (the latest 'release'), but there is a newer v1.5.1 ('beta'). The update check does not differentiate between releases, betas, alphas etc.
In reply to blablubb:
Actually, I just noticed that the update v1.5.1 was still using the version number v1.5.0 internally.
v1.5.1 for MC 1.16.1, 1.15, 1.14.2+
Marked as 'beta' since this build has not been tested much yet. If you encounter any major issues, let me know
Fixed: We ignore LEFT_CLICK_AIR interactions now. Since MC 1.15 we receive interact events with action LEFT_CLICK_AIR under various new situations, not just when the player actually left clicks, but also whenever the player interacts with something or performs some action such as dropping an item.
We previously reacted to these interaction events and triggered actions such as launching paintballs. This has lead to the situation that a single right click actually launched two paintballs, and other actions such as dropping an item also launched a paintball.
Since we cannot easily differentiate between the various actions that lead to this LEFT_CLICK_AIR interaction event and a regular left click, we ignore all left clicks now. I.e. it is no longer possible to shoot paintballs with left click.
The sniper previously used the left click action to toggle between the zooming and non-zooming state. This has been changed and is toggled by sneaking now.
Fixed: Paintball hits were no longer getting detected. Since MC 1.16 the ProjectileHitEvent is called before the EntityDamageByEntityEvent. We previously used the ProjectileHitEvent to trigger cleanup of the paintball object. Since the paintball object got cleaned up before handling the entity damage event for the corresponding snowball hit, the snowball from the entity damage event got no longer associated with a corresponding paintball and no hit got detected.
The ProjectileHitEvent provides the hit entity now (this has not been the case originally). We can therefore handle the paintball hit as part of the projectile hit event handler now and thereby avoid this issue.
Fixed: Since MC 1.16 the movement speed inside the lobby and game is increased. Since MC 1.16 the walk speed is determined by both the player's walk speed value and the movement speed attribute.
Our code for resetting the attributes to their default values is flawed (there is currently no API to retrieve the player-specific default attribute values). This results in the players having an increased walking speed. To resolve this for now, we always explicitly reset the walk speed. This will then also automatically update the movement speed attribute accordingly.
Fixed: Splash potions can be thrown now. However, the conversion from legacy damage values to potion types might be broken now, so the shop can likely not be used to give players these potions.
Donations
If you like this plugin, consider making a donation.
In reply to blablubb:
I tried the "beta" with spigot's latest "build tools 1.16.1"!
It works well for the moment!
I had already noticed with the previous version "1.15" some problems with the "rocket launcher".
When players used this weapon, the server crashed. To avoid this, I had removed the possibility of buying the weapon. xD
Could you check it out?
In reply to scamander1983:
I think I tried it once while testing this update and it worked fine there.
hi, this plugin is fantastic, I didn't have to update from 1.12 to 1.15, unfortunately, it doesn't work in 1.16. Are you still developing this plugin?
In reply to scamander1983:
I can look into it in a few days maybe.
In reply to blablubb:
thanks, it is really very important, it is the last plugin that I miss to open the server in 1.16. Few things are wrong ... for some reason, movement speed is accelerated in the lobby and arena. and when you shoot, the enemy doesn't die, and you can kill him by hand. there are no errors in the console
In reply to scamander1983:
I think being able to kill players by hand is intended. If I remember correctly there is a setting inside the config to configure 'melee attacks'.
I uploaded an update v1.5.1 which should fix the walk speed issue and the paintball hits not getting detected. I also made a few other minor improvements.
I did not test this much yet, so if you encounter any other issues let me know.
Guys is there any way to give server balance as reward after matches? I mean not PB money, but essentials money