服务器使用量
6
服务玩家数
0
下载量
6,877
插件详细介绍
ChatGames 是一个基础的聊天互动游戏 API,允许你为玩家在聊天中增添趣味问答。它内置了四种默认问题类型,并支持通过配置自定义奖励与题目生成器。
功能特性
- 内置四种默认问题类型(可通过配置单独禁用):
- 字母位置问题(例如“字母表的第 5 个字母是什么?”)
- 随机字母序列复写(区分大小写)
- 简单数学计算
- 乱序文本解码(答案在配置中定义,例如
flint and steel)
- 基础奖励系统:
- 给予获胜者游戏币(需要 Vault 经济插件)
- 执行自定义命令(例如
give %player% minecraft:diamond 3)
> 请注意:本插件并非一个功能完整的独立游戏插件。其核心是提供 API 支持,内置的四种问题类型仅为示例。插件本身仅支持基础奖励(金钱与命令)。
命令列表
/chatgames current- 显示当前问题、答案与剩余时间/chatgames leaderboard- 显示前 10 名得分榜(如果可用)/chatgames list- 显示所有已加载的问题生成器/chatgames reload- 重载插件配置/chatgames reset [player]- 重置所有玩家/指定玩家的分数/chatgames skip- 跳过当前问题/chatgames toggle- 切换是否接收聊天游戏公告/chatgames version- 显示插件版本
权限节点
chatgames.admin- 使用大部分/chatgames命令chatgames.admin.reload- 使用/chatgames reloadchatgames.admin.reset- 使用/chatgames reset [player]chatgames.leaderboard- 使用/chatgames leaderboardchatgames.blacklist- 永不接收聊天游戏问题chatgames.whitelist- 始终接收聊天游戏问题
API 使用指南
添加新的问题生成器 (Java)
你需要创建一个继承 ChatGameGenerator 的类。生成器会自动注册,因此只需创建一个实例。
public class ExampleQuestion extends ChatGameGenerator {
private static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
// 后续版本中必需
public ExampleQuestion(Plugin plugin) {
super(plugin);
}
// 当轮到该生成器提问时,会调用此方法
@Override
public Question getNewQuestion() {
int index = new Random().nextInt(ALPHABET.length());
return new Question() {
@Override
public String getAnswer() {
return Character.toString(ALPHABET.charAt(index));
}
@Override
public boolean isCaseSensitive() {
return false;
}
@Override
public String getQuestion() {
String message = "what's the %index% letter in the alphabet";
return message.replace("%index%", (index + 1) + (index < 3 ? (index == 0 ? "st" : (index == 1 ? "nd" : "rd")) : "th"));
}
@Override
public String getMessage() {
return "&7Answer &e%question% &7to get rewards!";
}
};
}
// 自 6.0 版本起,生成器需要此方法
@Override
public String getName() {
return "Alphabet";
}
}自定义奖励事件
你可以监听 AsyncChatGameWinEvent 来添加自定义奖励。请注意,自 4.0 版本起,此事件是异步触发的。
@EventHandler
public void onWin(AsyncChatGameWinEvent event) {
Player winner = event.getPlayer();
winner.getInventory().addItem(new ItemStack(Material.DIAMOND));
event.setWinMessage("&aCongratulations! You won a diamond");
}JavaScript 问题生成器
你还可以使用 JavaScript 脚本定义问题生成器。将脚本文件放置在 ChatGames\scripts 目录下。
脚本必须返回一个包含必需成员的 JSON 对象。
// 该脚本需返回一个包含必需成员的 JSON 对象
// 将此脚本放在 ChatGames\scripts 目录中
function getQuestion() {
return {
answer: "true",
caseSensitive: false,
question: "this is a lie",
message: "&7Is '&e%question%&7' a paradox?"
};
}
getQuestion();测试支持版本
版本分布
基本信息
插件名称
Simple Chat Games
作者
EpicEbic
平台
Bukkit / Spigot
支持版本
1.8 - 1.15
点赞数
3
最近版本
1.0.10
6