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 Jul 23, 2015i to get lots of errors
[01:05:11 ERROR]: Could not pass event BlockRedstoneEvent to Cannons v2.3.3
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.BlockButtonAbstract.interact(BlockButtonAbstract.java:139) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.PlayerInteractManager.interact(PlayerInteractManager.java:496) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:736) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_45]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:718) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:367) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:657) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:560) [spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
Caused by: java.lang.NoClassDefFoundError: net/milkbowl/vault/economy/Economy
at at.pavlov.cannons.config.UserMessages.getMessage(UserMessages.java:313) ~[?:?]
at at.pavlov.cannons.config.UserMessages.sendMessage(UserMessages.java:202) ~[?:?]
at at.pavlov.cannons.listener.PlayerListener.RedstoneEvent(PlayerListener.java:308) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.8.7.jar:git-Spigot-f928e7a-e91aed8]
... 17 more
-
View User Profile
-
Send Message
Posted Jan 7, 2015@Slipswhitley I changed yesterday some old code, which might have caused problems. Currently I am debugging to get it running again.
That the cannonball fly forever might be a problem. The plugin tries to keep them alive, so you will fire them to infinite distance. I have never tested what happens if they never hit something.
-
View User Profile
-
Send Message
Posted Jan 6, 2015@DerPavlov Could it possibly have anything to do the fact that our airships map is a completely blank map (Except for the Airships Of-course) meaning the fired entity moves on forever into unloaded chunks if you miss a airship? Is there anything implemented to handle this ? Maybe you could replicate the error by going to a flat world map and firing a cannon directly straight ?
-
View User Profile
-
Send Message
Posted Jan 6, 2015@Slipswhitley I will look into it. However if you can help that would be great.
The error pops up when the projectile explodes? Seems to be an async access to the minecraft world. That should be fixed immediately.
EDIT: I am unable to reproduce the problem. No idea what I am doing wrong/right.
-
View User Profile
-
Send Message
Posted Jan 5, 2015Hey,
I am the Developer for MystianNetwork where we are currently using your plugin for a Custom Game-mode called "Air Wars". We attempted to use your 1.7 version on the 1.8 with a recent Spigot 1.8 Build and unfortunately we were unsuccessful as the plugin created a memory leak and crashed the server on this version. Just commenting to ask if we have your permission to update it to 1.8 for our use only and also whether you would have any ideas on where to look to eliminate this memory leak ?
Here is the Crash Report:
http://puu.sh/e8Kj3/7bb79eb536.txt
-
View User Profile
-
Send Message
Posted Dec 31, 2014@DerPavlov
That would be awesome! Thank you for your time :)
-
View User Profile
-
Send Message
Posted Dec 31, 2014@Ceriella You don't need a redstone setup (torch, wires) but you have to use shift+right click - be sneaky.
I am wondering how I can fit this into the current config. The problem is that you need to tell the cannon which projectile it should load. Maybe I add an option that the loaded projectile stays in the cannon, even after firing. However to unload it you must break the cannon, which would be ok in your case.
I am currently installing the developing tools on my notebook, but the internet connection is so slow.
-
View User Profile
-
Send Message
Posted Dec 31, 2014An option where I my players don't have to load the cannon, only fire it, would be wonderful! I'll try out the things you listed and see how it goes. Is the redstone setup necessary?
-
View User Profile
-
Send Message
Posted Dec 31, 2014@Ceriella I am glad you like it. If I understand you right the delay between igniting and firing the projectile comes from the FuseBurnTime. You can set this time to 0 in your cannons config file for instantaneous firing. And the cannon needs two button clicks for firing: first loads the projectile, second fires the cannon. Alternative you can set fireAfterLoading: True to skip the second click.
The autoreload system is the right way to go. Just place a chest with 1 gunpowder and 1 projectile next to the cannon and set ammoInfiniteForRedstone: True and autoreloadRedstone: True. Wire the cannon with redstone torches underneath the barrel or with wires or repeaters to the back button.
You can also use autoreload for a cannon by shift+right click the torch. It needs a permission for the player: autoreload (you can change this in the cannons design). The cannon still needs autoreloadRedstone: True (which is misleading) and ammoInfiniteForPlayer: True. To avoid that a player loads the cannon with something else, change the permission for loading and protect the chest.
Another possibility would be needsGunpowder: False. Then you just load 1 projectile and you are done.
I hope everything is correct, because I have at the moment no way to test this in game.
Additional info here:
http://dev.bukkit.org/bukkit-plugins/cannons/pages/tutorial/
P.S.: I am wondering if this can be done easier. Maybe I add an option 'preloadedProjectile' so you use it without chest. Any better ideas?
-
View User Profile
-
Send Message
Posted Dec 30, 2014Fantastic plugin! I was wondering if there way any way (or plans to implement) some way to have the cannon fire without needing projectiles? I've used the redstone system, but it has a strange delay. It would be really great to just be able to click a button and have the cannon fire without needing anything else.
-
View User Profile
-
Send Message
Posted Dec 22, 2014@futhead_iThomas In the default version you use a stick to clean a cannon - just right click the cannon with it a few times until the cannon is clean. Loading is done in 4 steps: Cleaning with a stick, loading gunpowder, loading projectile and pushing the projectile in the barrel with a stick. You can disable this cleaning/pushing in the config file.
Here in more detail:
http://dev.bukkit.org/bukkit-plugins/cannons/pages/tutorial/#w-loading
-
View User Profile
-
Send Message
Posted Dec 21, 2014Every time i try to load the cannon with gunpowder it says i gotta clean the cannon firtst, but how!?
-
View User Profile
-
Send Message
Posted Dec 20, 2014Hey Man! love ur plugin! pls update it for 1.8.1! its awesome!
-
View User Profile
-
Send Message
Posted Dec 20, 2014@CNCcamon1 Maybe your design files are old or invalid. Can you try to rename the design folder and restart the server. If Cannons can't find the design folder it should create a new one with default designs. There the firing should work.
If you have a server I will visit and try to find the problem.
-
View User Profile
-
Send Message
Posted Dec 19, 2014@DerPavlov
I have the chest in place but it is not loading the cannon. Another problem I am having is that when I try to fire the cannon by clicking the torch, it just sets the vertical angle instead of firing.
-
View User Profile
-
Send Message
Posted Dec 19, 2014@CNCcamon1 To use you use Autoloading you need a chest with gunpowder and projectiles next to the cannon. First shift+right click to load the cannon. The next right click will fire it. Let me know if that worked for you.
https://dl.dropboxusercontent.com/u/16404245/2012-05-17_19.46.26.png
-
View User Profile
-
Send Message
Posted Dec 19, 2014Hello, I am configuring your plugin and had a question. I cannot seem to get autoloading to work, could you please help me?
-
View User Profile
-
Send Message
Posted Dec 19, 2014@Peter234 I have to figure out how to download 1.8 first but I can make one. There are no new feature for now. Maybe I find some time over the holidays.
@GodsDead Just copy the default one, edit/rename it and add as "allowed_projectile" to cannons.
Here it is described in more detail:
http://dev.bukkit.org/bukkit-plugins/cannons/pages/projectile-configuration-files/
-
View User Profile
-
Send Message
Posted Dec 19, 2014Any news on a 1.8 release?
-
View User Profile
-
Send Message
Posted Dec 18, 2014After all this time of using your amazing plugin, I am finally getting around to making my own custom cannon designs and using the insanely amazing config options you have given us! I LOVE the customization, but something I cant quite figure out, is how to get projectiles to act differently in different cannons? Do I just need to make more versions of the projectile and rename it and only allow it in that cannon? Or is there a way in the config? For instance I want cobblestone to have a more devistating effect if there shot from a iron cannon.