• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
自定义玩家屏幕菜单 —— 多场景多样化的实时面对面菜单使用场景

付费 开源 娱乐 自定义玩家屏幕菜单 —— 多场景多样化的实时面对面菜单使用场景 1.5.2

请登录后获取
版权类型
二次开发
插件中文名称
自定义玩家屏幕菜单
插件英文名称
CustomScreenMenu
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Purpur
语言支持
中文(简体)
前置组件
ProtocolLib
PlaceholderAPI
适配版本(Java)
  1. 26.x
  2. 1.21
  3. 1.20
  4. 1.19

CustomScreenMenu 插件

插件简介

一款支持高版本 Minecraft 使用的自定义玩家屏幕交互插件,可通过指令快速调用,适用于特殊场景下的屏幕点击交互(如玩家首次进入游戏时的专属起始菜单界面)。

(PS:如需兼容其他端和插件或有建议功能可添加作者qq:3357153117,开源将不会获得作者的支持和帮助,目前核心主要是适配PAPER1.21.4)
开源地址:https://github.com/JSGDJD/CustomScreenMenu

点击链接加入群聊【熊式插件】

核心功能亮点

  • 支持高版本 Minecraft 稳定运行
  • 指令化操作,灵活控制屏幕交互流程
  • 特殊场景适配(如玩家进入游戏时的起始菜单)
  • 集成物品 3D 模型展示功能
  • 可与其他插件联动扩展(如 ItemsAdder、betterhud)
  • 文字样式旋转,上下移动,左右移动,多样化发展

指令列表

/cursormenu run [name] 启动指定名称的屏幕菜单界面
/cursormenu stop 立即停止当前运行的屏幕菜单
/cursormenu items [item_name] 展示指定物品的 3D 模型
/cursormenu itemsstop 停止当前物品的 3D 模型展示
/cursormenu reload 重载插件配置文件(修改配置后需执行)
/cursormenu run [name] player 为指定玩家启动指定名称的屏幕菜单界面




变量API

%cursormenu_current_menu% – 当前打开的菜单名称
%cursormenu_selected_option% – 当前高亮的选项名称
%cursormenu_display_item_id% – 当前展示物品的 ID
%cursormenu_clicked_option% – 刚刚点击的文字布局组件键名
%cursormenu_is_attacking_or_breaking% – 检测当前玩家破坏或攻击的变量,true为是,false为否
%cursormenu_menu_world% – 菜单所在世界
%cursormenu_button_x% – 所选按钮的 X 坐标
%cursormenu_button_y% – 所选按钮的 Y 坐标
%cursormenu_button_z% – 所选按钮的 Z 坐标

扩展联动

结合 ItemsAdder 插件(自定义物品)与 betterhud 插件(HUD 界面优化),可实现:
  • 物品的 3D 模型悬浮展示
  • 更丰富的交互式物品信息面板设计
通过指令与插件联动,可快速构建沉浸式游戏起始界面或特殊活动交互场景。

以下为插件实现效果视频介绍:
视频(视频菜单)
视频(3D模型展示)
视频(视频菜单2)



Java:
version: "1.1" # 不要修改
Debug: false

messages:
  prefix: '&f[&eCustomScreenMenu&f] '
  command_blocked: '&c固定视角下无法使用命令!'

sound:
  name: 'music.menu'
  volume: 1
  pitch: 1
  # 循环音效
  loop:
    # 是否开启
    enabled: true
    # 每隔多少秒播放一次
    duration: 30

# 加入游戏就执行菜单
join-run:
  enabled: true
  # 延迟多少秒执行
  delay: 3
  # 执行的菜单
  menu: 'test'

cursor-item:
  material: 'ARROW'
  custom-model-data: 0
  scale: 0.5
  # 最大3个X轴 已经为屏幕横向可容纳最大
  max-x: 3
  # 最大1.5个Y轴 已经为屏幕纵向可容纳最大
  max-y: 1.5
  # 光标Z轴偏移量
  z-offset: 0.5



