server tools mod
Version: 1.0.3
Minecraft: 1.21.5
Fabric Loader: 1.21.5
Fabric API: 0.88.0+
Java: 17+
一款 Fabric 伺服器模組,讓管理員可動態建立、管理「禮包碼」,玩家輸入後可領取自訂物品、訊息,並自動執行伺服器指令。支援完整郵件系統,方便玩家互相寄送信件與物品。
A Fabric server-side mod that allows administrators to dynamically create and manage "redeem codes". Players can enter codes to claim custom items and messages, and trigger server commands automatically. It also includes a full-featured mail system so that players can send letters and items to each other.
Description language/簡介語言
Features Overview
- Dynamic Redeem Code Management: Create, delete, list, and query redeem codes on the fly.
- Custom Rewards: Define custom item stacks and text messages.
- Advanced Editing: Adjust redeem code properties in real time, including items, messages, claim limits, expiration, and single/multiple-use rules.
- Hidden Codes: Mark codes as hidden so players receive "code not found" if they try to use them.
- Custom Event Hooks: Execute one or more server commands on code redemption (supports other mod commands). Use
@s
to target the claiming player. - Audit Logs: Full logging of all code creations, edits, and redemptions for auditing and review.
- Mail System: Player-to-player mail with items, complete with blacklist, bulk deletion, and logging features.
- Persistence: All data auto-saves to the world folder and reloads on server restart.
- MIT License: Open source — freely modify and distribute.
Installation
- Place
server_tools_mod-1.0.3.jar
into yourmods/
folder (Fabric API required). - Start the server or client(It is not necessary to install it on the client side, only on the server side).
Redeem Code Commands
Add / Remove / List
# Add a new redeem code
/redeem add <code> "<message>" <limit> <time> <singleUse>
# e.g., single-use, expires after 1440 minutes (24 hours)
/redeem add VIP123 "Welcome, VIP!" 1 1440 true
# Remove a code
/redeem remove <code>
# List all codes (admin only)
/redeem list
Redeem
# Player redeems a code
/redeem <code>
Preview
# Preview items for a code (admin only)
/redeem preview item <code>
# Preview text message
/redeem preview text <code>
# Preview events
/redeem preview event <code> all
/redeem preview event <code> <eventName>
Modify Existing Code
Use /redeem modify <code> <field> [args...]
to adjust an existing code.
Items
item reset
: Clear the item list for the code.item transform
: Replace the list with whatever the admin is holding in their offhand.item add
: Append the admin’s offhand item to the existing list.
Fields
code <newCode>
: Rename the code.text "<newMessage>"
: Update the redemption message.limit <number|infinity>
: Set total claim limit (-1
for unlimited).time <minutes|infinity>
: Set expiration in minutes orinfinity
.rules <true|false>
: Single-use per player (true
) or allow multiple per player (false
).receive_status <playerUUID> <true|false>
: Manually mark a player as having claimed (or not).available <true|false>
: Show (true
) or hide (false
) this code.
Events
event add <eventName> <command…>
: Add a server command to run on redemption. Use@s
for the claiming player. e.g./redeem modify VIP123 event add greet title @s title "Welcome VIP"
event remove <eventName>
: Remove a named event.event reset
: Clear all events.
View Logs
# Show all logs
/redeem log all [recent <n>] [page <p>]
# Show edit history for a code
/redeem log code <code> edits [recent <n>] [page <p>]
# Show redemption history for a code
/redeem log code <code> redeems [recent <n>] [page <p>]
# Show all actions by a player
/redeem log player <player> [recent <n>] [page <p>]
Help
# Show overview of redeem commands
/redeem help
# Show detailed help for a subcommand
/redeem help <subcommand>
Mail Commands
Open Mailbox
/mail open [<page>]
- Lists the player’s mailbox (5 messages per page). Defaults to page 1.
Send Mail
/mail send <player> <title> <content> <item>
player
: Single player ID or"@a"
/"all"
(admin only).title
: Mail subject.content
: Body text (use\n
for line breaks).item
:true
to attach the admin’s offhand item,false
for no attachment.
Read Mail
/mail read <id>
- View and mark the specified mail as read.
Pickup Packages
/mail pickup <id>
- Claim attached items from mail.
Delete Mail
/mail delete <id>
- Prompts
[Confirm] [Cancel]
. Run/mail delete <id> confirm
to proceed.
Bulk Delete
/mail delete all [read|received]
all
: delete every message.read
: delete all read messages.received
: delete all messages with claimed items.- Requires confirmation.
Blacklist
/mail blacklist
/mail blacklist add <player>
/mail blacklist remove <player>
- All changes require confirmation.
Log Query (Admin)
/mail log [<page>]
- Paginated list of all mail transactions:
[timestamp] sender -> recipient <id> [View]
.
Help
/mail help
- Show overview of mail commands.
License
This mod is licensed under the MIT License. See the LICENSE
file for details.
Other
Report issues in Chinese or English.
功能總覽
- 動態禮包碼管理:可隨時建立、刪除、列出、查詢禮包碼
- 自訂回饋內容:支援自訂物品列表、文字訊息
- 進階修改功能:可動態調整禮包碼內容,包括物品、訊息、領取上限、有效時間、單/多次領取規則等
- 隱藏/顯示禮包碼:可設定禮包碼為隱藏,玩家輸入隱藏碼時會顯示「無此禮包碼」
- 自訂事件觸發:領取時可執行一或多個伺服器指令(支援其他模組指令),指令目標可用
@s
代表領取玩家 - 領取與編輯日誌:完整記錄所有禮包碼的領取與編輯操作,方便查詢
- 信箱系統:支援玩家間寄送信件與物品,含黑名單、批量刪除、日誌查詢等功能
- 自動持久化存檔:所有資料自動儲存於世界存檔,伺服器重啟後自動載入
- MIT 授權:開源、可自由修改與分發
安裝
- 把
server_tools_mod-1.0.3.jar
放到mods/
資料夾(需同時放 Fabric API) - 啟動伺服器或客戶端(客戶端非必要安裝,僅伺服器端需要)
禮包碼指令用法
新增 / 移除 / 列表
# 新增一組 Code
/redeem add <code> "<message>" <limit> <time> <singleUse>
# 例如:只限領一次、24 小時過期
/redeem add VIP123 "Welcome, VIP!" 1 1440 true
# 刪除 Code
/redeem remove <code>
# 列出所有 Code(管理員專用)
/redeem list
兌換
# 玩家輸入 Code
/redeem <code>
預覽(管理員專用)
# 預覽物品
/redeem preview item <code>
# 預覽文字
/redeem preview text <code>
# 預覽事件
/redeem preview event <code> all
/redeem preview event <code> <eventName>
修改現有 Code
管理員可用 /redeem modify
指令動態調整已存在的 Code。
/redeem modify <code> <field> [args...]
物品
item reset
:清空該 Code 的物品列表item transform
:將物品列表替換為管理員當前副手持物item add
:在現有列表後追加管理員當前副手持物
欄位
code <newCode>
:重新命名 Codetext "<newMessage>"
:更新領取後顯示的文字limit <number|infinity>
:設定總領取次數上限(-1 表示無限)time <minutes|infinity>
:設定過期時間(分),或infinity
rules <true|false>
:單/多次領取規則(true
= 單次每人)receive_status <playerUUID> <true|false>
:手動標記某玩家是否已領取available <true|false>
:顯示(true
)或隱藏(false
)此 Code
事件
event add <eventName> <command…>
:新增一個領取時執行的伺服器指令,@s
解析為領取玩家
例:/redeem modify VIP123 event add greet title @s title "歡迎 VIP"
event remove <eventName>
:移除指定事件event reset
:清空所有事件
查閱日誌
# 顯示所有日誌
/redeem log all [recent <n>] [page <p>]
# 查詢指定 Code 的編輯紀錄
/redeem log code <code> edits [recent <n>] [page <p>]
# 查詢指定 Code 的領取紀錄
/redeem log code <code> redeems [recent <n>] [page <p>]
# 查詢指定玩家的所有操作紀錄
/redeem log player <player> [recent <n>] [page <p>]
幫助
# 顯示所有 /redeem 指令概述
/redeem help
# 顯示指定子指令詳細說明
/redeem help <子指令>
信箱指令用法
開啟信箱
/mail open [<頁碼>]
- 列出當前玩家信箱,每頁最多 5 封信
- 若不輸入頁碼則預設為1
寄送信件
/mail send <player> <title> <content> <item>
player
:若為管理員可輸入"@a"
或"all"
,否則僅單一玩家 ID(輸入這兩種類時請使用雙引號)title
:信件標題content
:內文,可用item
:true
打包副手物品、false
無包裹
查看信件
/mail read <id>
- 顯示指定 ID 信件內容,並標記為已閱讀
領取包裹
/mail pickup <id>
- 領取信件中包裹物品
刪除信件
/mail delete <id>
- 命令後會出現
[確認] [取消]
按鈕,再次輸入/mail delete <id> confirm
或cancel
批量刪除
/mail delete all [read|received]
all
:刪除所有read
:刪除所有已閱讀received
:刪除所有已領包裹- 同樣需後續
confirm
或cancel
黑名單
/mail blacklist
/mail blacklist add <player>
/mail blacklist remove <player>
add
/remove
操作皆需confirm
日誌查詢(管理員)
/mail log [<page>]
- 分頁顯示所有寄送紀錄,格式:
[時間] sender -> recipient <id> [查看]
幫助
/mail help
- 顯示所有
/mail
指令概述
授權
本模組採 MIT License,詳見 LICENSE 文件。
其他
問題回報可使用中文,英文
External resources
Project members

Coffeecat2006
Member