chore: updated readme

This commit is contained in:
2026-09-09 18:54:01 +02:00
parent 701790ccad
commit 738c19082e
+165 -42
View File
@@ -2,86 +2,210 @@
A collection of **KubeJS scripts** created and maintained by **ZareMate**. A collection of **KubeJS scripts** created and maintained by **ZareMate**.
This repository contains scripts intended for use with Minecraft servers and modpacks running [KubeJS](https://kubejs.com/). The scripts are primarily focused on server-side automation, utilities, integrations, and custom functionality. This repository contains server-side KubeJS scripts for Minecraft, focused on automation, utilities, integrations, player management, and custom server functionality.
## 📁 Repository ## 📁 Repository
The repository is available at: **GitHub:** https://github.com/ZareMate/kubejs
https://github.com/ZareMate/kubejs
## 📜 Scripts ## 📜 Scripts
### `multi-acc.js` ### `multi-acc.js`
A KubeJS script for detecting and managing players using multiple accounts. A multi-account detection and management script.
The script integrates with **LuckPerms** and can provide functionality such as: **Features:**
- Tracks player IP/account associations while players are online
- Detects players sharing an IP address
- `/checkip` command for checking current IP groups
- LuckPerms-based permission checks
- Staff alerts for detected shared IPs
- Optional Discord webhook notifications
- Rebuilds the IP map when `/checkip` is used
* Checking player IP/account associations **Dependencies:**
* Detecting multiple accounts - KubeJS
* Permission-based commands - LuckPerms
* Sending alerts through Discord webhooks - KubeJSHTTP
> **Note:** Some scripts may require additional mods, libraries, permissions, or external services to function correctly. Check the comments at the top of each script for dependencies and configuration instructions. **Configuration:**
```js
var DISCORD_WEBHOOK_URL = "REPLACE_ME";
var MULTIACCOUNT_PERMISSION_CHECKIP = "multiaccount.command.checkip";
var MULTIACCOUNT_PERMISSION_ALERT = "multiaccount.alert";
```
**Permissions:**
| Permission | Purpose |
|---|---|
| `multiaccount.command.checkip` | Allows `/checkip` |
| `multiaccount.alert` | Receives multi-account staff alerts |
Server permission level 3 can also use `/checkip`.
---
### `dailyquests.js`
A persistent daily quest system with configurable quests, rewards, player progress, and administrative rerolling.
**Features:**
- Three daily quest difficulties: Easy, Medium, and Hard
- Random quest assignment per player
- Persistent player quest data stored in JSON
- Quest completion tracking
- Inventory-based progress checking
- Item removal when claiming a completed quest
- Configurable rewards
- Daily reset at midnight
- Displays the remaining time until the next reset
- Detects a missed reset after the server was offline by comparing the saved reset date
- Automatically creates the default configuration when needed
- Repairs invalid or outdated player quest data
- Administrative `/reroll <player>` command
- Rerolling works for both online players and players with saved quest data
**Dependencies:**
- KubeJS
- LuckPerms
**Generated files:**
```text
server/kubejs/config/dailyquests.json
server/kubejs/data/dailyquests/players.json
```
The configuration file contains the reset-check interval, reroll permission, rewards, and quest pools.
**Default reroll permission:**
```text
dailyquests.command.reroll
```
**Commands:**
| Command | Description | Permission |
|---|---|---|
| `/dailyrewards` | Opens the player's daily quests | Player |
| `/dailyrewards claim <easy\|medium\|hard>` | Claims a completed quest | Player |
| `/reroll <player>` | Rerolls a player's daily quests | `dailyquests.command.reroll` |
Server permission level 3 can also use `/reroll <player>`.
### Daily reset behavior
Daily quest data is stored on disk and includes the date of the last reset.
The script checks the current date when the server starts, players join, quest data is opened/claimed, and periodically while the server is running. If the stored reset date is older than the current date, the daily quests are reset.
This means the server does **not** need to be online exactly at `00:00`. If it was offline during the reset, the next startup/check detects the new day and resets the quests.
The GUI displays the countdown to the next midnight:
```text
Resets in: 5h 23m 41s
```
## 🛠️ Installation ## 🛠️ Installation
1. Install [KubeJS](https://kubejs.com/) on your Minecraft server. 1. Install [KubeJS](https://kubejs.com/) on your Minecraft server.
2. Download or clone this repository. 2. Install any dependencies required by the script you want to use.
3. Copy the required `.js` script(s) into your KubeJS server scripts directory, typically: 3. Download or clone this repository.
4. Copy the required `.js` files into:
```text ```text
server/kubejs/server_scripts/ server/kubejs/server_scripts/
``` ```
4. Configure any required values inside the script. 5. Start or restart the server.
5. Restart the server or reload the KubeJS scripts where supported. 6. Configure the generated/configuration values as required.
For `dailyquests.js`, the default configuration is automatically created at:
```text
server/kubejs/config/dailyquests.json
```
For `multi-acc.js`, configure the webhook and permissions directly in the script.
## ⚙️ Configuration ## ⚙️ Configuration
Configuration is generally done directly inside each script. Configuration depends on the individual script.
Before using a script, check for variables such as: ### Daily Quests
```js `dailyquests.json` controls:
const DISCORD_WEBHOOK_URL = 'REPLACE_ME'; - Reset check interval
- Reroll permission
- Easy, medium, and hard rewards
- Easy, medium, and hard quest pools
- Quest names, descriptions, item IDs, amounts, and reward types
Example structure:
```json
{
"resetCheckInterval": 20,
"questPermissionReroll": "dailyquests.command.reroll",
"rewards": {
"easy": {},
"medium": {},
"hard": {}
},
"quests": {
"easy": [],
"medium": [],
"hard": []
}
}
``` ```
Replace placeholder values with your own configuration where required. ### Multi-Account
Scripts may also require specific permissions or integrations. These requirements are documented within the individual files whenever applicable. Set the Discord webhook URL if Discord notifications are required:
```js
var DISCORD_WEBHOOK_URL = "REPLACE_ME";
```
Do not commit a real Discord webhook URL to a public repository.
## 📦 Dependencies ## 📦 Dependencies
Dependencies vary between scripts. Dependencies vary by script.
Common dependencies may include: | Script | KubeJS | LuckPerms | KubeJSHTTP |
|---|:---:|:---:|:---:|
| `multi-acc.js` | ✅ | ✅ | ✅ |
| `dailyquests.js` | ✅ | ✅ | ❌ |
* [KubeJS](https://kubejs.com/) Always check the script header and configuration before installation.
* [LuckPerms](https://luckperms.net/)
* Other Minecraft mods or server-side integrations
Always check the individual script before installation.
## ✏️ Modifying the Scripts ## ✏️ Modifying the Scripts
You are welcome to modify the scripts in accordance with the repository license. You are welcome to modify the scripts in accordance with the repository license.
When modifying a script, please preserve the original author attribution and license notice. When modifying a script:
- Preserve the original author attribution.
- Preserve the original copyright notice.
- Preserve the license notice.
- Document substantial changes when appropriate.
If you make substantial modifications, you may add yourself as a modifier in the file's header while retaining the original author information. If you modify a script, you may additionally identify yourself in its header:
Example:
```js ```js
/* /*
* Copyright (c) 2026 @ZareMate * Copyright (c) 2026 @ZareMate
* Original author: @ZareMate * Original author: @ZareMate
* *
* Modified by: YourName
*
* Licensed under the MIT License. * Licensed under the MIT License.
*
* If you modify this script, you may additionally identify yourself as:
*
* Modified by: @YourUsername
*
* The original author attribution and copyright notice must remain.
*/ */
``` ```
@@ -89,12 +213,12 @@ Example:
Issues and pull requests are welcome. Issues and pull requests are welcome.
When submitting changes, please: When submitting changes:
- Explain what the change does.
* Explain what the script or change does. - Test the script before submitting it.
* Test the script before submitting it. - Preserve existing attribution and licensing information.
* Preserve existing attribution and licensing information. - Document new dependencies or configuration requirements.
* Document any new dependencies or configuration requirements. - Avoid committing secrets such as Discord webhook URLs.
## 📄 License ## 📄 License
@@ -106,5 +230,4 @@ See [`LICENSE`](LICENSE) for the full license text.
Created and maintained by **@ZareMate**. Created and maintained by **@ZareMate**.
GitHub: **GitHub:** https://github.com/ZareMate
https://github.com/ZareMate