作者:rebot | 分类:模组
Minecraft 版本: 26.1 26.1.1 26.1.2
平台: fabric
标签: social
ScamScreener is a client-side Fabric mod that analyzes incoming chat, highlights scam-like behavior patterns, and gives you a structured review workflow for safer decisions.
/p leave on blacklist alertstraining-cases-v2.jsonl) for later tuningscamscreener-api)1.21.10 (EOL), 1.21.11 (EOL), 26.1>= 0.17ScamScreener and Fabric API into your mods folder./scamscreener settings (or /ss settings).LOW, MEDIUM, HIGH, CRITICAL). Note that LOW might warn you way often when on large public islands!/scamscreener review) for flagged cases.RISK, SAFE, or DISMISSED./scamscreener review export if needed.ScamScreener evaluates each inbound message through a staged pipeline:
Pipeline outcomes can include IGNORE, REVIEW, BLOCK, WHITELISTED, BLACKLISTED, or MUTED.
Root commands:
/scamscreener .../ss ... (alias)Main command groups:
settings, rules, runtime, messages, metricswhitelist add/remove/clearblacklist add/remove/clearreview, review player, review manage, review info, review exportalertlevelautoleave on/offmute, mute <regex>, unmute, unmute <regex>debugversion, helpMain settings screen includes:
Review flow:
Exclude, Context, or Signal.Risk, Safe, or Dismiss.Export:
/scamscreener review exportconfig/scamscreener/training-cases-v2.jsonlImportant status:
Contribute Training Data buttons are intentionally disabled in GUI for now.ScamScreener stores its data in config/scamscreener/:
runtime.json (runtime and output behavior)rules.json (pipeline rule configuration)review.json (review queue state)whitelist.json (trusted players)blacklist.json (blocked players)training-cases-v2.jsonl (manual export artifact)On first start of v2, ScamScreener performs a one-time migration:
.v1-to-v2-migration.doneExisting v2 target files are never overwritten.
Get the API through the Fabric entrypoint:
import eu.tango.scamscreener.api.ScamScreenerApi;
import net.fabricmc.loader.api.FabricLoader;
import java.util.List;
List<ScamScreenerApi> apis = FabricLoader.getInstance()
.getEntrypoints(ScamScreenerApi.ENTRYPOINT_KEY, ScamScreenerApi.class);
if (!apis.isEmpty()) {
ScamScreenerApi api = apis.get(0);
}
Then use shared list access and events:
import eu.tango.scamscreener.api.BlacklistAccess;
import eu.tango.scamscreener.api.WhitelistAccess;
import eu.tango.scamscreener.api.event.BlacklistEvent;
import eu.tango.scamscreener.api.event.PipelineDecisionEvent;
import eu.tango.scamscreener.api.event.WhitelistEvent;
WhitelistAccess whitelist = api.whitelist();
BlacklistAccess blacklist = api.blacklist();
PipelineDecisionEvent.EVENT.register((chatEvent, decision) -> {
// react to pipeline decisions
});
WhitelistEvent.EVENT.register((changeType, entry) -> {
// entry is null when the list is cleared
});
BlacklistEvent.EVENT.register((changeType, entry) -> {
// entry is null when the list is cleared
});请登录后举报
暂无评论,抢个沙发吧~