Simple Chat Games

Simple Chat Games - 简易聊天游戏

玩家基础互动聊天游戏
Bukkit / Spigot 作者 EpicEbic 支持版本 1.8 - 1.15
服务器使用量
11
服务玩家数
11
下载量
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 reload
  • chatgames.admin.reset - 使用 /chatgames reset [player]
  • chatgames.leaderboard - 使用 /chatgames leaderboard
  • chatgames.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();
测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15
版本分布
基本信息
插件名称 Simple Chat Games
作者 EpicEbic
平台 Bukkit / Spigot
支持版本 1.8 - 1.15
点赞数 3
最近版本
1.0.10 11

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,642,896  |  历史访问人次:3,203,121

今日访问人数:18,086  |  今日访问人次:20,480

昨日访问人数:46,463  |  昨日访问人次:52,262

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6