Spigot Sentinel 2.1.5

Combat NPCs for Spigot!

  1. i Have big problem.. Check this out..
    [19:54:47] [Server thread/WARN]: java.lang.NoSuchFieldException: playerConnection
    [19:54:47] [Server thread/WARN]: at java.lang.Class.getDeclaredField(Class.java:2070)
    [19:54:47] [Server thread/WARN]: at core.praya.agarthalib.utility.ReflectionUtil.getField(ReflectionUtil.java:64)
    [19:54:47] [Server thread/WARN]: at core.praya.agarthalib.utility.PacketUtil.sendPacket(PacketUtil.java:88)
    [19:54:47] [Server thread/WARN]: at core.praya.agarthalib.builder.message.BossBarPacket.sendPacket(BossBarPacket.java:266)
    [19:54:47] [Server thread/WARN]: at core.praya.agarthalib.builder.message.BossBarPacket.setProperty(BossBarPacket.java:161)
    [19:54:47] [Server thread/WARN]: at core.praya.agarthalib.builder.message.BossBarPacket.copyData(BossBarPacket.java:221)
    [19:54:47] [Server thread/WARN]: at com.praya.agarthalib.f.c.a.a(PlayerBossBarManager.java:111)
    [19:54:47] [Server thread/WARN]: at core.praya.agarthalib.bridge.unity.BridgeMessage.sendProtectedBossBar(BridgeMessage.java:286)
    [19:54:47] [Server thread/WARN]: at com.praya.advancedindicator.f.a.c.a(IndicatorManager.java:442)
    [19:54:47] [Server thread/WARN]: at com.praya.advancedindicator.d.a.a.a(EventEntityDamage.java:73)
    [19:54:47] [Server thread/WARN]: at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor188.execute(Unknown Source)
    [19:54:47] [Server thread/WARN]: at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70)
    [19:54:47] [Server thread/WARN]: at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78)
    [19:54:47] [Server thread/WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    [19:54:47] [Server thread/WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513)
    [19:54:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.callEvent(CraftEventFactory.java:102)
    [19:54:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:729)
    [19:54:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:628)
    [19:54:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:761)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.EntityLiving.damageEntity0(EntityLiving.java:1520)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.EntityHuman.damageEntity0(EntityHuman.java:910)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.EntityLiving.damageEntity(EntityLiving.java:993)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.EntityHuman.damageEntity(EntityHuman.java:823)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.EntityPlayer.damageEntity(EntityPlayer.java:655)
    [19:54:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_13_R2.entity.CraftLivingEntity.damage(CraftLivingEntity.java:274)
    [19:54:47] [Server thread/WARN]: at org.mcmonkey.sentinel.SentinelTrait.punch(SentinelTrait.java:783)
    [19:54:47] [Server thread/WARN]: at org.mcmonkey.sentinel.SentinelTrait.tryAttack(SentinelTrait.java:1316)
    [19:54:47] [Server thread/WARN]: at org.mcmonkey.sentinel.SentinelTrait.runUpdate(SentinelTrait.java:1900)
    [19:54:47] [Server thread/WARN]: at org.mcmonkey.sentinel.SentinelTrait.run(SentinelTrait.java:2044)
    [19:54:47] [Server thread/WARN]: at net.citizensnpcs.api.npc.AbstractNPC.update(AbstractNPC.java:428)
    [19:54:47] [Server thread/WARN]: at net.citizensnpcs.npc.CitizensNPC.update(CitizensNPC.java:283)
    [19:54:47] [Server thread/WARN]: at net.citizensnpcs.nms.v1_13_R2.entity.EntityHumanNPC.tick(EntityHumanNPC.java:437)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.World.entityJoinedWorld(World.java:1622)
    [19:54:47] [Server thread/WARN]: at net.citizensnpcs.nms.v1_13_R2.util.NMSImpl.tick(NMSImpl.java:1042)
    [19:54:47] [Server thread/WARN]: at net.citizensnpcs.util.NMS.tick(NMS.java:318)
    [19:54:47] [Server thread/WARN]: at net.citizensnpcs.util.PlayerUpdateTask.run(PlayerUpdateTask.java:36)
    [19:54:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftTask.run(CraftTask.java:82)
    [19:54:47] [Server thread/WARN]: at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:448)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1008)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:943)
    [19:54:47] [Server thread/WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:841)
    [19:54:47] [Server thread/WARN]: at java.lang.Thread.run(Thread.java:748)
  2. nice plugin but there are no special featurs
  3. That exception is sourced from malware listing itself as "com.praya.advancedindicator"

    A lot of people install malware like that mistakenly thinking it's a legitimate plugin. You can see in the error messages that it's malware though. You see how each line below it has a name like "SentinelTrait.punch" is the name of the method that Sentinel uses to make an NPC punch something. Clear easy name... (You can also trace this back to the source code, EG in Sentinel 1.6.2 that's here: https://github.com/mcmonkeyprojects...org/mcmonkey/sentinel/SentinelTrait.java#L764 or in current (1.7 dev) version of Sentinel that's here: https://github.com/mcmonkeyprojects...onkey/sentinel/SentinelWeaponHelper.java#L152 ) ... by contrast, the names in the "com.praya.advancedindicator" section are things like "d.a.a.a" and "f.a.c.a" which is just random letters for each name. These can only be deciphered by careful analysis of bytecode in the jar. This is only ever from one of two sources:
    - Option 1: Incompetent developer. They want to hide their code out of shame or some misunderstanding of software security. In some cases there's mistaken reliance on really bad licenses (Minecraft itself got caught up with some dangerous licensing deals, which is why they have names like ".b" in some places).
    - Option 2: Malware. A developer is hiding the nature of their code so that server owners won't notice some form of malware on their server. This can be something that scrapes data like host logins, uses system resources (eg to mine crypto or whatever else), or something that causes damage (eg adding a backdoor to allow certain people to get free admin on a server).

    My recommendation above anything is immediately remove whatever plugin "com.praya.advancedindicator" is from.
    If for whatever reason you choose not to do this (eg you rely on the plugin heavily and feel confident that it's obfuscated that way due to incompetence and not maliciousness), the alternative is to report the error to that plugin's developer (as that plugin is causing the error - looks to be not appropriate separating player-type NPCs from real human players).
  4. Thank so much, Uninstalled advancedindicator
  5. Hey, I have a problem where long range sentinel archers shoot at mobs but never hit them, the accuracy is 100% but the mobs dont take any damage
  6. Never mind enforce-damage = true seemed to fix it
  7. Can you give the NPCs more than one item? Let's say that you give them a bow and sword, will they use the sword in close range and the bow in long range?
    #467 korra2, Dec 26, 2018
    Last edited: Dec 26, 2018
  8. To do exactly what you just said: use "/sentinel autoswitch" and put the second weapon in their inventory.
  9. There's a new experimental major feature in the dev builds ( http://ci.citizensnpcs.co/job/Sentinel/ ) (v1.7.6+) that I'd like some people to try out and tell me if there's any trouble getting it to work well before I release the update here on Spigot.
    * Note that the dev build include the API rewrite mentioned in the previous update post

    The feature is: the Sentinel avoidance system
    See gfy clip of it in action: https://gfycat.com/GiganticOddDugong
    Basically: NPCs can be set to run away from threats.
    This is via: "/sentinel addavoid [entity]" (and "removeavoid") and "/sentinel avoidrange [range]". Can also use "/sentinel runaway [true/false]" to make the NPC run away when attacked (if left false, NPC will only run from things listed in the 'avoids' list).

    Some ways you can use this:
    - Ranged NPCs might be set to avoid all their normal targets by at least 10 or so blocks, thus they'll stay away if someone runs at them while continuing to use their ranged weapon.
    - "Civilian" NPCs can be set to never fight, and simply have "runaway" set true and have "/sentinel addavoid event:pvp" and "event:pvnpc" so they'll run away if they get attacked or if players are fighting nearby!
    - Weak melee NPCs can be set to avoid stronger threats and attack weaker ones, which helps them not die too quickly.
    - Make a 'hard to catch' NPC (and have it drop a lot of loot if you manage to kill it)
    - Probably a lot of other ways: take advantage of this new system for whatever might work well with it!

    If you think this setup could work for something you're doing but it doesn't seem to function quite right... or, well, you have any issues or ideas for new things Sentinel could do: please post an issue describing your situation to: https://github.com/mcmonkeyprojects/Sentinel/issues
    This new feature came about thanks to issues #219 and #214 posted by this GitHub user: https://github.com/123123b who is on Spigot as @123123b
    #469 mcmonkey, Dec 30, 2018
    Last edited: Dec 30, 2018
  10. The NPC is firing my Crackshot weapon at me when I'm attacking him but I don't get any damage from it. Do I have to toggle anything for this? (No error in Console)
  11. That might be an issue with crackshot and/or your permissions plugin (common source is: if PvP is disabled, that affects NPCs).
    If the weapon is firing it's out of Sentinel's operation at that point, down to CrackShot and any plugins getting in the middle to process from there.
  12. mcmonkey updated Sentinel with a new update entry:

    1.7.6 Update - API Rewrite and New Avoidance System!

    Read the rest of this update entry...
  13. enterih


    my decide was right, that i donating you :)
  14. Can you Make "Sentinel" More Survival Friendly/Admin Friendly in these ways stated below:

    Survival Ideas/Features:

    - Kingdoms (Support And Will Make the NPC's part of the Kingdom but as a "Citizen/Denizen" And would be counted as a player though)
    - A Way For Survival Kingdom Players to have a special to Convert Villagers in there Claimed land to Become: Sentinel Guards.
    - Sentinel Guards Should have a Inventory of 1 Chest
    - Sentinel Guards Should have 10 Hearts Like a Player
    - Sentinel Guards Should be "Levelable" Based On Killing Mobs, Players and etc.
    - Sentinel Guards Should have Upgrades over time per Sentinel NPC and we can choose to Upgrade there Health, Dmg, Speed, Attck Speed, And more.
    - Sentinel Guards ARE UNKILLABLE During/While a Kingdom Is Offline
    - Sentinel Guards can be config'd to be Unkilleable overall or Killable Permantly, By default they should be Perma Killeable Unless you give them a Totem of UnDying in there Inventory in which case they Will Spawn Back at a Bed in your Town You set.
    - Sentinel Guards Should have a "Schedule" and should have to "Sleep" During There Off time.
    - Sentinel Guards Will all wake up regardless if sleeping if the Kingdom Is Invaded By an Enemy factions (has to be more than 1(x) player set in the config)
    - Sentinel Guards Should be able to Use Shields to block Slowly
    - Sentinel Guards Will Gather And Eat Food that the Player Sets up for them in a specific Chest.
    - Sentinel Guards need to eat Food Just like players or they will perma starve to death like players (set in config)
    - Sentinel Guards Who Die with a Totem of Undying will have a chance to come back to life, but the player King of the kingdom can set whether they will respawn at the barracks or Stay alive and keep fighting at there post. (allows them to regroup)

    - There should be Different types of Sentinel Guards

    - Armed Peasant
    - Pikemen (has a "Trident" but its got a custom model to look like a Spear)
    - Archer
    - CrossbowMen (Do more damage to PPL with Iron and Diamond Armour Invaders)
    - MaceMen (Speed Decent armour - Run and dps)
    - LawBringer (Defense Units Stab crawls on walls with Tridents and use Fishing rods in inventory to pull players or enemys closer or knock them back)
    - Wardens - Knights (Sword Knights no shield)
    - Sentinel Guard (Any item that is a Mixmash of misc items), like trident with a shield or axe with shield but they are defending)

    As for Admin Tools it would be nice if the Admin Shop could override the "Sentinels" Dieing permanently but they would have a x amount of cooldown til they respawn from the barracks and come to there post or etc can all be configed.
    These are all just ideas for your plugin i would love to see added. :D
  15. That's... a big pile of things none of which are really things that fit into Sentinel itself. I would more recommend talking to the author of the plugin you linked (Kingdoms) about your ideas to expand it. If the developer contacts me I'd be happy to help them with integrating their plugin with Sentinel.
  16. Can you allow your NPCs to shoot CrackShot weapons with Sentinel?
  17. That's already a thing - just put a weapon in your NPC's hand
  18. is there a way to set a custom skin for the sentinals?
  19. This may be a simple fix but I am baffled.
    As soon as I add the trait sentinel to my NPC's it breaks their waypoints and causes them to just spin around constantly.
    (Created a new test npc. Added 6 waypoints in a straight line and it worked fine. Added "sentinel" to the traitnames and she just spins after reloading)

    Server: CraftBukkit version git-Spigot-f56e2e7-2aba349 (MC: 1.13.2) (Implementing API version 1.13.2-R0.1-SNAPSHOT)
    Citizens: v2.0.24-SNAPSHOT (build 1603)
    Sentinel: v1.7.6 (build 207)