Sea Battle
Sea Battle
This is a minigame where your goal is to destroy the enemies boat with (snow)balls. After building the arena and the following setup you can start fighting against each other! In version 1.1 economy got added, which means, you can turn this game even into a gambling game :) It works like a jackpot, everyone joins by paying e.g. 10$, but the winner gets everything that got paid back. You'll need Vault for this feature to work.
There's an updated version here, if this one doesn't work for you anymore: http://dev.bukkit.org/bukkit-plugins/minigameslib-seabattle/ Be aware that the commands and permissions changed a bit.
Setup
- Build your arena. Should contain water ;)
- Type in /sb createarena [name] to start the process of saving your arena.
- Next create two spawnpoints for two different teams in the arena: /sb setspawn 1 [arena] and /sb setspawn 2 [arena]
- Create a little lobby and type in /sb setlobby [name] while standing in the lobby.
- That's it!
Now you can create a sign containing the following lines:
- [boat]
- name (your arenaname)
Rightclick this sign and you'll spawn in your arena in a boat and some (snow)balls in your inventory.
As of the 1.5 update you can now add Ammo signs to let people get more snowballs ingame:
- [boat-ammo]
- 64 (this can be any number; it determines, how many snowballs the player gets, 2 stacks would be 128)
These ammo signs are available only once to each player in a game.
Commands
- /sb : Main SeaBattle command
- /sb createarena [name]
- /sb setspawn [number] [name]
- /sb setlobby [name]
- /sb removearena [name] : Remove an arena
- /sb leave : Leave the arena ingame
- /sb list : List all arenas
- /sb reload : Reload the SeaBattle config
- /sb reset [name] : Reset an arena
- /sb recreateconfig : Readds the default config values (doesn't remove arenas)
Permissions
- boatgame.* : all permissions
- boatgame.sign
- boatgame.create
- boatgame.setspawn
- boatgame.setlobby
- boatgame.cleararena
- boatgame.reload
- boatgame.list
- boatgame.remove
Config
- alwaysdropboat: true let boats drop always themselves
- invincibleboats: false invincible boats
- boatlifes: 5 number of snowballs that need to be shot at a boat to crash it
- playerlifes: 2 number of times a player respawns in one game
- use_economy: true true, if you want the gambling feature
- entry_money: 10.0 the entry price, please use numbers with decimal places. Only available, if use_economy is set to true
- maxplayers: 10 defines, how many players can join an arena
- minplayers: 2 defines, how many players are needed to start a sea battle
- starting_cooldown: 11 seconds to wait before an arena game begins
- teams: false enable this to have teams (max 2 teams)! Each team has a different head and uses one of the spawns as teamspawn. Members of a team can't kill themselves.
- itemreward_itemid: 264 Diamonds
- itemreward_amount: 2
- announce_winners: true
- auto_updating: true auto updates the plugin, if there are new releases
- lastmanstanding: true if set to true, the last man standing in a sea battle (if everyone leaves) will win and get the reward
- snowballstacks_amount: 3 the amount of snowball stacks to be added when a players joins a sea battle
- ammo_usage_count: 2 how many times the player can use an ammo sign in one game
Preview
Todo
- extend multiple item prizes with multiple item amounts
- additional weapons like shield in the future
- add MySQL support to store arenas and stats
- min/max players also per arena
- spectator mode
Green bullets are already done, yellow ones are still buggy or being tested, red ones not done yet.
Translation
The Config contains all strings used by the plugin. You can easily change them and the colors to your preferred language.
Additional Info
You can adjust the name of the boatballs by changing the strings.ball_name entry in the config.
You can configure boats to be invincible or drop theirselfs by changing the configfile, too. Defaults:
- alwaysdropboat: true
- invincibleboats: false
- This plugin uses an auto-updater which can be turned off in the config. I don't recommend that for future bugfix releases.
- This plugin also sends things like software information or online player count to MCStats (mcstats.griefcraft.com/plugin/SeaBattle).
Have fun!
Youtube
For those don't want to read all that stuff or don't understand the setup instructions above, here's a youtube video with some gameplay and a tutorial. :P This video is by BukkitHorde, thanks to him for doing that for me!
Here's another review in Spanish:
Please help me because i love to have this plugin on my server THIS PLUGIN IS AWESOME :D
No errors in console
yes im sure because then i disinstalled it and i could destroy and place blocks again :/
@lme999
Thanks for reporting, fixed it :)
@kilianfunk
That's very wierd, are you sure SeaBattle is causing this? Any errors in console?
I have a problem when i install the plugin after that ingame i cant place and destroy blocks either gamemode 1 and gamemode 0 please help me :(
Glitch/Bug: Users can break SeaBattle join signs, even in worldguard regions.
@levisn1
Added to Todo list :P
TODO...MySql ;D
Nice Plugin. Do you have Skype
@lANTHONYl
Thanks for posting the bug, fixed it :)
Anyone else have an issue with SnowMen... whenever a snowman throws a snowball a whole mess of errors come up in console. I opened a ticket on your GitHub.
@instancelabs
I'll test it as soon as bukkit approves it. The player who caused it wasn't staff so he couldn't join in vanish. It happened after the game ended.
@lme999
Fixed the vehicle error, it's strange that you didn't get teleported though.. Please try v1.5.2 and let me know, what errors appear, as I can't seem to reproduce that. Did this happen only once or more times? Also, did you join in vanish?
On the latest version, I was running and after a player won, and kept hitting the player they weren't tp'd out and it kept spamming the message 'This player has won' whenever they tried to kill the other person. Here is the error in the console: http://pastebin.com/ERpmXmVa
@lme999
What exact error message is coming up for you in the console? Can't seem to reproduce this bug, as it works perfectly for me. :)
Downloaded newest version: /sb reset gives me: Internal server error occurred...
@rickertxd
It doesn't find the arena spawn.. How many spawns did you set up?
<<code>>
27.09 22:09:29 [Server] SEVERE Could not pass event PlayerMoveEvent to SeaBattle v1.5.1 27.09 22:09:29 [Server] INFO ... 15 more 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 27.09 22:09:29 [Server] INFO at java.lang.reflect.Method.invoke(Method.java:606) 27.09 22:09:29 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 27.09 22:09:29 [Server] INFO at sun.reflect.GeneratedMethodAccessor683.invoke(Unknown Source) 27.09 22:09:29 [Server] INFO at com.comze_instancelabs.boatgame.Main.onPlayerMove(Main.java:1397) 27.09 22:09:29 [Server] INFO at org.bukkit.Bukkit.getWorld(Bukkit.java:247) 27.09 22:09:29 [Server] INFO at org.bukkit.craftbukkit.v1_6_R3.CraftServer.getWorld(CraftServer.java:850) 27.09 22:09:29 [Server] INFO at org.apache.commons.lang.Validate.notNull(Validate.java:192) 27.09 22:09:29 [Server] INFO Caused by: java.lang.IllegalArgumentException: Name cannot be null 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:415) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:483) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:240) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:594) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.Packet10Flying.handle(SourceFile:136) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:227) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 27.09 22:09:29 [Server] INFO org.bukkit.event.EventException27.09 22:09:29 [Server] SEVERE Could not pass event PlayerMoveEvent to SeaBattle v1.5.1 27.09 22:09:29 [Server] INFO ... 15 more 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 27.09 22:09:29 [Server] INFO at java.lang.reflect.Method.invoke(Method.java:606) 27.09 22:09:29 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 27.09 22:09:29 [Server] INFO at sun.reflect.GeneratedMethodAccessor683.invoke(Unknown Source) 27.09 22:09:29 [Server] INFO at com.comze_instancelabs.boatgame.Main.onPlayerMove(Main.java:1397) 27.09 22:09:29 [Server] INFO at org.bukkit.Bukkit.getWorld(Bukkit.java:247) 27.09 22:09:29 [Server] INFO at org.bukkit.craftbukkit.v1_6_R3.CraftServer.getWorld(CraftServer.java:850) 27.09 22:09:29 [Server] INFO at org.apache.commons.lang.Validate.notNull(Validate.java:192) 27.09 22:09:29 [Server] INFO Caused by: java.lang.IllegalArgumentException: Name cannot be null 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:415) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:483) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:240) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:594) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:30) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java:116) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.Packet10Flying.handle(SourceFile:136) 27.09 22:09:29 [Server] INFO at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java:227) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 27.09 22:09:29 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 27.09 22:09:29 [Server] INFO org.bukkit.event.EventException
<</code>>
@matze135
Sorry for the wrong info, it will be in the 1.5.1 release (waits approval right now).
I love this plugin. You say v1.5 config folder called SeaBattle now, my folder called comzeboatgame.