MainMC 是一款功能丰富的 Essentials 替代插件,它不仅为服务器环境提供了大量便捷功能,还修复了许多 Essentials 及其他知名插件中存在的错误。其体积轻巧,功能却更为强大。
要求与兼容性
- Java 版本: Java 8 或更高版本。
- 必需插件: 无。MainMC 是独立插件,无需依赖。
- 已知冲突:
- 与 **Essentials** 插件不兼容。- 部分功能可能会与 **PermissionsPlus** 插件相互干扰。核心特性
MainMC 提供了远超 Essentials 的丰富功能,包括但不限于:
- 高度可定制: 100% 可自定义的翻译消息。
- 独立经济系统: 可禁用并切换使用 Vault。
- 高级封禁系统: 比传统系统更先进的 IP 封禁功能。
- 错误修复: 修复了 Essentials 中超过 10 个错误。
- 管理工具: 完整的用户管理命令与全量制裁记录档案系统。
- 跨用户命令: 可对其他玩家使用命令(Essentials 无法实现)。
- 高级邮件系统。
- 别名与礼包: 可在礼包中实现命令和礼包别名。
- 集成功能: 内置传送点、重生点、自定义告示牌、聊天公告、物品限制。
- 6 种新保护系统: 预防恶意破坏或漏洞利用。
- 游戏内创建: 可直接在游戏中创建礼包和自定义成书。
- GUI 管理: 通过图形界面管理礼包、传送点和经济(需插件)。
- Vault 支持: 可通过 MainMC Economy 插件使用 Vault。
- 其他实用功能: 计算玩家总在线时长、内置 PvP 战斗日志系统、银行支票取款、通过注册命令查找插件等。
经济插件 (Economy Addon) 安装
若想将 MainMC 的经济系统与 Vault 连接,请按以下步骤操作:
- 将
MainMC.jar放入服务器的plugins文件夹并启动服务器。 - 在
config.yml配置文件的Economy部分,将addon enabled设置为true。 - 将
MainMC Economy插件与Vault插件一同放入plugins文件夹。 - 重启服务器,Vault 经济插件即可生效。
命令列表
主命令为 /MainMC。
基础与管理
/MainMC reload- 重载插件配置。/MainMC help- 显示命令列表。/MainMC findpl <cmd>- 显示注册了该命令的插件列表。
游戏模式
/gmc [玩家]- 将玩家游戏模式设为创造。/gms [玩家]- 将玩家游戏模式设为生存。/gma [玩家]- 将玩家游戏模式设为冒险。/gm <模式> [玩家]- 设置玩家游戏模式。
玩家与物品管理
/vanish [玩家]- 使玩家隐身。/give <玩家> <物品ID> <数量> [附魔:等级] [名称:自定义名]- 给予玩家物品。/item <物品ID> <数量>- 获取物品。/enchant <附魔> <等级>- 附魔手中物品。/kick <玩家> <原因>- 踢出玩家。/kickall <原因>- 踢出所有在线玩家。/xp show <玩家>- 显示玩家经验值。/xp give <玩家> <等级>- 给予玩家经验。/xp set <玩家> <等级>- 设置玩家经验值。/feed [玩家]- 为玩家补充饥饿值。/heal [玩家]- 治疗玩家。/god [玩家]- 使玩家无敌。/hat [玩家]- 将手中方块设为玩家的帽子。/fly [玩家]- 设置玩家飞行模式。/speed <行走/飞行> <1-10> [玩家]- 设置玩家行走或飞行速度。/walkspeed <1-10> [玩家]- 设置玩家行走速度。/flyspeed <1-10> [玩家]- 设置玩家飞行速度。
世界与天气
/day- 将所有世界设为白天。/night- 将所有世界设为夜晚。/sun- 将天气设为晴朗。/storm- 将天气设为暴风雨。/thunder- 将天气设为雷暴。
工具与传送
/repair hand- 修复手中物品。/repair all- 修复背包所有物品。/workbench- 打开工作台。/me <消息>- 向全服发送动作消息。/clear [玩家]- 清空玩家背包。/tp <玩家> [目标玩家]- 传送到玩家处。/tphere <玩家>- 将玩家传送到自己身边。/tpall [玩家]- 将所有玩家传送到某玩家处。/tppos <x> <y> <z> [玩家]- 将玩家传送到指定坐标。/tptoggle [玩家]- 启用/禁用玩家的传送请求。/invsee <玩家>- 查看玩家背包。/endersee [玩家]- 查看玩家末影箱。/broadcast <消息>- 发送全服公告。/kill <玩家>- 杀死玩家。/suicide- 自杀。/getpos [玩家]- 获取玩家位置。/spawner <生物类型>- 设置刷怪笼类型。/mobkill <生物类型/all>- 杀死世界中的生物。/thor [玩家]- 用雷击玩家。/list- 查看在线玩家列表。/afk [玩家] [原因]- 设置玩家为离开状态。/helpstaff <消息>- 向管理团队发送消息。/msg <玩家> <消息>- 发送私信。/reply <消息>- 回复私信。/back- 返回上一位置。/tpa <玩家>- 向玩家发送传送请求。/tpaccept- 接受传送请求。/tpdeny- 拒绝传送请求。/tpahere <玩家>- 请求玩家传送到自己身边。
据点与礼包
/setspawn- 设置重生点。/spawn- 传送到重生点。/setwarp <传送点名>- 设置传送点。/warp <传送点名>- 传送到指定传送点。/warps- 查看所有可用传送点。/delwarp <传送点名>- 删除传送点。/kit <礼包名> [玩家]- 给予玩家礼包。/kits- 查看所有可用礼包。/kitcreator create <礼包名>- 在游戏中创建礼包。/kitcreator setdelay <礼包名> <延迟>- 设置礼包领取延迟。/kitcreator setalias <礼包名> <别名>- 为礼包设置别名。/kitcreator setcmd <礼包名> <命令>- 为礼包添加命令。/kitcreator delete <礼包名>- 删除礼包。
社交与信息
/nick <昵称/off> [玩家]- 设置玩家聊天显示名。/realname <昵称>- 根据昵称查看真实用户名。/ignore <玩家> [被忽略玩家]- 忽略玩家的聊天消息。/ignores [玩家]- 查看被忽略的玩家列表。/socialspy [玩家]- 查看所有私信。/mail send <玩家> <消息>- 发送邮件。/mail read- 阅读邮件。/mail clear- 删除所有邮件。/spymail- 显示邮件管理命令。/motd- 查看服务器每日消息。
家与制裁
/sethome <家名称>- 设置家。/home <家名称>- 传送回家。/delhome <家名称>- 删除家。/adminhome- 显示家的管理命令。/mute <玩家> <原因>- 禁言玩家。/unmute <玩家>- 解除玩家禁言。/tempmute <玩家> <分钟数/小时数> <原因>- 临时禁言玩家。/ban <玩家> <原因>- 封禁玩家。/unban <玩家>- 解封玩家。/unbanall- 解封所有被封禁玩家。/tempban <玩家> <小时数/天数/年数> <原因>- 临时封禁玩家。/world <世界名> [玩家]- 将玩家传送到指定世界。/top [玩家]- 将玩家传送到顶部方块位置。/createjail <名称>- 在当前位置创建监狱。/jails- 查看所有可用监狱。/deljail <名称>- 删除监狱。/jail <玩家> <监狱名>- 将玩家关入监狱。/unjail <玩家>- 释放玩家出狱。/lookup <玩家>- 检查玩家是否被封禁或禁言。/banip <玩家/IP> <原因>- 封禁 IP 或玩家的 IP。/unbanip <玩家/IP>- 解封 IP 或玩家的 IP。/seen <玩家/IP>- 查看玩家 IP 或使用同一 IP 的所有用户。/setlockaccount <关键词>- 设置 IP 变更时的账户解锁关键词。/unlockaccount <关键词>- IP 变更后解锁账户。/history <玩家>- 查看玩家的所有封禁、踢出和禁言记录。
经济
/balance [玩家]- 查看余额。/pay <玩家> <金额>- 向玩家付款。/eco give <玩家> <金额>- 给予玩家金钱。/eco take <玩家> <金额>- 扣除玩家金钱。/eco set <玩家> <金额>- 设置玩家金钱余额。/firstlogin [玩家]- 查看玩家首次加入服务器的日期。/withdraw <金额>- 将金钱提取为银行支票。
其他功能
/book- 查看自定义书列表。/book <书名>- 获取自定义书。/book <书名> <玩家>- 给予玩家自定义书。/skull <所有者> [玩家]- 给予玩家自定义头颅。/ping [玩家]- 查看玩家延迟。/ptime [玩家]- 查看玩家在线时间。/lastlocation [玩家]- 获取玩家最后位置。/icadd <控制台/玩家> <命令>- 为手中物品添加命令。/burn <玩家>- 点燃玩家。/ext [玩家]- 清除火焰伤害。/nightvision [玩家]- 切换夜视效果。/near <半径> [玩家]- 获取指定半径内的玩家列表。/fireball- 发射火球。/compact- 将矿物压缩成块。
权限节点
权限节点以 main. 开头。以下为部分关键权限,完整列表请参考插件文档。
基础权限
main.reload- 重载插件配置。main.mainmc- 显示帮助命令。main.gamemode- 更改游戏模式。main.gamemode.other- 更改其他玩家的游戏模式。main.give- 给予物品。main.vanish- 隐身。main.vanish.other- 使其他玩家隐身。main.enchant- 附魔手中物品。main.enchant.other- 附魔玩家手中的物品。
玩家管理
main.kick- 踢出玩家。main.xp- 使用经验命令。main.feed- 使用喂食命令。main.feed.other- 对其他玩家使用喂食命令。main.heal- 使用治疗命令。main.heal.other- 对其他玩家使用治疗命令。main.god- 切换无敌模式。main.god.other- 切换其他玩家的无敌模式。main.fly- 切换飞行模式。main.fly.other- 切换其他玩家的飞行模式。
世界与传送
main.time- 更改所有世界的时间。main.weather- 更改所有世界的天气。main.tp- 传送到其他玩家。main.tp.other- 传送玩家到其他玩家处。main.tphere- 将其他玩家传送到自己身边。main.invsee- 查看其他玩家背包。main.enderchest.other- 查看其他玩家末影箱。
社交与家
main.msg- 发送私信。main.reply- 回复私信。main.home- 使用家命令。main.sethome- 设置家。main.warp- 使用传送点命令。main.setwarp- 设置传送点。main.kit- 使用礼包命令。main.kit.<礼包名>- 领取特定礼包。
制裁与保护
main.mute- 使用禁言命令。main.ban- 使用封禁命令。main.banip- 使用 IP 封禁命令。main.jail- 使用监狱命令。main.build- 建筑权限。main.build.break- 破坏方块权限。
经济
main.balance- 查看自己余额。main.balance.other- 查看其他玩家余额。main.eco- 使用经济命令。main.pay- 使用付款命令。
告示牌格式
以下为支持的告示牌格式(首行内容)
- 余额:
[balance] - 购买:
[buy](第二行:[数量],第三行:[物品ID],第四行:[$价格]) - 出售:
[sell](第二行:[数量],第三行:[物品ID],第四行:[$价格]) - 免费:
[free](第二行:[物品ID]) - 垃圾桶:
[disposal](第四行可选:[$价格]) - 传送点:
[warp](第二行:[传送点名],第四行可选:[$价格]) - 礼包:
[kit](第二行:[礼包名],第四行可选:[$价格]) - 附魔:
[enchant](第二行:[附魔名:等级],第四行可选:[$价格]) - 游戏模式:
[gamemode](第二行:[游戏模式类型],第四行可选:[$价格]) - 治疗:
[heal](第四行可选:[$价格]) - 修复:
[repair](第二行:[all/hand],第四行可选:[$价格]) - 时间:
[time](第二行:[night/day],第四行可选:[$价格]) - 天气:
[weather](第二行:[sun/storm],第四行可选:[$价格])
开发者 API
MainMC 为 Java 开发者提供了丰富的 API。
经济 API
实例化一个经济对象,对指定玩家执行经济操作。
Economy economy = new Economy(Player, double);可用方法包括 getBalance(), addMoney(), setMoney(), removeMoney(), takeAll(), giveAll(), setAll(), toString(), getMoneyToString(), getUser(), static String topToString(int size), static String[] balTop()。
处罚 API
实例化一个处罚对象。
Punishment punishment = new Punishment(String, String, String);
// 参数:被制裁玩家、执行者、原因可用方法包括 registerPunish(Punish, PunishType, String), getKickCount(), getBanCount(), getMuteCount()。
位置工具
通过坐标或 Location 对象实例化位置。
PluginLoc loc = new PluginLoc(double, double, double, World);
PluginLoc loc = new PluginLoc(Location);可用方法包括 toString(), toStringComplete(), getWorld(), getServerWorld(), getLocation(), getTop(), strike(), static Location getLocFromString(String), static World findWorld(String)。
时间工具
通过多种方式实例化时间对象。
Time time = new Time(String); // 如 "1d"
Time time = new Time(Date);
Time time = new Time(boolean, boolean, boolean, boolean, boolean, boolean); // 显示哪些单位
Time time = new Time(String, String, String, String, String, String); // D,M,Y,h,m,s可用方法包括时间转换、判断、获取日期组件、添加时间、设置 Minecraft 时间(如 setDay(), setNight())等。
IP 工具
实例化一个 IP 对象。
Ip ip = new Ip(String); // IP地址可用方法包括 toString(), banIp(String), `getUsersWith