Skip to content

About

MC 版骗子酒馆 Paper 插件(Gradle + paperweight)

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

LiarsBarPaper — MC 版骗子酒馆 Paper 插件

原数据包:JIJIFUJIJI_Liars_Bar by hunterkyou
Paper 插件移植:Paper-Port

支持 Paper 1.21.1 ~ 26.2(插件字节码目标 Java 21),使用 CraftEngine 家具、Display Entity 交互与 Vault 经济。


目录


依赖

  • Paper 1.21.1 或更高版本(已适配至 26.2;1.21.x 使用 Java 21,26.x 按 Paper 要求使用 Java 25)
  • CraftEngine(必需):家具、座位、碰撞与资源包生成
  • Vault(可选):用于饭团币 / 坤坤币模式
  • 一个 Vault 经济插件(如 EssentialsX、CMIB 等)
  • Sparrow Redis Message Broker(可选伴生模块):仅用于跨服桌局目录、座位预约与快速加入

插件启动时会把内嵌 bundle 同步到 plugins/CraftEngine/resources/liarsbar/。资源同时保留 1.21.1 的 CustomModelData 回退与新版本 item_model 映射。Sparrow Heart、Sparrow Reflection、Sparrow YAML 与 ASM 不打包进插件 jar,由 Paper 在首次启动时从 Maven 仓库加载。


安装

  1. 从 Releases 下载 LiarsBarPaper-*.jar。
  2. 将 jar 放入服务器的 plugins/ 文件夹。
  3. 安装 CraftEngine;插件会自动安装内嵌 bundle,随后由 CraftEngine 生成并分发资源包。
  4. (可选)安装 Vault 和经济插件以启用下注模式。
  5. 启动服务器。

构建会同时生成主插件 LiarsBarPaper-*.jar 和可选伴生插件 LiarsBarPaper-Cluster-*.jar。单服只安装第一个即可,主插件不会加载 Redis 相关类。


快速开始

  1. 管理员创建桌子

    /liarbar set lobby_1
    /liarbar build lobby_1
    

    或者一步创建:

    /liarbar create lobby_1
    
  2. 玩家入座
    走到 lobby_1 桌附近,右键或左键点击座位实体即可入座;也可使用:

    /liarbar join lobby_1
    
  3. 开始游戏
    满 4 人自动开始,或手动:

    /liarbar start lobby_1
    

可选跨服模块

需要在 Velocity/BungeeCord 群组服之间共享空闲桌并支持 /lb quickjoin 转服时:

  1. 每台 Paper 实例同时安装主插件与 LiarsBarPaper-Cluster-*.jar。
  2. 编辑 plugins/LiarsBarPaper-Cluster/config.yml,设置 enabled: true。
  3. 为每台实例配置唯一 server-id,并令 proxy-server-name 与代理配置中的目标服务器名完全一致。
  4. 所有实例连接同一个 Redis,并使用相同的 channel。
  5. 在代理端允许后端服务器发送 BungeeCord 兼容插件消息,然后重启各实例。

跨服模块每两秒发布一次精简桌局心跳。远程加入会先预约具体座位,目标服确认后才转服; 预约期间其他玩家无法占用该座位,玩家到达后仍需点击红色坐垫才正式加入。Redis 断线时 远程目录自动失效并周期重连,本服桌局、下注和正在进行的游戏不受影响。实时手牌、回合与 经济结算不会通过 Pub/Sub 同步,牌局始终归属于单个 Paper 实例。

Sparrow Redis Message Broker 当前 Maven 版本为 0.0.7,上游仓库尚未声明软件许可证。 伴生 JAR 不包含其源码或二进制,但安装者仍应先取得运行该依赖的授权。


玩法说明

游戏模式

每张桌都可用 /liarbar game <ID> <玩法> 独立设置模式:

玩法 说明
deck_classic A/Q/K 与万能牌构成的经典骗子牌
deck_chaos 加入主宰与混沌牌,可指定或集体选择射击目标
deck_devil 加入恶魔牌;被质疑时会让其他存活玩家承担枪击
dice 隐藏骰子、逐级叫点与质疑,失败者喝下毒酒
poker 私有底牌与公共牌,支持跟注、弃牌、换牌和全押
slots 旋转、声明、质疑、领取或加倍的骗子老虎机

基本规则

  • 每局 2~4 人,每轮发 5 张手牌。
  • 每轮会随机指定一种主牌:A、Q 或 K。
  • 玩家轮流出牌,每次最多出 3 张,可谎报牌型。
  • 下家可以选择质疑上家出的牌。
  • 被质疑后翻开牌:
    • 如果出的牌全是主牌或万能牌,质疑者输。
    • 如果含有非主牌且不是恶魔牌,出牌者输。
    • 如果含有恶魔牌,除出牌者外所有存活玩家都要挨一枪。
  • 输家要玩一次“俄罗斯轮盘”:6 发子弹中只有 1 发实弹。
    • 实弹:玩家出局。
    • 空弹:存活,剩余子弹数 -1。
  • 最后存活且仍有手牌的玩家获胜。

卡牌说明

