All versions
1.0.0
Release
SparkAnalyzer 1.0.09 months ago 647
Uploaded by
Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
Platform
Paper
Changes
SparkAnalyzer
A Minecraft plugin that analyzes Spark profiler data using AI to provide actionable performance recommendations.
Features
AI-Powered Analysis
- Supports multiple AI providers: OpenAI, Anthropic (Claude), Google Gemini, and OpenRouter
- Evidence-based diagnostics with severity ratings (Critical, High, Medium, Low)
- Structured analysis reports with specific recommendations
Easy to Use
- Simply run
/sparkanalyze <spark-url>with any spark.lucko.me profile link - Upload raw JSON data with
/sparkanalyze upload - Re-analyze last profile with
/sparkanalyze last
Webhook Integration
- Send analysis reports to Discord, Slack, or custom webhooks
- Automatic retry with exponential backoff
- Auto-disable on repeated failures
Internationalization
- Full i18n support with customizable language files
- English (en-US) included by default
Spoil config.yml
# SparkAnalyzer Configuration
# Security-hardened Minecraft Paper plugin for AI-powered Spark analysis
# Language setting - uses standard locale codes
# Available: en-US (default), vi-VN, ja-JP, etc.
# If an invalid code is provided, falls back to en-US
language: en-US
# AI Provider Configuration
ai:
# Supported providers: openai, anthropic, gemini,
provider: openrouter
# Your API key - NEVER share this publicly
# This value is loaded securely and never logged
api-key: enter_key_here
# Model to use for analysis
# OpenAI: gpt-4.1-mini, gpt-4o, gpt-4-turbo
# Anthropic: claude-3-opus, claude-3-sonnet
# Gemini: gemini-pro
# OpenRouter: Any model from openrouter.ai (e.g., openai/gpt-4o, anthropic/claude-3.5-sonnet, meta-llama/llama-3.1-70b-instruct)
model: liquid/lfm-2.5-1.2b-thinking:free
# Temperature controls randomness (0.0 = deterministic, 2.0 = creative)
# For technical analysis, lower values (0.1-0.3) are recommended
# Valid range: 0.0 to 2.0
temperature: 0.2
# Maximum tokens in the AI response
# Higher values allow for more detailed analysis
# Must be greater than 0
max-tokens: 32000
# Webhook Configuration (Optional)
webhook:
# Set to true to enable webhook notifications
enabled: false
# Webhook URL - only this URL will receive notifications
# Example: https://discord.com/api/webhooks/...
url: ""
# Format: discord, slack, or generic
format: discord
# Include full analysis report in webhook (may be truncated)
include-full-report: false
# Maximum retry attempts for failed webhooks
max-retries: 3
# Auto-disable webhook after this many consecutive failures
failure-threshold: 5
# Report Settings
reports:
# Save detailed reports to plugins/SparkAnalyzer/reports/
save-to-file: true
# Include timestamps in report filenames
include-timestamp: true
# Debug Settings (for troubleshooting only)
debug:
# Enable verbose logging (does NOT log API keys)
enabled: false

Requirements
- Paper 1.16.5 - 1.21.11
- Java 17+
- Spark profiler installed
Permissions
| Permission | Description |
|---|---|
sparkanalyzer.analyze |
Use analysis commands |
sparkanalyzer.reload |
Reload configuration |
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:h5Y0JyiI:6FCOjLS9"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:h5Y0JyiI:6FCOjLS9"
}

