Cannons
What can it do?
Cannons is a highly configurable plugin which allows you to fire block build cannons. It is possible to aim and load different amounts of gunpowder to hit targets at different ranges. The power of redstone makes it possible to set the gun to auto load and activate the rapid fire mode. Choose your projectile from a broad spectrum of cannonballs and smash the enemy.
With Cannons 2.0 you are also able to design your own cannons using .schematic files and give each cannon their own settings, as well as different types of projectiles.

Features
- Build a cannon out blocks
- Design your own cannon and save it as .schematic
- Design and fire different projectiles to smash your enemy
- Use redstone to fire guns from distance
- Rapid fire with auto-load possible
- Destroyed blocks can be restored with CreeperHeal (if 'custom' option is true)
- Cannons will stay load and aligned due to the database
- Movement plugins (e.g. Movecraft) are supported if a cannon has a sign to store a tag
- API for ships plugins (e.g. iSails) to use cannons on ships without signs.
Videos
by ServerMiner
by wickedbrother
Out-dated showcase 1
Out-dated showcase 2
Recommended plugins
- ObsidianDestroyer
- WorldGuard (flag protection: '/region flag NAME other-explosion deny')
- CreeperHeal (set 'custom explosion' for your world to repair cannon damage)
Installation
- Install WorldEdit first (don't forget this)
- Copy the cannons.jar into your Bukkit's "plugins" directory, then run the server.
Dependencies
This plugin requires:
Metrics
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version If you wish to disable this feature (/me cries), you can do so by opt-ing out, which you can do in the config file under /plugins/PluginMetrics/
Information for Cannons 2.x
Tutorial:
Additional information:
Cannon Designs
- Share your designs with other people: Cannon Designs
Known Bugs
- The cannon ball (snowball) becomes invisible after 60 blocks but hits the target.
- Voxelsniper will delete Buttons/Torches when you load the gun (be careful when you click the barrel)
Need Help?
Credits
- Raser4000
- DreTax
- JlJlJl
- and many more

-
View User Profile
-
Send Message
Posted Jun 26, 2014@GodsDead I can let the plugin generate new lines, however there would be no comments. At the moment the config is too large to be readable without comments. What it does now is copying the files from the .jar to the disk if the folder is empty.
-
View User Profile
-
Send Message
Posted Jun 26, 2014@DerPavlov
Aha! I was searching for the wrong thing, I was looking for something along the same lines as "ramrod" as that's the permission name!
Thank you for the fast response, I'll give this a try tonight!
Instead of letting the plugin generate new files, could I just update the missing lines from the Additional information links you have above? Are these copys of the configs that are generated?
-
View User Profile
-
Send Message
Posted Jun 25, 2014@GodsDead You have many new options for realistic behaviour in the cannon design. To turn of cleaning you have to set 'startingSoot' and 'sootPerGunpowder' to zero. For pushing set pushingProjectile to zero. If you don't see them, let the plugin generate new files by renaming the design folder, or add this:
-
View User Profile
-
Send Message
Posted Jun 25, 2014Searched your configs and I can't find a way to turn off the ramrod!?
-
View User Profile
-
Send Message
Posted Jun 24, 2014@pepper82 Its under approval, so it will take a little bit until you can download it. I don't know if you can see it or not.
http://dev.bukkit.org/bukkit-plugins/cannons/files/
-
View User Profile
-
Send Message
Posted Jun 24, 2014Thanks for your help :-) but I can not see the latest version 2.2.2?
-
View User Profile
-
Send Message
Posted Jun 22, 2014@pepper82 To connect to MySql use something like this:
The prevent explosion of cannonball you have to deny the flag other-explosion
'/region flag NAME other-explosion deny'
If a cannon is destroyed it will be removed from the database. However if you find a bug or if the plugin lacks in performance let me know.
EDIT: I uploaded a new version with a small fix for cannons in not loaded chunks. I really recommend to switch to the latest version v2.2.2.
-
View User Profile
-
Send Message
Posted Jun 22, 2014I have a question:
How must the config look like if I want to use Mysql instead of Sqlite?
And will data from the database will be deleted when you destroy the cannon or will it stay there forever causing it to grow larger and larger every time a player creates a new cannon?
I just want to make sure that this plugin won't cause lags on a huge server with 100 players online.
Oh and how to disable canon balls to explode in specific world guard regions?
-
View User Profile
-
Send Message
Posted Jun 21, 2014@robotnikthingy. I accessed an accidently a sign from a aync thread. I hope I fixed the problem now. After some more testing I will release it.
-
View User Profile
-
Send Message
Posted Jun 21, 2014Just letting you know, I think cannons has been the cause of my server crashing recently. I get the following error when the server crashes http://dev.bukkit.org/paste/10253/
and when using plugincatcher to detect the problem causing it, it gives this: http://dev.bukkit.org/paste/10254/
It seems there is something wrong with how cannons stores cannons in the database. im pretty sure cannons was the cause, since deleting the cannons database file stopped the crashes
-
View User Profile
-
Send Message
Posted Jun 20, 2014@TheTechPony Change the default horizontal angle of your cannon in the design .yml, so it fits with the facing of the cannon in the .schematic. Best you try different facings (WEST, EAST, SOUTH, NORTH) until it works.
If you use default design, I recommend to rename the design folder and restarting the server. The new one should work
-
View User Profile
-
Send Message
Posted Jun 20, 2014My cannons keep shooting sideways...
-
View User Profile
-
Send Message
Posted Jun 20, 2014@GodsDead Its a problem with the database, because it tried to access a block asynchron. I have to fix that.
-
View User Profile
-
Send Message
Posted Jun 20, 2014@FlOppythp
I am using R: Cannons v2.2 for CB 1.7.9-R0.1 Jun 01, 2014, I upgraded from R: Cannons v2.1 R3 for CB 1.7.2-R0.2 Jan 23, 2014.
Are there any changes in the configs that would cause a problem? I didnt regenerate the configs, I kept my ones from the R: Cannons v2.1 R3 for CB 1.7.2-R0.2 Jan 23, 2014.
-
View User Profile
-
Send Message
Posted Jun 19, 2014Updated Cannons to the latest, now I get errors on load.
[20:09:53] [Craft Scheduler Thread - 1/WARN]: Exception in thread "Craft Scheduler Thread - 1" [20:09:53] [Craft Scheduler Thread - 1/WARN]: org.apache.commons.lang.UnhandledException: Plugin Cannons v2.2.0 generated an exception while executing task 100 at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.IllegalStateException: Asynchronous entity world add! at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14) at net.minecraft.server.v1_7_R3.World.a(World.java:2623) at net.minecraft.server.v1_7_R3.Chunk.addEntities(Chunk.java:765) at org.bukkit.craftbukkit.v1_7_R3.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:40) at org.bukkit.craftbukkit.v1_7_R3.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:13) at org.bukkit.craftbukkit.v1_7_R3.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:337) at org.bukkit.craftbukkit.v1_7_R3.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:295) at org.bukkit.craftbukkit.v1_7_R3.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:16) at net.minecraft.server.v1_7_R3.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116) at net.minecraft.server.v1_7_R3.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:98) at org.bukkit.craftbukkit.v1_7_R3.CraftWorld.getChunkAt(CraftWorld.java:121) at org.bukkit.craftbukkit.v1_7_R3.CraftWorld.getBlockAt(CraftWorld.java:85) at org.bukkit.craftbukkit.v1_7_R3.CraftWorld.getBlockAt(CraftWorld.java:525) at org.bukkit.Location.getBlock(Location.java:82) at at.pavlov.cannons.cannon.Cannon.isCannonSign(Cannon.java:868) at at.pavlov.cannons.cannon.Cannon.updateCannonSigns(Cannon.java:1415) at at.pavlov.cannons.cannon.CannonManager.createCannon(CannonManager.java:258) at at.pavlov.cannons.Cannons.createCannon(Cannons.java:382) at at.pavlov.cannons.dao.PersistenceDatabase.loadCannons(PersistenceDatabase.java:105) at at.pavlov.cannons.dao.PersistenceDatabase.access$000(PersistenceDatabase.java:19) at at.pavlov.cannons.dao.PersistenceDatabase$1.run(PersistenceDatabase.java:35) at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java:58) at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more
-
View User Profile
-
Send Message
Posted Jun 18, 2014@FlOppythp
To be honest, you always come off agressive/insultive in all your comments. You use language that comes off disrespectful. "Beside you are blind" "You need help man", things that are rude in general to say to someone. You can easily say, Found a bug, explain it, and go on with your day, but instead you insist things be fixed immediately, go do it yourself! He donates his time to make an awesome plugin, which I love and hope he continues to develop :)
Keep up the good work DerPavlov and other authors.
-
View User Profile
-
Send Message
Posted Jun 15, 2014@FlOppythp Actually I really have no idea why I am helping you, because you keep insulting me without reason. If you can do it better, feel free to start you own plugin. Since I don't play minecraft anymore I have no reason to keep the project up to date. So you should at least try to keep me happy.
Your request are always so hard to read and impossible understand. It would help me very much if you come straight to the point.
-
View User Profile
-
Send Message
Posted Jun 14, 2014@FlOppythp I had to split the firing and reloading, since you get an impact marker just for an loaded cannon. Therefore you have to click twice, once for loading, and once for firing.
You can automatically fire you cannon with fireAfterLoading: true in the cannon design.
EDIT: Took me 3h to add these sounds to the config. I really hope someone will use them.
-
View User Profile
-
Send Message
Posted Jun 12, 2014@FlOppythp I added the cleaning because I think a cannon needs such a feature. But turn it off if you don't like it (sootPerGunpowder:0). Send me your cannon design and .yml via pm and an will look into it.
@robotnikthingy Thx.
@millionminds Maybe you can give me a short server tour :) . If you are interested in different feature we can talk about it.
-
View User Profile
-
Send Message
Posted Jun 11, 2014We love this plugin, we added it to our ConquerTowny, plus made a Small world for mini Cannon Games. This is a huge hit on the server. Thanks...