Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
What it does
SiegeCannon is a ridable TNT siege cannon designed for cooperative PvE servers.
Unlike most cannon plugins which lean on redstone build kits and multi-player loading crews, SiegeCannon takes the opposite stance: one player, one cannon, one trigger, with a fan-shaped firing arc that rewards positioning over aimbots. Right-click to mount, sneak to dismount, left-click to fire.
Features
- Mount-and-fire โ right-click to ride, left-click to shoot, sneak to dismount
- ยฑ45ยฐ fan arc โ turn your body to aim, the cannon doesn't pivot for you
- Breakable durability โ cannons take damage from explosions and mobs; destroyed cannons explode dramatically
- Two-stage ignition โ left-click triggers a fuse window; TNT actually launches after a configurable delay (default 1s)
- Block partitioning โ explosion blocks split into "fly as falling block / vanilla destroy / preserve" buckets for battlefield rubble feel
- Mob-only AoE damage โ friendly fire is suppressed by default
- Recoil feedback โ view kick + cannon-body kickback on every shot
- TPS-aware โ global FallingBlock spawn cap protects servers from many-cannon volleys
- Resource pack optional โ works with vanilla TNT model out of the box; custom model auto-loaded if your pack provides
siegecannon:cannon_tnt - Bilingual โ
zh_CN/en_USshipped, auto-resolves by player client locale - Public API โ
CannonFireEvent(cancellable) +CannonDestroyEventfor third-party hooks
Installation
- Drop
siegecannon-1.0.0.jarinto your server'splugins/folder - Start the server.
plugins/SiegeCannon/config.ymlandlang/{zh_CN,en_US}.ymlare generated - Run
/cannon spawn(any player has it by default)
โ ๏ธ Cannons are in-memory only in 1.0.0. Server restart wipes spawned cannons. Persistence is on the roadmap.
Commands
| Command | Permission | Description |
|---|---|---|
/cannon spawn |
siegecannon.use (default true) |
Spawn a cannon at your feet |
/cannon spawn <x> <y> <z> [world] |
siegecannon.admin |
Spawn at explicit coordinates |
/cannon remove |
siegecannon.use |
Remove the nearest cannon (within 6 blocks) |
/cannon list |
siegecannon.admin |
List all spawned cannons |
/cannon removeall |
siegecannon.admin |
Remove every cannon in the world |
/cannon reload |
siegecannon.admin |
Reload config.yml |
Aliases: /sc, /siegecannon.
Configuration
Most servers only need to tune four "core" parameters:
cannon:
tnt:
cooldown-seconds: 2.5 # fire cooldown
yaw-limit-deg: 45.0 # fan arc half-angle
damage-multiplier: 1.0 # vs mobs
hp: 100.0 # cannon durability
protect-blocks: false # true = explosions don't damage map
model:
use-custom: true # false = vanilla TNT model only
language:
default: en_US
Out-of-range values are clamped to safe bounds at load time and logged as warnings โ the plugin won't crash your server because of a config typo.
API
// Cancel firing inside a no-fire zone
@EventHandler
public void onFire(CannonFireEvent event) {
if (isInsideSafeZone(event.getMuzzle())) {
event.setCancelled(true);
}
}
// Tally destroyed cannons
@EventHandler
public void onDestroy(CannonDestroyEvent event) {
statsService.recordCannonLoss(event.getLocation());
}
Resource pack
The plugin uses the vanilla TNT model by default. To use a custom model: ship a resource pack with a model at assets/siegecannon/models/item/cannon_tnt.json and set cannon.model.use-custom: true. Clients without the pack fall back to vanilla TNT seamlessly. A community resource pack is on the roadmap.
Metrics
This plugin uses bStats for anonymous install / version statistics. Opt-out via plugins/bStats/config.yml.
Roadmap
- Bundled resource pack with custom cannon model
- Persistence: cannons survive server restart
- Demo GIF / video
CannonRegistry: third-party plugins register custom cannon types- PlaceholderAPI integration
- WorldGuard region flag (
siegecannon-allowed) - Multi-cannon variants (heavy / light / piercing)
- More languages (community translations welcome)
License
MIT โ fork, modify, redistribute. Attribution appreciated but not required.
Source code
github.com/Yangzhiganlu7/siegecannon โ issues / PRs welcome.


