SentinelACDocs

Developers

Java API

Read suspects and control watch sessions from your own plugin.

Setup

plugin.yml
softdepend: [SentinelAC]
pom.xml
<dependency>
  <groupId>com.sentinelac</groupId>
  <artifactId>sentinelac</artifactId>
  <version>2.9.0</version>
  <scope>system</scope>
  <systemPath>${project.basedir}/libs/SentinelAC.jar</systemPath>
</dependency>

Getting the API

Java
SentinelSusApi sus = Bukkit.getServicesManager().load(SentinelSusApi.class);
if (sus == null) return;

for (Suspect s : sus.suspects()) {
    getLogger().info(s.name() + " " + s.verdict().score() + " " + s.patterns());
}

Methods

MethodReturns
suspects()Every flagged player, worst first.
suspect(UUID)One player's Optional<Suspect>.
review(UUID)UNREVIEWED, CLEARED, WATCHING or CONFIRMED.
startSession(staff, target)Start watching. true if it started.
endSession(staff)Stop watching and restore the staff member.
inSession(staff)Whether they're watching someone.
watching(staff)Who they're watching, if anyone.
activeSessions()How many staff are watching.

Suspect

FieldMeaning
id(), name(), online()Who the player is.
verdict().score(), verdict().tier()Confidence 0 to 100, and its tier.
patterns()Likely cheats, like "Fly hack".
checks()Per-check levels behind the score.
flagCount(), kicks()Totals so far.
lagShare(), exemptShare()Share of evidence from lag or game mechanics.
review(), claimedBy()Team verdict and who's watching.

Threading

Call the read methods from a server thread. startSession and endSession must run on the staff member's own thread; on Folia, use their entity scheduler.