mirror of
https://github.com/ZareMate/kubejs.git
synced 2026-11-12 14:20:29 +00:00
chore: updated readme
This commit is contained in:
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user