GermInteraction


GermInteraction简介

GermInteraction 是萌芽引擎的免费附属插件,它支持为玩家提供玩家之间的交互操作以及玩家之间的信息查看。


使用须知

指令 作用 备注
/gi 查看指令帮助
/gi info 查看玩家自己的信息界面
/gi info <玩家名> 查看指定玩家的的信息界面 仅OP
/gi reload 重载插件 仅OP

配置文件

config.yml

#按键操作配置
KeyAction:
  #是否允许按键打开 玩家自身交互信息展示界面
  enable: true
  #绑定的按键
  key: "KEY_I"
#右键其他玩家操作配置
RightAction:
  #是否允许 右键其他玩家 打开交互界面
  enable: true
  #将要打开的交互界面 (默认打开 交互菜单界面)
  #menu 交互菜单界面  info 交互信息展示界面
  open: "menu"
#Shift+右键其他玩家操作配置
ShiftRightAction:
  #是否允许 Shift+右键其他玩家 打开交互界面
  enable: true
  #将要打开的交互界面 (默认打开 交互信息展示界面)
  #menu 交互菜单界面  info 交互信息展示界面
  open: "info"
#指令操作配置
CommandAction:
  #将要打开的交互界面 (默认打开 交互信息展示界面)
  #menu 交互菜单界面  info 交互信息展示界面
  open: "info"
#菜单界面操作配置
MenuAction:
  #打开交互信息展示界面的按钮索引名
  #默认为 按钮1
  info-button: "按钮1"

infoGui.yml

#界面索引名不可修改
交互信息展示界面:
  # 任何文本内 直接填变量名是自己的变量 加上 :{other} 则是对方的变量 比如 %player_name:{other}%
  # 拓展槽位组件 直接填槽位id默认是自己的槽位 额外加上 other_前缀 则是对方的槽位 比如 other_germplugin_main_hand
  # 实体模型组件 模型种类填写 other 即为玩家交互的对象
  options:
    startX: "w*0.425"
    startY: "h*0.304"
    startZ: "10"
  背景图:
    type: texture
    path: 'local<->textures/interact/player_info.png'
    locationX: "0"
    locationY: "0"
    width: "w*0.15"
    height: "h*0.413"
  目标玩家名:
    type: label
    align: "center"
    scale: '1'
    font: "default"
    texts:
      - "&b&l%player_name:{other}%"
    locationX: "w*0.074"
    locationY: "h*0.19"
    locationZ: "0"
  目标玩家模型:
    type: entity
    name: "$cancel"
    #模型种类
    #填写 other 为玩家交互的对象
    model: 'other'
    followCursor: false
    lookAtX: "w*0.5"
    lookAtY: "h*0.48"
    size: "h*0.08"
    locationX: "w*0.074"
    locationY: "h*0.178"
    locationZ: "10"
  展示槽位1:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_armor_helmet"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.022"
    locationY: "h*0.018"
    locationZ: "10"
  展示槽位2:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_armor_chestplate"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.022"
    locationY: "h*0.062"
    locationZ: "10"
  展示槽位3:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_armor_leggings"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.022"
    locationY: "h*0.104"
    locationZ: "10"
  展示槽位4:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_armor_boots"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.022"
    locationY: "h*0.148"
    locationZ: "10"
  展示槽位5:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_main_hand"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.107"
    locationY: "h*0.018"
    locationZ: "10"
  展示槽位6:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_off_hand"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.107"
    locationY: "h*0.062"
    locationZ: "10"
  展示槽位7:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_backpack_0"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.107"
    locationY: "h*0.104"
    locationZ: "10"
  展示槽位8:
    type: slot
    #槽位的宽和高(可以使用 w h) 例如:size: 'w*0.1' 或 size: 'h*0.1' 或 size: ' w / h * 0.1'
    size: "h*0.036"
    #是否允许与该槽位交互(可删除,默认为false)
    interact: false
    #任何界面中identity都不能用一样的 防止槽位的物品混乱 (如果您是开发者 推荐使用 处理该槽位的插件全名小写_用来逻辑判断的字符)
    #直接填槽位id默认是自己的槽位 额外加上 other_ 前缀 则是对方的槽位 比如 other_germplugin_main_hand
    identity: "other_germplugin_backpack_1"
    #当槽位内有物品时显示的图片
    fillPath: 'local<->textures/interact/emptyslot.png'
    #当槽位为空的时候显示的图片
    emptyPath: 'local<->textures/interact/emptyslot.png'
    hoverSound: 'hoverbutton'
    clickSound: 'clickbutton'
    locationX: "w*0.107"
    locationY: "h*0.148"
    locationZ: "10"
  文本:
    type: label
    align: "left"
    scale: '1'
    font: "default"
    splitWidth: "w*0.4+40"
    texts:
      - "这里的文本你可以自定义"
      - "例如:"
      - "------------------------------"
      - "血量:           %player_health:{other}%/%player_max_health:{other}%"
      - "------------------------------"
      - "饱食度:         %player_food_level:{other}%/20"
      - "------------------------------"
    locationX: "w*0.013"
    locationY: "h*0.228"
    locationZ: "0"
