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"
menuGui.yml
#界面索引名不可修改
交互菜单界面:
# 任何文本内 直接填变量名是自己的变量 加上 :{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()