mirror of
https://github.com/ceratic/project_vollidioten_mod.git
synced 2026-05-14 00:16:47 +02:00
3.8 KiB
3.8 KiB
Projectvollidioten
A Minecraft Fabric mod that provides comprehensive player data logging and automatic resource pack management via GitHub integration.
Features
Player Data Logging
- Logs player join and leave events to external API
- Captures detailed player statistics including:
- Health and max health
- Hunger level
- Experience level
- Game mode
- Position (X, Y, Z, Dimension)
- Tracks completed advancements with display names
- Asynchronous API communication to prevent server lag
- Pretty-printed JSON logging for debugging
Automatic Resource Pack Updates
- GitHub Integration: Automatically monitors GitHub releases for new resource packs
- HTTP Server: Built-in HTTP server (port 25585) to serve resource packs locally
- Smart Updates: Downloads and installs new resource pack versions automatically
- Server Configuration: Automatically updates
server.propertieswith correct URLs and SHA1 hashes - Player Notifications: Broadcasts resource pack availability to all players
- Periodic Checking: Configurable interval checking (default: every 60 minutes)
- Secure Serving: Only serves configured resource pack files for security
Requirements
- Minecraft 1.21.11
- Fabric Loader 0.18.3
- Fabric API 0.140.2+1.21.11
Installation
- Download the mod JAR file from the releases page
- Place the JAR file in your server's
modsfolder - Ensure the Fabric API is also installed
- Start your Minecraft server
Configuration
Player Data Logging
The mod sends data to a hardcoded API endpoint: http://localhost:3000/api/data
To change the API endpoint, modify the API_URL constant in PlayerDataLogger.java.
Resource Pack Auto-Updater
The resource pack updater is configured via config/projectvollidioten/resourcepack.json:
{
"githubOwner": "your-username",
"githubRepo": "your-repo-name",
"resourcePackFileName": "my-pack.zip",
"checkIntervalMinutes": 60
}
Configuration Options:
githubOwner: Your GitHub username or organization namegithubRepo: The repository name containing the resource pack releasesresourcePackFileName: The exact filename of the resource pack ZIP in GitHub releasescheckIntervalMinutes: How often to check for updates (default: 60 minutes)
Setup Instructions:
- Create a GitHub repository for your resource packs
- Upload resource pack ZIP files as release assets
- Update the configuration file with your repository details
- The mod will automatically download and serve new versions
- Players will be notified when new packs are available
Important Notes:
- The built-in HTTP server runs on port 25585 by default
- Resource packs are stored in
server-resource-packs/directory - Only the configured filename can be served for security
- SHA1 hashes are automatically computed and updated in server.properties
API Format
The mod sends POST requests with JSON payloads in the following format:
{
"eventType": "JOIN" | "LEAVE",
"player": "PlayerName",
"uuid": "player-uuid-string",
"timestamp": 1234567890123,
"stats": {
"health": 20.0,
"maxHealth": 20.0,
"foodLevel": 20,
"xpLevel": 10,
"gameMode": "survival",
"position": {
"x": 100.5,
"y": 64.0,
"z": -200.3,
"dimension": "minecraft:overworld"
}
},
"advancements": [
{
"id": "minecraft:story/root",
"title": "Minecraft"
}
]
}
Building from Source
- Clone the repository
- Run
./gradlew build - The built JAR will be in
build/libs/
Development
This mod uses:
- Fabric Loom for building
- Gson for JSON serialization
- Java 21
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request