McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
Core

Core - 核心系统

我的插件核心系统 [DabCore + ChatAPI 组合]
Bukkit / Spigot 作者 Dablakbandit 支持版本 1.12 - 1.21
服务器使用量
275
服务玩家数
445
下载量
17,762
插件详细介绍

这是 DabCore 插件的核心库,它本身不提供任何游戏功能,而是作为我所有其他插件的基础依赖。它整合了 DabCore 和 ChatAPI,旨在确保我的插件系列能够以最佳状态运行。

重要须知

  • 在安装或更新此插件之前,请务必先停止服务器,然后再进行安装或更新操作,以避免其他依赖插件出现错误。

核心功能

此插件作为所有我开发的插件的核心库,主要提供以下支持:

  • DabCore: 提供基础的插件框架和通用功能。
  • ChatAPI: 一个强大的工具,允许开发者创建带有交互元素(如点击和悬停事件)的复杂聊天界面。

ChatAPI 使用示例

以下是如何使用 ChatAPI 创建一个交互式聊天界面的基本代码示例。

基础方法

首先,建议创建几个辅助方法来处理聊天包的发送与控制:

protected void send(JSONFormatter jf, Player player) {
    // 允许数据包通过
    PacketListener.getInstance().allow(player, jf.getSize());
    // 发送数据包
    jf.send(player);
}

protected void pause(Player player) {
    // 暂停向玩家发送聊天数据包
    PacketListener.getInstance().getListener().pause(player);
}

protected void play(Player player) {
    // 恢复玩家的聊天显示(会重发最后100条聊天包,不足则补发空包)
    PacketListener.getInstance().getListener().play(player);
}

构建与发送消息

这是一个基础的发送消息方法,展示了 JSONFormatter 的主要功能:

public void send(Player player) {
    // 是否启用换行(某些Minecraft版本不支持“\n”,建议在配置文件中设置开关)
    boolean newlines = false;
    JSONFormatter jf = new JSONFormatter(newlines);

    // 添加普通文本
    jf.append("--------------");
    jf.newLine();
    jf.append(" ");

    // 添加带点击事件的文本(点击后可执行命令或建议命令)
    jf.appendClick(ChatColor.GREEN + "< Back", new RunCommandEvent("<command>" + " back"));
    jf.newLine();
    jf.newLine();
    jf.append(" " + ChatColor.RED + "Unsupported file");

    // 添加带悬停事件的文本(可显示成就、物品或文本提示)
    jf.appendHover("Example", new ShowTextEvent("Hover"));

    // 重置格式
    jf.resetColors(); // 重置颜色
    jf.resetModifiers(); // 重置修饰符(如斜体、粗体)
    jf.resetAll(); // 重置全部格式,调用 .newLine() 也会重置

    // 添加空白行以使聊天GUI界面看起来更整齐(总高度限制为20行)
    jf.newLine(15);
    jf.append("--------------");

    // 调用自定义的发送方法
    send(jf, player);

    // JSONFormatter 支持链式调用,使代码更紧凑
    jf.append("--------------").newLine()
      .append(" ").appendClick(ChatColor.GREEN + "< Back", new RunCommandEvent("<command>" + " back")).newLine().newLine()
      .append(" " + ChatColor.RED + "Unsupported file")
      .newLine(15)
      .append("--------------");
}

事件类型

ChatAPI 支持多种交互事件

  • 点击事件:
- `RunCommandEvent`: 点击后运行命令。
- `SuggestCommandEvent`: 点击后在聊天框内建议命令。
  • 悬停事件:
- `ShowAchievementEvent`: 悬停时显示成就信息。
- `ShowItemEvent`: 悬停时显示物品信息。
- `ShowTextEvent`: 悬停时显示文本提示。

效果展示

使用上述代码可以创建出带有交互按钮和提示的聊天界面。你可以观看示例视频来了解实际效果。

测试支持版本
1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.20.6 1.21
版本分布
基本信息
插件名称 Core
作者 Dablakbandit
平台 Bukkit / Spigot
支持版本 1.12 - 1.21
点赞数 0
最近版本
0.6.7 153
0.6.4 102
0.6.6 15
0.6.5 2
0.6.0 1
0.5.8 1

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

历史访问人次:3,030,514  |  今日访问人次:14,642  |  昨日访问人次:11,147

独立 IP:5,092  |  最近24小时独立访客:6,546

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

Powered by GermMC 京ICP备17023959号-6