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
- Fire different projectiles and smash the enemy
- Use redstone to fire guns from distance
- Rapid fire with auto-load possible
- Destroyed blocks can be restored with CreeperHeal (if 'magical' option is true)
- Highly configurable
How to use it
This plugin was created to make cannons which can really be fired. Build the barrel with 2-6 wool blocks (can be changed in the config) and attach a button on both ends. Put a torch on the first block of the barrel and the system will recognize the cannon. The cannon must be loaded with sulfur and a cannonball (e.g. cobblestone) by right clicking on the barrel with the item selected in your hand. The more gunpowder you load in the barrel the farther the cannon ball will fly and the more penetration it will have.
To increase the vertical firing angle, right click the upper or lower side of the barrel with empty hands. By right clicking on the side of the barrel the horizontal firing angle can be increased. Shift+right click will decrease the angle. You can also aim by using the aiming mode. Click with the clock on the barrel and look in the direction you want to fire. If you have loaded and adjusted the gun right click the torch to fire.
The cannon can also be fired with a redstone torch underneath the barrel. For the 'autofire' mode you need to place a chest next to the block with the torch above (how it should look like). Load gunpowder and the projectile into it and the cannon will reload automatically. You have to wear a helmet to protect yourself else the noise of the gun blast will confuse you.
Recommended plugins
- GuildAwards (if you want to use the cannons guild - not necessary)
- ObsidianDestroyer
- WorldGuard
- CreeperHeal
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:
Information
Cannons 1.0 to 1.9.4
Commands
Configuration
Localisation
Permissions
Cannons 2.0 and up
Main Config
Projectile Config
Creating Custom Cannons
Cannon Config
Commands
Permissions
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)
- SuperBreaker can break other plugins if they use obsidian blocks
ToDo
- Movecraft API
Credits
- Almathy
- Raser4000
- DreTax
Changelog
Version 2.0 - upcoming
- custom cannon design
- custom projectile design
Facts
- Date created
- Mar 04, 2012
- Category
- Last update
- Apr 18, 2013
- Development stage
- Release
- Language
- deDE
- enUS
- License
- GNU General Public License version 3 (GPLv3)
- Curse link
- Cannons
- Downloads
- 32,430
- Recent files
- A: Cannons v2.0 A2 for 1.5.1 Apr 18, 2013
- A: Cannons v2.0 A1 for 1.5.1 Apr 13, 2013
- R: Cannons v1.9.4 for 1.5.1 Mar 24, 2013
- R: Cannons v1.9.4 for CB 1.4.7-R1.0 Feb 15, 2013
- R: Cannons v1.9.3 for CB 1.4.6-R0.1 Dec 23, 2012

- Reply
- #776
Crysillion May 21, 2013 at 10:44 UTC - 0 likes@DerPavlov: Go
Which file? The CustomLanguages? The one you gave me, or the one that comes by default?
- Reply
- #775
Greenturds May 20, 2013 at 01:44 UTC - 0 likes@DerPavlov: Go
Could you post some code that would cancel your explosion event so I can put it into the factions source for myself?
- Reply
- #774
DerPavlov May 19, 2013 at 18:11 UTC - 0 likes@hisoka2501: Go You need worldedit to run the new cannons version. It is necessary to rotate cannons and import .schematics
@Crysillion: Go Upload the file to pastebin and I will have a look.
@Greenturds: Go I can't implement this. Bukkit does only support entity free explosions. So every explosion of cannons will have entity null. So no way for me to fake explosions. Therefore factions has to support it if the entity is null. This was a little bit problematic in the past. Maybe it is already supported in factions or at least it should not be that much work.
- Reply
- #773
Greenturds May 19, 2013 at 08:36 UTC - 0 likesI would like a feature implemented with factions that would allow cannons to only break blocks in faction territory when members are online.
Factions already does a check for this, I figure it would be a simple fix for you to implement.
I really want to use this plugin in faction raids, but I can't risk people being griefed while they're offline.
- Reply
- #772
Crysillion May 18, 2013 at 19:59 UTC - 0 likes@DerPavlov: Go
Hello, friend. Thanks for the attempt, but there is no change.
Note that loading cobblestone as a projectile works 100% fine. It's the TNT that isn't working, strangely enough. I deleted the config and .db files with the new CustomLanguages file, just in case. Still no go.
- Reply
- #771
hisoka2501 May 16, 2013 at 15:09 UTC - 0 likeshi, this plugin is amazing but i've got the folow error:
2013-05-16 17:02:29 [INFO] [Cannons] Enabling Cannons v2.0.0 A2 2013-05-16 17:02:29 [INFO] [Cannons] Load projectile configs 2013-05-16 17:02:29 [INFO] [Cannons] No projectiles loaded - loading default projectiles 2013-05-16 17:02:29 [INFO] [Cannons] loading cannon designs 2013-05-16 17:02:29 [INFO] [Cannons] No cannon designs loaded - loading default designs 2013-05-16 17:02:29 [SEVERE] Error occurred while enabling Cannons v2.0.0 A2 (Is it up to date?) java.lang.NoSuchMethodError: com.sk89q.worldedit.blocks.BaseBlock.getId()I at at.pavlov.Cannons.config.DesignStorage.loadDesignSchematic(DesignStorage.java:287) at at.pavlov.Cannons.config.DesignStorage.loadCannonDesigns(DesignStorage.java:71) at at.pavlov.Cannons.config.Config.loadConfig(Config.java:71) at at.pavlov.Cannons.Cannons.onEnable(Cannons.java:125) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:304) at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:283) at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:243) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) 2013-05-16 17:02:29 [INFO] [ChestShop] Enabling ChestShop v3.1 2013-05-16 17:02:29 [SEVERE] Error occurred while enabling ChestShop v3.1 (Is it up to date?) java.lang.NoClassDefFoundError: org/bukkit/util/config/Configuration at com.Acrobot.ChestShop.Config.ConfigObject.<init>(ConfigObject.java:16) at com.Acrobot.ChestShop.ChestShop.onEnable(ChestShop.java:49) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:304) at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:283) at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:243) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573) Caused by: java.lang.ClassNotFoundException: org.bukkit.util.config.Configuration at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:70) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 13 more i use the folowing version of craftbukkit:
2013-05-16 17:02:27 [INFO] This server is running CraftBukkit version git-Bukkit-1.5.2-R0.1-1-g53734d2-b2775jnks (MC: 1.5.2) (Implementing API version 1.5.2-R0.2-SNAPSHOT)
- Reply
- #770
DerPavlov May 15, 2013 at 23:18 UTC - 0 likesSeems to be a problem of cannons. I believe it is the encoding which is going crazy. So please try this language file.
https://dl.dropboxusercontent.com/u/16404245/CustomLanguage%20UTF8%20Bom.yml
- Reply
- #769
Crysillion May 14, 2013 at 21:01 UTC - 0 likesThere is a pretty big error when using CreeperHeal and Cannons both together. That said, I'm not sure which plugin is causing the error, but the error can be found here: http://pastebin.com/YRJqTpQ6
I will go ahead and post the error on both pages (CreeperHeal and Cannons). I have tried updating both plugins to the latest version at the time of this posting, using CB 1.5.2. Thank you!
It should be noted that I can create cannons and load them up with Gunpowder/Sulfur, however I cannot actually put many of the projectile blocks inside. For instance, if I try to load the cannon with TNT, it will simply place my TNT right next to or ontop of the cannon where I clicked - completely disregarding it being loaded. Yet, blocks like Gravel WILL load. Non-block items such as Diamond seem to still work fine.
I have also tried deleting the folders for both respective plugins and letting them regenerate with completely vanilla settings at next server boot and nothing changed. I strongly believe that this error is not on my end.
- Reply
- #768
richturd May 13, 2013 at 22:10 UTC - 0 likes@robotnikthingy: Thank you
- Reply
- #767
robotnikthingy May 12, 2013 at 23:07 UTC - 0 likes@richturd
you can make custom cannons while in game. make the cannon you want and the export it to a schematic using worldedits schematic save command
then just make a config file for ot and reload the plugin using the cannons reload command
BFAK:90691927,07571dc2c72cb17766fe413c26d50bbbee919222c04d99b88bcb407f992b3c11