initial implementation complete

This commit is contained in:
JohnTotonchi
2026-01-25 13:02:40 -05:00
parent b413612f4e
commit 1bfc528108
38 changed files with 2312 additions and 0 deletions

76
target/classes/config.yml Normal file
View File

@@ -0,0 +1,76 @@
# GriefDetect Configuration
# Modular, async-first grief pattern detection with confidence scoring and Discord webhook reporting.
global:
# Enable/disable the entire plugin
enable: true
# Use async processing (recommended)
async: true
permissions:
# Permission node for full configuration access
admin: "griefdetect.admin"
# Permission node for reload command
reload: "griefdetect.reload"
# Permission node for receiving chat alerts
alerts: "griefdetect.alerts"
# Permission node for bypassing detection
bypass: "griefdetect.bypass"
webhook:
# Enable Discord webhook notifications
enabled: false
# Discord webhook URL
url: ""
# Minimum confidence threshold for webhook (0-100)
threshold: 75.0
# Number of retry attempts on failure
retryAttempts: 3
# Delay between retry attempts (milliseconds)
retryDelay: 5000
# Area-based cooldown to prevent spam (seconds)
areaCooldown: 300
chat:
# Enable in-game chat alerts
enabled: true
# Minimum confidence threshold for chat alerts (0-100)
threshold: 50.0
# Chat message format (supports & colors)
# Variables: %s (detection type), %s (world), %d (x), %d (y), %d (z), %d (confidence)
format: "&c[GriefDetect] &7%s &fat &6%s:%d,%d,%d &7(%d%%)"
engine:
# Analysis interval in milliseconds (default: 5 seconds)
analysisInterval: 5000
# Cluster timeout in milliseconds (default: 5 minutes)
clusterTimeout: 300000
# Maximum clusters per world
maxClustersPerWorld: 50
modules:
LavaCastDetector:
# Enable lava-water interaction detection
enabled: true
# Minimum block count to trigger evaluation
minBlockCount: 10
# Minimum duration in milliseconds to trigger evaluation
minDuration: 5000
# Mining suppression threshold (0.0-1.0)
suppressionThreshold: 0.1

28
target/classes/plugin.yml Normal file
View File

@@ -0,0 +1,28 @@
name: GriefDetect
version: ${project.version}
main: party.cybsec.griefdetect.GriefDetectPlugin
api-version: 1.21
description: Modular, async-first grief pattern detection with confidence scoring and Discord webhook reporting.
author: CybSec
website: https://git.cybsec.party/cybsec/griefdetect.git
commands:
griefdetect:
description: Reload GriefDetect configuration
usage: /<command> reload
permission: griefdetect.reload
aliases: [gd]
permissions:
griefdetect.admin:
description: Full configuration access
default: op
griefdetect.reload:
description: Reload command permission
default: op
griefdetect.alerts:
description: Receive chat alerts
default: op
griefdetect.bypass:
description: Bypass grief detection
default: op

Binary file not shown.

View File

@@ -0,0 +1,3 @@
artifactId=griefdetect
groupId=party.cybsec
version=1.0.0-SNAPSHOT

View File

@@ -0,0 +1,16 @@
party/cybsec/griefdetect/core/DetectionEngine.class
party/cybsec/griefdetect/core/ConfidenceEngine.class
party/cybsec/griefdetect/commands/ReloadCommand.class
party/cybsec/griefdetect/core/WebhookManager.class
party/cybsec/griefdetect/core/ChatAlertManager.class
party/cybsec/griefdetect/core/ModuleManager.class
party/cybsec/griefdetect/core/DetectionEngine$PlayerPosition.class
party/cybsec/griefdetect/GriefDetectPlugin.class
party/cybsec/griefdetect/core/DetectionEngine$Cluster.class
party/cybsec/griefdetect/core/ModuleManager$DetectionModule.class
party/cybsec/griefdetect/core/PermissionManager.class
party/cybsec/griefdetect/core/DetectionEvent$NearestPlayerInfo.class
party/cybsec/griefdetect/core/WebhookManager$WebhookCallback.class
party/cybsec/griefdetect/modules/LavaCastDetector.class
party/cybsec/griefdetect/core/DetectionEvent.class
party/cybsec/griefdetect/config/PluginConfig.class

View File

@@ -0,0 +1,11 @@
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/GriefDetectPlugin.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/commands/ReloadCommand.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/config/PluginConfig.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/core/ChatAlertManager.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/core/ConfidenceEngine.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/core/DetectionEngine.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/core/DetectionEvent.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/core/ModuleManager.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/core/PermissionManager.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/core/WebhookManager.java
/Users/jacktotonchi/griefdetect/src/main/java/party/cybsec/griefdetect/modules/LavaCastDetector.java

Binary file not shown.