卡牌 说明
A / Q / K 普通牌,可与主牌对应
坤(KUN) 万能牌,可当任意主牌使用
恶魔(DEMON) 特殊牌,只能单独出;被质疑后所有人(除出牌者)都要挨枪

下注模式

管理员可通过以下命令切换桌子模式:

/liarbar mode a life      # 赌命模式,无经济消耗
/liarbar mode a fantuan   # 饭团币模式,加入需扣费,胜者赢取奖池
/liarbar mode a kunkun    # 坤坤币模式

赌博模式需要在 config.yml 中开启 gambling-mode: true,并安装 Vault + 经济插件。

交互方式

  • 座位:右键 / 左键点击座位实体入座。
  • 手牌:右键 / 左键点击手牌实体选牌(可重复点击取消选择)。
  • 出牌按钮:点击当前玩家附近的出牌按钮执行出牌。
  • 质疑按钮:点击质疑按钮质疑上家。
  • 也支持纯命令操作:/liarbar select、/liarbar play、/liarbar challenge。

回合超时

每位玩家有 30 秒出牌时间。超时后:

  • 如果存在可质疑的上家,自动质疑。
  • 如果是首回合或上家是自己,自动打出第一张手牌。

命令列表

命令 权限 说明
/liarbar set <ID> liarsbar.admin 将当前位置设为某张桌子的中心
/liarbar build <ID> liarsbar.admin 为桌子生成 Display Entity 座位
/liarbar create <ID> liarsbar.admin 快速创建并保存桌子
/liarbar delete <ID> liarsbar.admin 删除桌子
/liarbar gambling [on/off] liarsbar.admin 开关赌博模式
/liarbar join <ID> liarsbar.player 加入指定桌子
/liarbar quickjoin [玩法] liarsbar.player 优先查找本服座位,安装集群模块后继续查找远端服务器
/liarbar leave liarsbar.player 离开当前游戏
/liarbar start [ID] liarsbar.player 开始游戏(ID 可省略,默认当前所在桌)
/liarbar stop [ID] liarsbar.admin 强制结束游戏
/liarbar mode <ID> <life/fantuan/kunkun> liarsbar.admin 设置桌子下注模式
/liarbar game <ID> <玩法> liarsbar.admin 设置经典牌、混沌牌、恶魔牌、骰子、扑克或老虎机
/liarbar select <1-5> liarsbar.player 选择第几张手牌
/liarbar play liarsbar.player 出掉已选择的手牌
/liarbar challenge liarsbar.player 质疑上家
/liarbar bid <数量> <点数> liarsbar.player 骗子骰叫点
/liarbar poker <动作> liarsbar.player 执行扑克行动
/liarbar slots <动作> liarsbar.player 执行老虎机行动
/liarbar target <玩家> liarsbar.player 为混沌牌选择射击目标
/liarbar spectate <ID> liarsbar.player 观战指定桌局
/liarbar chat <内容> liarsbar.player 向同桌玩家和观战者发送桌内消息
/liarbar stats [玩家] liarsbar.player 查看本地战绩
/liarbar top liarsbar.player 查看本服胜场排行
/liarbar info 所有玩家 查看所有桌子状态
/liarbar help 所有玩家 显示帮助

桌子 ID 不限制为 A-E,可使用 lobby_1、vip_2、table_10 等任意 ID 创建多张桌子。每张桌最多 4 人,同时开局的桌数没有代码层上限,实际承载量取决于服务器性能与 Display Entity 数量。


权限

权限节点 默认 说明
liarsbar.admin op 创建/删除桌子、设置坐标、开关赌博、强制结束
liarsbar.player true 加入、离开、开始、选牌、出牌、质疑

配置

config.yml 示例:

# 是否允许玩家赌饭团币/坤坤币
gambling-mode: true

# 桌子的中心坐标,管理员也可在游戏内用 /liarbar set <ID> 设置
tables: {}
# 示例:
# tables:
#   lobby_1:
#     world: world
#     x: 0
#     y: 64
#     z: 0

致谢

  • hunterkyou:原数据包《骗子酒馆》作者,资源包与游戏规则均来自其项目。
  • Paper-Port:Paper 插件移植、Display Entity 交互实现、Vault 经济接入。
  • PaperMC:Paper API 与服务端。
  • CraftEngine:资源包分发方案。
  • Sparrow Heart:跨版本客户端座位指引,MIT License。
  • Sparrow Reflection:CraftEngine 跨版本反射查找与 ASM 调用缓存,GPL-3.0。
  • Sparrow YAML:配置版本升级、备份、默认值合并和注释保留,GPL-3.0。
  • Sparrow Metadata:参考其延迟持久化模型实现本地战绩快照;上游暂无可分发许可证,未直接链接。
  • Sparrow Redis Message Broker:可选跨服桌局目录与座位预约传输层;不打包,上游暂无许可证。
  • Vault:经济接口抽象。

协议

插件源代码采用 GPL-3.0-only。原数据包模型、纹理及其他美术资源仍归原作者所有,并继续遵守原项目的非商业使用与署名要求;GPL 不会覆盖或移除这些第三方素材条款。

About

MC 版骗子酒馆 Paper 插件(Gradle + paperweight)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages