来源:哔哩哔哩 时间:2023-06-28 23:33:44
创建如下的目录结构
(相关资料图)
tutorialmod\util\
在KeyBind加入如下的代码:
KeyMapping是一个处理键盘和鼠标输入的类,可以让你绑定按键
第一参数是string类型的,对按键的描述
第二参数是KeyConflictContext,处理按键冲突,用于判断按键是在某个位置,这里选择的是游戏中
第三参数是是一个枚举,表示输入的设备,这里是键盘
第四个参数是绑定的按键,这里是字母o,
第五个参数是category
这里的两个名称对应了我们之前的设置的名称。
创建如下的目录
tutorialmod/event/ClientEvents
在该类中加入如下的代码
注解表示在总线上注册事件的监听器,表示该类方法订阅了总线的静态方法。
其中 bus表示是那个条总线,mod或者是forge
modid 表示监听的那个mod
value 表示在那个服务器有效,例如表示客户端。
SubscribeEvent注解标记事件处理的注解,表示订阅了某个事件总线上的某个事件,在该事件发布时候,会被调用。
仅修饰静态方法。
必须有一个事件参数
没有返回值
_() 是按键被按下。
是键盘按键相关的事件,在键盘按下后会触发。
RegisterKeyMappingsEvent是注册键盘映射的事件,尽在客户端,mod总线上触发。
按住Ctrl点击key
发现这个事件仅仅在客户端执行。注册在forge总线
所以在这里通过Minecraft获得player必定是当前的操作的玩家。
在RegisterKeyMappingsEvent类中,我们同样可以看到,这个事件在Mod总线上,并且尽在客户端执行。
可以看到注册成功了
每按一次o就有一条消息