Sentry for Citizens2

Sentry for Citizens2

Sentry is a character plugin for the NPC plugin Citizens2. With Sentry, NPC's can be set to guard areas or act as bodyguards. Hostile targeting, retaliation, and a variety of options and stats allow a Sentry NPC to be customized to almost any guarding or combat situation.


Sentries Can:

  • Attack monsters, players, and groups automatically. Sentry also has built-in support for Factions, Towny, War and SimpleClans
  • Kill, and be killed by, players, monsters, and the environment.
  • Guard locations, paths, players, or other NPCs.
  • Use ranged or melee weapons. Shoot arrows, fireballs, snowballs, eggs, lightning, and potions with deadly accuracy.
  • Be configured with stats such as Strength, Health, Armor, Speed, Range and even Night Vision!
  • Ride mounts!
  • Work with Denizen to become Bosses and Quest NPCs that run scripts upon death.


A full list of commands and options is available on the Citizens 2 Wiki


Sentry makes a config.yml in the plugins/Sentry folder on first load. Use this to tailor Sentry to your server. You can:

  • Set defaults for new sentries
  • Change or disable the item used for various attack types
  • Add potion effects like slow or blindness to certain Sentry weapons.
  • Add armor, strength and speed buffs to armor and weapons for Sentries.
  • Set critical hit chances and messages.

The config.yml is commented with instructions.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of ozanalp200 ozanalp200 Oct 20, 2014 at 12:49 UTC - 0 likes


  • Avatar of jwiik jwiik Oct 18, 2014 at 12:29 UTC - 0 likes

    No answers for me ?

  • Avatar of CommodoreAlpha CommodoreAlpha Oct 18, 2014 at 05:01 UTC - 0 likes

    Also, two questions. Is it possible for multiple items to produce the same "effect" (i.e. both a block of dirt and a bow can make a sentry an archer), and is it possible to get an npc to recognise an item from a mod as a piece of armour? (So it will equip it as armour rather than holding it in hand.)

    EDIT: Realised I was using the wrong build of the same version, as that build was for 1.7.9. Man, all the small details you can miss... o_O

    Last edited Oct 21, 2014 by CommodoreAlpha

    Sure, I'd love to include my server IP here. But it's under construction, and I wouldn't want to get sued for players wandering inside and getting hit by a random beam of steel floating about. And no, I doubt plugins would make very good lawyers either. I've never seen a plugin that forced you to sign a contract do so well.

  • Avatar of iLucasPvP iLucasPvP Oct 18, 2014 at 01:28 UTC - 0 likes

    @mcmonkey4eva: Go

    OMG. Thanks

  • Avatar of mcmonkey4eva mcmonkey4eva Oct 18, 2014 at 01:26 UTC - 0 likes

    @iLucasPvP: Go

    /sentry attackrate

  • Avatar of iLucasPvP iLucasPvP Oct 18, 2014 at 01:17 UTC - 0 likes

    NIIICEEE PLUGIN! But, can you add config for NPC AIM? And hit config. Like 5 hits per second.. etc.

    Nice plugin!

  • Avatar of mcmonkey4eva mcmonkey4eva Oct 17, 2014 at 18:56 UTC - 0 likes

    @Flowdude: Go

    You're running 1.7.10 Sentry on a 1.7.9 server.

  • Avatar of Flowdude Flowdude Oct 17, 2014 at 17:02 UTC - 0 likes
    [09:58:38] [Server thread/INFO]: Flowdude issued server command: /trait sentry
    [09:58:38] [Server thread/WARN]: java.lang.NoClassDefFoundError: net/minecraft/server/v1_7_R4/Packet
    [09:58:38] [Server thread/WARN]: 	at net.aufdemrand.sentry.SentryTrait.ensureInst(
    [09:58:38] [Server thread/WARN]: 	at net.aufdemrand.sentry.SentryTrait.onSpawn(
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.api.npc.AbstractNPC.addTrait(
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.api.npc.AbstractNPC.addTrait(
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.commands.TraitCommands.addTrait(
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.commands.TraitCommands.toggle(
    [09:58:38] [Server thread/WARN]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [09:58:38] [Server thread/WARN]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    [09:58:38] [Server thread/WARN]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    [09:58:38] [Server thread/WARN]: 	at java.lang.reflect.Method.invoke(Unknown Source)
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.api.command.CommandManager.executeMethod(
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.api.command.CommandManager.execute(
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.api.command.CommandManager.executeSafe(
    [09:58:38] [Server thread/WARN]: 	at net.citizensnpcs.Citizens.onCommand(
    [09:58:38] [Server thread/WARN]: 	at org.bukkit.command.PluginCommand.execute(
    [09:58:38] [Server thread/WARN]: 	at org.bukkit.command.SimpleCommandMap.dispatch(
    [09:58:38] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.PlayerConnection.a(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.NetworkManager.a(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.ServerConnection.c(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.MinecraftServer.v(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.DedicatedServer.v(
    [09:58:38] [Server thread/WARN]: 	at net.minecraft.server.v1_7_R3.MinecraftServer.u(
    [09:58:38] [Server thread/WARN]: 	at
    [09:58:38] [Server thread/WARN]: 	at
    [09:58:38] [Server thread/WARN]: Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_7_R4.Packet
    [09:58:38] [Server thread/WARN]: 	at
    [09:58:38] [Server thread/WARN]: 	at
    [09:58:38] [Server thread/WARN]: 	at java.lang.ClassLoader.loadClass(Unknown Source)
    [09:58:38] [Server thread/WARN]: 	at java.lang.ClassLoader.loadClass(Unknown Source)
    [09:58:38] [Server thread/WARN]: 	... 28 more

    Owner of Knights of the block (website not finished)

    Youtube: Click me

    Prison, Survival, Creative, Arcade, KITpvp, Survivalgames, Factions and more!

    (still whitelisted)

  • Avatar of jwiik jwiik Oct 11, 2014 at 10:21 UTC - 0 likes

    At first I created the team, by making / scoreboad teams add test. Then I have join the team by making / scoreboard teams join test. And , I made my pnj and add a target by making / sentry target add team:test And the pnj don't react.

    Thank you for reading

  • Avatar of mcmonkey4eva mcmonkey4eva Oct 10, 2014 at 23:53 UTC - 0 likes

    @jwiik: Go

    What commands exactly did you input to do this?

Your favorite Brigade?

  1. Choice:

  1. Results
  2. 1 comment


Date created
Sep 11, 2012
Last update
Jun 03, 2014
Development stage
  • enUS
Public Domain
Curse link
Sentry for Citizens2
Recent files