Home›Java›Mods›SiegeCannon
SiegeCannon
ModsJava

SiegeCannon

Java mod listed for Minecraft 1.21. Downloads from the MC Java Mods app on Android.

by Luming77 · on Modrinth

Ridable single-operator TNT siege cannon for Paper 1.21.11 cooperative PvE servers. Mount, aim within a fan arc, left-click to fire.

⬇ Download on Modrinth
SiegeCannon — screenshot 1

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

Installation

  1. Drop siegecannon-1.0.0.jar into your server's plugins/ folder
  2. Start the server. plugins/SiegeCannon/config.yml and lang/{zh_CN,en_US}.yml are generated
  3. 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

License

MIT — fork, modify, redistribute. Attribution appreciated but not required.

Source code

github.com/Yangzhiganlu7/siegecannon — issues / PRs welcome.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more