Sentry: Difference between revisions
No edit summary |
No edit summary |
||
Line 20: | Line 20: | ||
--- | --- | ||
'''SENTRY''' HAS BEEN REPLACED BY [[Sentinel]]! | <span style="font-family:natalya-alternate-one; font-size:300%; margin-right:-7px; margin-left:-10px;">'''SENTRY''' HAS BEEN REPLACED BY [[Sentinel]]!</span> | ||
--- | --- |
Revision as of 18:49, 11 October 2021
SENTRY HAS BEEN REPLACED BY Sentinel!
---
SENTRY HAS BEEN REPLACED BY Sentinel!
---
SENTRY HAS BEEN REPLACED BY Sentinel!
---
Old page:
Sentry is a Citizens 2.0 character trait that gives NPCs the ability to:
- Attack specific monsters, players, or groups automatically.
- Kill, and be killed by, players, monsters, and the environment.
- Guard locations, paths, players, or other NPCs.
- Use ranged or melee weapons.
- Be configured with stats such as strength, armor, speed, and night vision.
- Ride mounts!
- Work with Denizen to create NPCs that run scripts upon death.
Dev builds are now at: http://ci.citizensnpcs.co/job/Sentry/
The official source code repo is Github/jrbudda/Sentry though Sentry is currently maintained at Github/mcmonkey4eva/Sentry
DEPRECATION
DEPRECATION NOTICE:
Sentry has been replaced by Sentinel, information here: https://github.com/mcmonkey4eva/Sentinel/blob/master/README.md
Updates
v. 1.8.6 05/25/15 download
v. 1.8.5 download
v. 1.8.4 build 2 download
v. 1.8.4 download
v. 1.8.3 download
v. 1.8.2 build 3 download
v. 1.8.2 build 2 06/13/14 download
v. 1.8.2 03/24/14 download
v. 1.8.1 03/24/14 download
v. 1.8.0 12/10/13 download
v. 1.7.1 11/07/13 download
v. 1.6.1 11/07/13 download
v. 1.5.4 11/07/13 download
v. 1.5.3 9/20/2013 download
v. 1.5.2 8/27/2013 download
v. 1.5.1 8/3/2013 download
v. 1.5 7/29/2013 download
v. 1.4.1 7/9/2013 download
v. 1.4.0.1 7/4/2013 download
v. 1.3.7 7/3/2013 download
v. 1.3.6 5/21/2013 download
v. 1.3.5 5/7/2013 download
v. 1.3.4 5/4/2013 download
v. 1.3.3.3 4/9/2013 download
v. 1.3.3.2 3/21/2013 download
v. 1.3.3.1 3/21/2013 download
v. 1.3.3 3/19/2013 download
v. 1.3.2 3/14/2013 download
v. 1.3.1 1/19/2013 download
v. 1.2.6b 12/22/2012 download
v. 1.2.5 12/20/2012 download
v. 1.2.4 12/9/2012
v. 1.2.3 11/27/2012
v. 1.2.2 11/14/2012
v. 1.2.1 10/29/2012
v. 1.2 10/24/2012
v. 1.1.4 10/15/2012
v. 1.1.3 10/15/2012
v. 1.1.2 10/14/2012
v. 1.1.1 10/12/2012
v. 1.1 10/10/2012 Note that this update adds several new items to the config.yml. These will not be added automatically. See the Configuration page for new items.
v. 1.0.3 10/2/2012
v. 1.0.2 9/28/2012
v. 1.0.1 9/27/2012
v. 1.0 Release! 9/21/2012
v. 0.9.9.2 beta 9/20/2012
v. 0.9.9.1 beta 9/17/2012
v. 0.9.9 beta 9/15/2012
Configuration is here! Sentry now has a config.yml! You can:
See Configuration Once the bugs are worked out of this new stuff. Sentry will be released as 1.0. v. 0.9.7 beta 9/11/2012
v. 0.9.6 beta 9/10/2012
v. 0.9.5 beta 9/8/2012
v. 0.9.4 beta 9/7/2012
v. 0.9.3 beta 9/2/2012
v. 0.9.2.1 beta 9/2/2012
v. 0.9.2 beta 9/2/2012
v. 0.9.1 beta 9/1/2012
v. 0.9.0 beta 8/31/2012
v. 0.8.9 beta 8/28/2012
v. 0.8.8.2 beta 8/27/2012
v. 0.8.8.1 beta 8/23/2012
v. 0.8.8 beta 8/21/2012
v. 0.8.7.1 beta 8/20/2012
v. 0.8.7 beta 8/20/2012
v. 0.8.6 beta 8/20/2012
v. 0.8.5.1 beta 8/19/2012
v. 0.8.5 beta 8/17/2012
v. 0.8.4.1 beta 8/16/2012
v. 0.8.4 beta 8/15/2012
v. 0.8.2 beta 8/15/2012
v. 0.8.0 beta 8/13/2012
v. 0.7.9.2 beta 8/12/2012
v. 0.7.9.1 beta 8/12/2012
v. 0.7.9 beta 8/11/2012
v. 0.7.8.1 beta 8/11/2012
v. 0.7.8 beta 8/10/2012
v. 0.7.7.1 beta 8/10/2012
v. 0.7.6 beta 8/8/2012
v. 0.7.5 beta 8/7/2012
v. 0.7.4.5 beta 8/7/2012
v. 0.7.4 beta 8/6/2012
v. 0.7.2 beta 8/4/2012
v. 0.7.2 beta 8/4/2012
v. 0.7.1 beta 8/3/2012
v. 0.7.0 beta 8/2/2012
v. 0.5.6 beta
v. 0.5.5 beta
v. 0.5 beta
v. 0.3 beta
|
Installation
- Ensure the latest [Citizens2] is installed
- Download file. See top of page
- Place Sentry.jar in your Plugins folder.
- Start Server
Permissions
Configuration
On first load Sentry will make config.yml in plugins/Sentry. This can be used to configure Sentry to your liking. See Configuration
Sentry will only make this file if it cannot find it. So check the page above if anything new has been added.
Commands
To view help:
/sentry help
To reload the config.yml:
/sentry reload
All /sentry commands below normally require a selected NPC. use /npc select # to do this. Alternatively you may use
/sentry # [command]
to send a sentry command to a specified sentry without selecting it. # is the Sentry's npcid.
Example: /sentry 3 add target entity:monster
will add the monsters target to sentry with npcID 3.
Creation
To create a sentry, use:
/npc create NPC Name
- /trait sentry
- or
/npc create NPC Name --trait sentry
To give your sentry a place or path to guard use:
/npc path
And use the Waypoints editor.
To equip you Sentry with weapons and armor see #Equipment
If you would like the Sentry to respawn in a different place from where it was created. Move it using
/npc tphere
And then call
/sentry spawn
Targets
Sentries have 2 lists: Targets and Ignores. These lists contain entities. Entities can be monsters, passive mobs, players, or player groups. Sentries look at all the possible entities they can see in their range, If it NOT on the Ignores list and IS on the Targets list, the Sentry will attack it. An entity cannot be seen if it is out of line-of-sight or if it is too dark for the Sentry's nightvision
- Melee Sentries will chase targets until the target is dead, has gotten out of range, or another valid target has gotten closer.
- Ranged Sentries do not follow targets, but will stay on their spot/path and fire at the target until it is dead, out of projectile* range, or another valid target has gotten closer.
- *Note that projectile range is not the same as range (detection range). Projectiles have a fixed range depending on their type. Archers, for example, have a range of about 50 blocks on flat ground. Elevated sentries can hit targets farther away. Sentries that throw things have shorter range.
To add a target:
/sentry target add [category:type]
To add an ignore:
/sentry ignore add [category:type]
[category:type]
can be any of the following:
entity:all | All living things. (adding this to the Ignore list is the same as leaving the Target list empty.) |
entity:owner | The Sentry's npc Owner. |
entity:TYPE | any mob types of TYPE |
entity:monster | All hostile mobs |
entity:player | All real players. |
player:Name | The player with the name Name |
entity:npc | All NPCs. |
NPC:Name | The NPC named Name. |
group:Name | All members of permissions group Name. NPCs can be added to permission groups. |
team:Name | All members of scoreboard team Name. |
town:Name | All members of Towny town Name |
nation:Name | All members of Towny nation Name |
nationenemies:Name | All members of Towny nations that are declared as enemies of Name or have declared Name as an enemy. Only works as a Target, not as an Ignore. |
faction:Name | All members of Factions factiontag Name |
factionenemies:Name | All members of Factions that are currently enemies of Name. |
warteam:Name | All members of War team Name |
event:PvP | The sentry will attack any players that damage another player in range. |
event:PvE | The sentry will attack any players that damage animals or mobs in range. |
event:PvNPC | The sentry will attack any players that damage any NPC in range. |
event:PvSentry | The sentry will attack any players that damage other Sentries in range. |
Examples: This will make the Sentry attack all players except those in the Admin group
/sentry target add entity:player /sentry ignore add group:Admin
This will make the Sentry attack anything that moves.. except sheep and the player named Bob Johnson.
/sentry target add entity:all /sentry ignore add entity:sheep /sentry ignore add player:Bob Johnson
To remove a target:
/sentry target remove [entity]
To remove a ignore:
/sentry ignore remove [entity]
To view the target list:
/sentry target list
To view the ignore list:
/sentry ignore list
To clear the target list:
/sentry target clear
To clear the ignore list:
/sentry ignore clear
Warn/Greet
Sentries can optionally warn or greet Players that come nearby, letting the Player know if the Sentry is hostile or friendly. This is off by default. To turn it on set the WARNINGRANGE higher than 0. This is the number of blocks beyond the RANGE that the Sentry will look for Players to warn/greet. For example if the RANGE is 10 and the WARNINGRANGE is 5, Players 10-15 blocks away will be alerted to the Sentry's hostility.
The warning and greeting message can be customized for each Sentry.
To set the warning message:
/sentry warning 'New Warning Message'
To set the greeting message:
/sentry greeting 'New Greeting Message'
- <PLAYER> and <NPC> can be used in the message as a placeholder for the Player's name or Sentry's name.
- Setting either message to "" will disable that message.
Guarding
Sentries have guarding 2 modes: Lookout and Bodyguard.
Lookouts
This is the default mode for a new Sentry. Lookouts will stand on a single waypoint or travel between waypoints at the default NPC speed. They will look for and engage any targets.
- If a lookout becomes 'stuck' it will abandon its target and teleport back to its waypoint(s).
- Lookouts should always be given waypoints, otherwise they will simply stop moving when their target dies. use
/npc path
to set one or more waypoints. - Lookouts ignore PvP protection and will deal and receive damage in all cases.
To set the Sentry back to this mode if it has been changed:
/sentry guard
Bodyguards
Bodyguards will guard follow another living entity (their guard target). The guard target can be a player or another NPC. If a bodyguard is set to retaliate}, it will engage anything that attacks either its guard target or itself. It will also actively engage any targets that have been configured.
- Bodyguards will not deal damage to, or receive damage from, their guard target or any other bodyguards guarding that target.
- If a bodyguard becomes stuck it will teleport to its guard target after a few seconds.
- If the guard target is a player, and the player logs out, the bodyguard will remain where it is and will not take damage or engage in combat until the player comes back online and in range.
- Bodyguards will honor any PvP-protection that might be active in the current world or area. (can be changed in the Configuration)
To set a Sentry as a bodyguard for a target NPC or Player:
/sentry guard [Name]
- Notes:
- [Name] is case-sensitive!
- Named mobs must be within range of the NPC when set.
- By default this command checks nearby entities for the specified name and if not found then checks the online player list. If this behavior is undesirable you can use
/sentry guard -p [Name]
to only check the online player list or/sentry guard -l [Name]
to only check entities nearby the sentry.
Stats
Stats are Sentry settings that take a value and affect its performance.
To set a stat use:
/sentry [stat] [value]
Example: /sentry armor 5
To view the current value of a stat and get help:
/sentry [stat]
Example: /sentry range
To view all the Sentry's stats, as well as current target, status, and guard target, use:
/sentry info
Stat | Default Value | Value Range | Notes |
---|---|---|---|
health | 20 | 1-2000000 | The number of hit points the Sentry has. Normal players have 20. |
armor | 0 | 0-2000000 | This value is subtracted from all incoming damage. An armor of 10 makes the Sentry very hard to hurt. Armor items equipped on the Sentry have no effect on combat. |
strength | 1 | 0-2000000 | This is the damage the sentry does with each hit, regardless of weapon (or object) held. |
range | 10 | 1-100 | This is the detection range for the Sentry. High values may affect server performance. This is not the same as the projectile range, which is dictated by projectile type and the Sentry's elevation relative to the target. |
speed | 1.0 | 0.0-1.5 | This is the speed at which a sentry will move while pursuing a target. To set the normal path speed use /npc speed. |
attackrate | 2.0 | 0.0-30.0 | This is the number of seconds between projectile shots and has no effect if the Sentry uses a melee weapon. The minimum internal rate is 0.5 (twice a second). |
healrate | 0.0 | 0.0-300.0 | This is the number of seconds between heals of 1 point, values less than 1.0 are acceptable. Set to 0 to turn off healing. |
nightvision | 16 | 0-16 | This is how well the Sentry can see potential targets in the dark. A value of 16 means the sentry can see perfectly all the time. A value of 12 means a target is invisible below light level 4 (16-12) . A value of 6 means a target is invisible below light level 10 (16-6), etc. If the target is a Player and that player is sneaking, its effective light light level is cut in half, making it harder for the sentry to detect. |
respawn | 10 | -1-2000000 | When the sentry dies, this is the number of seconds after which it will respawn. Set to 0 to prevent normal respawn. Set to -1 and the Sentry will not respawn and be permanently destroyed on death. |
warningrange | 0 | 0-50 | The number of blocks beyond range the Sentry will look for Players to warn or greet. Set to 0 to disable warn/greet. |
follow | 4 | 0-32 | The number of blocks a bodyguard will follow behind its guard target. |
Options
Options are sentry settings that can be toggled on and off and affect its behavior.
/sentry [option]
Example: /sentry invincible
You can also explicitly set an option using true or false
Example: /sentry invincible false
To view all the Sentry's stats, options, current target, status, and guard target, use:
/sentry info
Option | Default Value | Notes |
---|---|---|
drops | False | If this is True the Sentry will drop his equipment and some EXP on death. |
killdrops | True | If this is False any mobs the Sentry kills will not drop items or EXP. |
invincible | False | If this is True the Sentry will not take any damage, be knocked back, or show a 'hurt' flash. |
retaliate | True | If this is True, the Sentry will attack to any living thing that attacks it. If the Sentry is acting as a bodyguard, it will also attack any living thing that attacks its guard target. |
criticals | True | If this is true the Sentry will take critical hits and misses. If False, the normal damage is always applied. |
mount | False | Whether or not the Sentry is mounted. See #Mounts |
targetable | True | Whether or not the Sentry is attacked by nearby hostile mobs. |
Combat
Sentries can engage in rewarding combat with players, monsters, and even each other!
Equipment
Equipment can be added to Sentries using the Citizens /npc equip
editor. or the /sentry equip [item|none]
command. What's the difference?
- /npc equip
- Can only be used by in-game players
- Takes items from the player and gives it to the NPC
- Drops all items when removed
- /sentry equip [item|none]
- Can be used from the console/scripts
- Does not require the item
- Does not drop anything on removal.
The choice is yours which you use/allow.
By default, equipped armor is just cosmetic. armor determines the damage reduction from attacks. Armor buffs can be configured for specific types of armor in the Configuration.
The item a Sentry holds in its hand determines its attack type, but the amount of damage the Sentry does is determined by its strength Strength buffs for specific weapon types can be set in Configuration. By default no weapons add strength.
The following items are usable by Sentries (these can be changed in the Configuration):
Default Item | Type | Notes |
---|---|---|
BOW | Archer | The 14th Archer Brigade ("Hawkeyes") of SentryCorps wield long bows and razor arrows. They can hit a chicken square in the nuggets from 50 meters on flat ground. |
REDSTONE_TORCH_ON | Pyromancer I | The entry-level members of the 27th Pyromancer Brigade shoot small, non-incendiary fireballs from their wands. |
TORCH | Pyromancer II | The elite of the Flaming 27th, these wizards shoot fireballs that set the land on fire. |
BLAZE_ROD | Pyromancer III | Spoken of in only hushed whispers, this little-known squad of the 27th has learned to fire large, explosive fireballs. That's a nice everything you have there. |
SNOW_BALL | Ice Magi | The frosty brethren of the 88th Ice Magi Brigade ("Snowmen") throw snowballs which slow enemies on contract. Snowballs have a range of about 25 blocks on flat ground. |
EGG | Bombardiers | The 3rd Brigade of Ovarian Bombardiers gets few recruits. Perhaps its the giant chicken suits they have to wear. Eggs have a range of about 25 blocks on flat ground. |
POTION | Witch Doctor | When not drunk on their own noxious brews, the 9th Witch Doctor Brigade can turn the tide of battle with a single potion. Potions have a range of about 25 blocks on flat ground. The Sentry will throw a splash version of whatever potion type it is equipped with. |
PAPER | Stormcaller I | The magic incantation written on their scrolls allows members of the 99th Stormcallers to strike single targets with bolts of electricity. |
BOOK | Stormcaller II | The elite of the 99th can call forth powerful lightning from the sky to smite multiple foes using tomes of untold power. This lightning's damage is atmospheric and therefore is not affected by the Sentry's strength. |
BOOK_AND_QUILL | Stormcaller III | Few dare call upon the services of the 3rd-tier Stormcaller. Their mighty bolts instantly kill any living thing they touch regardless of health, armor, or play mode; Griefers beware! |
ENDER_PEARL | Warlock I | The lowest tier of the 667th Warlocks. These sorcerers imbue their magic crystals with the kinetic power of the endermen, flinging their targets high into the air. Remember: it's not the fall that kills you, it's the sudden stop at the end. |
SKULL_ITEM | Warlock II | The mid-range warlock shoots black explosive wither skulls at the enemy. |
Anything else | Brawler | All armies need their meat-shields. the 1st Battalion is SentryCorps'. Armed with swords, axes, picks, shovels, rocks, bricks, or even fish, the brawlers take the fight to the enemy, hand to hand, using whatever they can find. |
Dealing Damage
The damage dealt by a Sentry when attacking a target is equal to the sentry's strength.
Typically players have 20 health. By default a Sentry has 1 strength and therefore does 1 damage.
Receiving Damage
Sentries can receive damage from any source, just like a monster. If the Sentry is set to retaliate, it will target any living entity that attacks it, ignoring any current target.
If the Sentry is set to invincible, it takes NO damage or knockback at all!
If the Sentry has criticals turned on, any incoming damage is randomized resulting in a normal hit, a miss, or one of several degrees of critical hit. If the attacker is a player, a message is shown based on the type of hit.
If the Sentry has armor > 0 the damage will be reduced by the amount of armor. If the damage is reduced to nothing, the attack results in a block. Blocked hits cause no damage but DO cause knockback!
Death
If the Sentry's health drops to 0. It dies.
If the Sentry is set to drops on death, when it dies it drops its equipment like a normal monster. Watch out for farmers!
After the respawn delay (default is 10 seconds) the Sentry will respawn. If therespawn is set to 0, the Sentry must be re spawned manually.
Lookouts will respawn at their spawn location, by default this is where they were created. This can be changed with /sentry spawn
Bodyguards will respawn near their guard target.
Mounts
Sentries can be mounted and also used as mounts.
Mounted Sentries
To make a Sentry mounted use the command /sentry mount. This command creates a new, permanant horse-type NPC for the sentry to ride. This NPC can be edited in any way you see fit.
- The mount is a horse by default but can be changed to any mob type with the /npc type command.
- While attacking, mounted Sentries move at double the rider's speed stat. (/sentry speed)
- While patrolling or following, mounted Sentries move at double the rider's /npc speed
- To make a Mounted Sentry patrol give waypoints to the mount
- The mount can be be killed and the sentry will continue on foot, however if the Sentry is killed while mounted the mount also dies.
- Mounts respawn with their Sentry.
Sentries as mounts
- To use a Horse-Sentry as a player's mount it must be that player's bodyguard. (/sentry guard player)
- Horse sentries can be ridden normally, but if given targets they may ignore your input and attack on their own.
Advanced Usage
For combining Sentry and Denizen for truly powerful interactions see Sentry And Denizen
Known Issues
- The Modifyworld plugin that comes with PEX is known to cause '0 damage' issues and prevent sentry mounting.
- Turning PvP off in the server.config will prevent attacking NPCs. This is also true for pvp settings in MultiVerse.
- Heroes does all kinds of funny things to player-type Sentries.
- Using commands on a Sentry NPC while it is dead may cause errors. (/npc spawn is safe)
- Putting a saddle on a Sentry's mount will make it stop moving.
Planned Additions
- Match weapon and armor buffs to item/data/enchantment instead of just item (for all you spout people)
Suggestions
Suggestions are, of course, always welcome!
Quick Navigation | |
---|---|
Usage | Installation · Frequently Asked Questions · Commands · Editors · Characters · API · |
Configuration | Configuration · Text Syntax · Permissions · Waypoints · Data Storage |