mirror of
https://github.com/ceratic/project_vollidioten_mod.git
synced 2026-05-14 00:16:47 +02:00
135 lines
3.8 KiB
Markdown
135 lines
3.8 KiB
Markdown
# 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.properties` with 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
|
|
|
|
1. Download the mod JAR file from the releases page
|
|
2. Place the JAR file in your server's `mods` folder
|
|
3. Ensure the Fabric API is also installed
|
|
4. 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`:
|
|
|
|
```json
|
|
{
|
|
"githubOwner": "your-username",
|
|
"githubRepo": "your-repo-name",
|
|
"resourcePackFileName": "my-pack.zip",
|
|
"checkIntervalMinutes": 60
|
|
}
|
|
```
|
|
|
|
**Configuration Options:**
|
|
- `githubOwner`: Your GitHub username or organization name
|
|
- `githubRepo`: The repository name containing the resource pack releases
|
|
- `resourcePackFileName`: The exact filename of the resource pack ZIP in GitHub releases
|
|
- `checkIntervalMinutes`: How often to check for updates (default: 60 minutes)
|
|
|
|
**Setup Instructions:**
|
|
1. Create a GitHub repository for your resource packs
|
|
2. Upload resource pack ZIP files as release assets
|
|
3. Update the configuration file with your repository details
|
|
4. The mod will automatically download and serve new versions
|
|
5. 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:
|
|
|
|
```json
|
|
{
|
|
"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
|
|
|
|
1. Clone the repository
|
|
2. Run `./gradlew build`
|
|
3. 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
|
|
|
|
1. Fork the repository
|
|
2. Create a feature branch
|
|
3. Make your changes
|
|
4. Test thoroughly
|
|
5. Submit a pull request
|