#界面索引名不可修改
交互菜单界面:
  # 任何文本内 直接填变量名是自己的变量 加上 :{other} 则是对方的变量 比如 %player_name:{other}%
  # 拓展槽位组件 直接填槽位id默认是自己的槽位 额外加上 other_前缀 则是对方的槽位 比如 other_germplugin_main_hand
  # 实体模型组件 模型种类填写 other 即为玩家交互的对象
  options:
    startX: "w*0.5"
    startY: "h*0.5"
    startZ: "10"
  背景图:
    type: texture
    path: 'local<->textures/interact/background.png'
    locationX: "0"
    locationY: "0"
    width: "w*0.108"
    height: "h*0.375"
  目标玩家名:
    type: label
    align: "center"
    scale: '1'
    font: "default"
    texts:
      - "&b&l%player_name:{other}%"
    locationX: "w*0.054"
    locationY: "h*0.020"
    locationZ: "0"
  按钮1:
    type: button
    #按钮默认的图片、GIF(如果填的是gif文件就会渲染成gif)
    defaultPath: 'local<->textures/interact/button.png'
    #鼠标悬浮到按钮时的图片、GIF(如果填的是gif文件就会渲染成gif)
    hoverPath: 'local<->textures/interact/button_hover.png'
    #悬浮到按钮播放声音(可删除)
    hoverSound: ''
    texts:
      - '&a&l属性'
    #点击按钮播放声音(可删除)
    clickSound: 'minecraft:ui.button.click'
    invalid: false
    locationX: "w*0.0115"
    locationY: "h*0.068"
    width: "w*0.084"
    height: "h*0.0375"
  按钮2:
    type: button
    #按钮默认的图片、GIF(如果填的是gif文件就会渲染成gif)
    defaultPath: 'local<->textures/interact/button.png'
    #鼠标悬浮到按钮时的图片、GIF(如果填的是gif文件就会渲染成gif)
    hoverPath: 'local<->textures/interact/button_hover.png'
    #悬浮到按钮播放声音(可删除)
    hoverSound: ''
    texts:
      - '&b&l%player_name:{other}%'
    #点击按钮播放声音(可删除)
    clickSound: 'minecraft:ui.button.click'
    invalid: false
    locationX: "w*0.0115"
    locationY: "h*0.1155"
    width: "w*0.084"
    height: "h*0.0375"
    clickDos:
      - 'message<->&a按钮2'
  按钮3:
    type: button
    #按钮默认的图片、GIF(如果填的是gif文件就会渲染成gif)
    defaultPath: 'local<->textures/interact/button.png'
    #鼠标悬浮到按钮时的图片、GIF(如果填的是gif文件就会渲染成gif)
    hoverPath: 'local<->textures/interact/button_hover.png'
    #悬浮到按钮播放声音(可删除)
    hoverSound: ''
    #点击按钮播放声音(可删除)
    clickSound: 'minecraft:ui.button.click'
    invalid: false
    locationX: "w*0.0115"
    locationY: "h*0.1630"
    width: "w*0.084"
    height: "h*0.0375"
    clickDos:
      - 'message<->&a按钮3'
  按钮4:
    type: button
    #按钮默认的图片、GIF(如果填的是gif文件就会渲染成gif)
    defaultPath: 'local<->textures/interact/button.png'
    #鼠标悬浮到按钮时的图片、GIF(如果填的是gif文件就会渲染成gif)
    hoverPath: 'local<->textures/interact/button_hover.png'
    #悬浮到按钮播放声音(可删除)
    hoverSound: ''
    #点击按钮播放声音(可删除)
    clickSound: 'minecraft:ui.button.click'
    invalid: false
    locationX: "w*0.0115"
    locationY: "h*0.2105"
    width: "w*0.084"
    height: "h*0.0375"
    clickDos:
      - 'message<->&a按钮4'
  按钮5:
    type: button
    #按钮默认的图片、GIF(如果填的是gif文件就会渲染成gif)
    defaultPath: 'local<->textures/interact/button.png'
    #鼠标悬浮到按钮时的图片、GIF(如果填的是gif文件就会渲染成gif)
    hoverPath: 'local<->textures/interact/button_hover.png'
    #悬浮到按钮播放声音(可删除)
    hoverSound: ''
    #点击按钮播放声音(可删除)
    clickSound: 'minecraft:ui.button.click'
    invalid: false
    locationX: "w*0.0115"
    locationY: "h*0.2580"
    width: "w*0.084"
    height: "h*0.0375"
    clickDos:
      - 'message<->&a按钮5'
  按钮6:
    type: button
    #按钮默认的图片、GIF(如果填的是gif文件就会渲染成gif)
    defaultPath: 'local<->textures/interact/button.png'
    #鼠标悬浮到按钮时的图片、GIF(如果填的是gif文件就会渲染成gif)
    hoverPath: 'local<->textures/interact/button_hover.png'
    #悬浮到按钮播放声音(可删除)
    hoverSound: ''
    texts:
      - '&6&l邀请组队'
    #点击按钮播放声音(可删除)
    clickSound: 'minecraft:ui.button.click'
    invalid: false
    locationX: "w*0.0115"
    locationY: "h*0.3055"
    width: "w*0.084"
    height: "h*0.0375"
    clickDos:
      - 'servercmd<->say &a%player_name%点击了按钮6'

开发者须知

/**
 * 获取玩家当前交互对象
 * @param screen    交互菜单界面或交互信息界面
 * @return          被交互的对象
 */
 GermInteractionAPI.getInteractPlayer(GermGuiScreen screen)

/**
 * 玩家准备打开交互菜单界面事件
 * 可以对界面内组件进行操作
 */   
 GermInteractMenuEvent()

/**
 * 玩家准备打开交互信息界面事件
 * 可以对界面内组件进行操作
 */   
 GermInteractInfoEvent()

results matching ""

    No results matching ""