menu:
  test:
    # 按钮所在的位置
    camera-position:
      # 与文字组件的距离
      distance: 1.5
      world: "world"
      x: -275
      y: 78
      z: -52
      yaw: 90.0    # 水平旋转角度 (0-360)
      pitch: 0.0  # 垂直旋转角度 (-90到90)
    layout:
      # 文字组件1
      layout1:
        name: "そ"
        # 文字组件的x轴
        x: -1.3
        # 文字组件的y轴
        y: 1
        # 文字组件的z轴
        z: 2
        tilt:
          x: 0.0   # 上下倾斜(俯仰)
          y: 40.0   # 左右倾斜(偏航)
          z: 0.0   # 前后倾斜(翻滚)
        # 点击的执行命令
        command:
          - '[player] say test'
          - '[op] give %player% stone 1'
        # 点击后是否结束菜单
        stop-menu:
          enabled: true
          # 结束后传送
          teleport:
            enabled: false
            # 返回原本位置 或 返回指定位置
            back-original: true
            world: 'world'
            x: 10
            y: 80
            z: 10
          # 结束后执行的命令
          command:
            enabled: false
            list:
              - '[player] say stop'

      # 文字组件2
      layout2:
        name: "き"
        # 文字组件的x轴
        x: 1
        # 文字组件的y轴
        y: 0.5
        # 文字组件的z轴
        z: 2
        tilt:
          x: 0.0   # 上下倾斜(俯仰)
          y: 40.0   # 左右倾斜(偏航)
          z: 0.0   # 前后倾斜(翻滚)
        command:
          - '[player] say test'
          - '[op] give %player% stone 1'
        stop-menu:
          enabled: false
          teleport:
            enabled: false
            world: 'world'
            x: 20
            y: 90
            z: 20
          command:
            enabled: false
            list:
              - '[player] say stop'

  lobby:
    camera-position:
      distance: 2
      world: "world"
      x: 0
      y: 100
      z: 0
      yaw: 0.0    # 水平旋转角度 (0-360)
      pitch: 0.0  # 垂直旋转角度 (-90到90)
    layout:
      layout1:
        name: "Start"
        x: 0
        y: 0
        z: 0
        tilt:
          x: 0.0   # 上下倾斜(俯仰)
          y: 0.0   # 左右倾斜(偏航)
          z: 0.0   # 前后倾斜(翻滚)
        command:
          - '[player] say test'
          - '[op] give %player% stone 1'
        stop-menu:
          enabled: false
          teleport:
            enabled: false
            world: 'world'
            x: 10
            y: 80
            z: 10
          command:
            enabled: false
            list:
              - '[player] say stop'

      layout2:
        name: "Options"
        x: 0
        y: -1
        z: 0
        tilt:
          x: 0.0   # 上下倾斜(俯仰)
          y: 0.0   # 左右倾斜(偏航)
          z: 0.0   # 前后倾斜(翻滚)
        command:
          - '[player] say test'
          - '[op] give %player% stone 1'
        stop-menu:
          enabled: false
          teleport:
            enabled: false
            world: 'world'
            x: 20
            y: 90
            z: 20
          command:
            enabled: false
            list:
              - '[player] say stop'




代码:
# 物品显示配置
display-items:
  # 物品ID (用于命令参数)
  example_item:
    material: "DIAMOND_SWORD"  # 物品材质
    custom-model-data: 0   # 自定义模型数据
    scale: 0.3    # 显示缩放比例
    offset:     # 相对于玩家视角的偏移量
      x: 0.5
      y: 0
      z: 2.0
    glow: true # 是否发光
    rotate: true   # 是否旋转
    rotate-speed: 2.0   # 旋转速度(数值越大越快)

测试视频:

68747470733a2f2f7777772e696d673532302e636f6d2f394e586c68682e706e67.webp
作者
野比大雄
查看
3,614
首次发布
最后更新

评分

0.00 星 0 次评分

野比大雄 的其他资源

最新更新

  1. 日常更新

    1. 新增GIF动图支持的导入,采用Packet发包处理来实现,详细教程课查看插件文档 支持循环播 map-animations: demo_gif: enabled: true...
  2. 兼容26.2

    修复与兼容性 修复玩家退出服务器时菜单会话被重复清理的问题。 删除 MenuListener 中重复的退出监听逻辑,避免在玩家离线后再次执行延迟 stopCursor() 清理。 保留...
  3. 修复问题

    修复: 1. 移除 Folia 声明:删除 folia-supported: true,插件不再声明支持 Folia。 2. 修复重复区块加载器:删除重复的区块加载器初始化,仅保留一份任务。...
后退
顶部 底部