我的世界mod开发(11)监听器


监听器

在开发mod的时候,总有带着镣铐跳舞的感觉,但就是不能修改MC代码
你说气不气,气不气

一、监听器是什么?

是心慈手软,伟大无比,曾经折磨死你 的MinecraftForge团队为mod开发者们准备的可以在触发某事件(攻击,受伤,按下按键,左键空气…)时自动调用的方法体

二、制作监听器

1.引入库

代码如下(EventHandler):

package com.fenge.fmltutor.event;

import com.fenge.fmltutor.ExampleMod;
import com.google.common.collect.Sets;
import com.fenge.fmltutor.item.ItemDirtSword;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;

import java.util.Set;
//监听类,一定要加@Mod.EventBusSubscriber注解
@Mod.EventBusSubscriber(modid = ExampleMod.MODID)
public class EventHandler {
   //监听器一定要有@SubscribeEvent注解,不加的话就跟普通方法一样
    @SubscribeEvent					//参数只有一个,类型决定了要监听时间
    public void  onPlayerEventTick(TickEvent.PlayerTickEvent event){
     		//再次补全方法体
    }
   


}

2.常用监听器

监听类型如下:

Event当xxxx时触发此事件
TickEvent.PlayerTickEvent每帧触发一次
PlayerInteractEvent.LeftClickEmpty每当玩家左键一下空气时调用
LivingHurtEvent生物被扣血时调用
LivingDeathEvent生物个屁时调用
InputEvent.KeyInputEvent按下按键时调用
LivingAttackEvent生物受伤时调用(触发受伤动画时调用)
LivingDamageEvent当某生物被别的生物攻击时调用

更多监听器

IDAE:“有个叫做提示的好东西”
因为监听的事件名字与监听类型的名字几乎一样,所以只要会英语,就可以通过IDEA找出来

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值