当前位置: 首页 > wzjs >正文

c2c网站建站的标准天津做不锈钢的网站

c2c网站建站的标准,天津做不锈钢的网站,河南seo网站策划,广州建设信息网在第五节我们讲了怎么新建一个实体,但是那是最基本的教程,这期我们来讲讲怎么新建一个雪怪类继承自monster类,然后有一些自定义的行为AI。 和第五期不同的是,构造函数必须这么写: public SnowMonster(EntityType<? extends Monster> type, Level level) {super(ty…

在第五节我们讲了怎么新建一个实体,但是那是最基本的教程,这期我们来讲讲怎么新建一个雪怪类继承自monster类,然后有一些自定义的行为AI。

和第五期不同的是,构造函数必须这么写:

    public SnowMonster(EntityType<? extends Monster> type, Level level) {super(type, level);}

生物属性

    public static AttributeSupplier.Builder createAttributes() {return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0).add(Attributes.MOVEMENT_SPEED, 0.25).add(Attributes.ATTACK_DAMAGE, 2.0).add(Attributes.FOLLOW_RANGE, 5.0);}

代码解释: 

这段代码是一个静态方法,返回一个AttributeSupplier.Builder对象。该方法首先调用Monster.createMonsterAttributes()方法来获取一个怪物的属性构建器对象,然后通过链式调用.add()方法来添加不同的属性。具体添加的属性包括MAX_HEALTH(最大生命值为50.0)、MOVEMENT_SPEED(移动速度为0.25)、ATTACK_DAMAGE(攻击伤害为2.0)和FOLLOW_RANGE(跟随范围为5.0)。

整体操作是在已有的怪物属性构建器对象基础上进行属性的添加,以便创建具有特定属性的怪物对象。

然后注册到事件监听器中

    @SubscribeEventpublic static void onEntityAttributeCreation(EntityAttributeCreationEvent event) {event.put(EntityRegistry.SNOW_MONSTER.get(), SnowMonster.createAttributes().build());}

自定义AI

自定义AI必须重写registerGoals方法:

    @Overrideprotected void registerGoals() {this.goalSelector.addGoal(1, new SnowMonsterGoals.RangedAttackGoal(this, 20, 5.0F));this.goalSelector.addGoal(2, new SnowMonsterGoals.PanicGoal(this));this.goalSelector.addGoal(3, new SnowMonsterGoals.AvoidStrongTargetGoal(this));this.goalSelector.addGoal(4, new SnowMonsterGoals.AvoidTargetWhenWeakGoal(this));this.goalSelector.addGoal(5, new SnowMonsterGoals.SnowMonsterSkillGoal(this));this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true));this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this,Animal.class,true,// 仅排除雪傀儡和同类e -> !(e instanceof SnowGolem) && !(e instanceof SnowMonster)));}

这段代码是一个实体类的注册行为,通过重写registerGoals()方法来设定实体在游戏中的行为目标。在这段代码中,为一个名为SnowMonster的实体注册了多个行为目标。

  1. RangedAttackGoal:设定SnowMonster实体在20 ticks内以5.0的力量进行远程攻击的行为目标。

  2. PanicGoal:设定SnowMonster实体在受到惊吓时会进行惊慌行为的目标。

  3. AvoidStrongTargetGoal:设定SnowMonster实体会避开强大目标的行为目标。

  4. AvoidTargetWhenWeakGoal:设定SnowMonster实体在虚弱时会避开目标的行为目标。

  5. SnowMonsterSkillGoal:设定SnowMonster实体的技能行为目标。

在目标选择器中,也注册了两个目标选择器:

  1. NearestAttackableTargetGoal:设定SnowMonster实体会攻击距离最近的玩家实体。

  2. NearestAttackableTargetGoal:设定SnowMonster实体会攻击距禮最近的动物实体,并通过Lambda表达式排除了雪傀儡和同类的实体。

总之,这段代码通过添加不同的目标选择器和行为目标的组合,为SnowMonster实体设定了在游戏中的行为逻辑,定义了它的攻击、逃避和技能等行为。

 实体数据

创建实体数据的意义是用来标识实体的状态和自定义一些功能,存储一些数据

实体数据可以这么创建:

    public static final EntityDataAccessor<Boolean> PANIC = SynchedEntityData.defineId(SnowMonster.class, EntityDataSerializers.BOOLEAN);public static final EntityDataAccessor<Float> TURN = SynchedEntityData.defineId(SnowMonster.class, EntityDataSerializers.FLOAT);

这里定义了两个数据,一个是PANIC代表实体是否处于惊慌状态,另一个是TURN的Float类数据。

深入源码 


文章转载自:

http://39CNKNiz.rxsgk.cn
http://iUjZjKsF.rxsgk.cn
http://IMt7izl8.rxsgk.cn
http://PSRPwuis.rxsgk.cn
http://3CqaBdgt.rxsgk.cn
http://YwZl7nJX.rxsgk.cn
http://cuL2yBkw.rxsgk.cn
http://w45CdSRP.rxsgk.cn
http://bJtacSjX.rxsgk.cn
http://cEymVGsJ.rxsgk.cn
http://UFuQnHKe.rxsgk.cn
http://WgisHkGU.rxsgk.cn
http://n9FBMqnU.rxsgk.cn
http://wDJrBRtt.rxsgk.cn
http://ZNLevHsp.rxsgk.cn
http://3VuP5blW.rxsgk.cn
http://HCXCrM0o.rxsgk.cn
http://UUKz26U7.rxsgk.cn
http://ChqQ5Cyq.rxsgk.cn
http://5WcfZVYK.rxsgk.cn
http://nfv5OJuS.rxsgk.cn
http://53dsdU3r.rxsgk.cn
http://hfyGB7Fw.rxsgk.cn
http://Fj7E606S.rxsgk.cn
http://uPNgDOy8.rxsgk.cn
http://WuZD8pHr.rxsgk.cn
http://ebLwZnu0.rxsgk.cn
http://YSWz0mkF.rxsgk.cn
http://euy2v2Ft.rxsgk.cn
http://hzi29Xg1.rxsgk.cn
http://www.dtcms.com/wzjs/611032.html

相关文章:

  • 网页设计与网站建设报告学校网站建设报价单
  • 肇庆城乡建设门户网站电子商务网站建设主管的策划案
  • 酒店 深圳 网站制作it运维工程师月薪
  • 电脑网站编程江苏省教育网站官网
  • 硬件优化大师seo引擎优化方案
  • 宿迁企业网站设计python做互金网站
  • 合肥百度 网站建设wordpress博客速度很慢
  • 做网站能用ai做吗dw网页制作模板成品免费
  • 一个大型网站建设得多少钱三亚网站建设方案
  • 无锡网站建设方案托管网站的公关和广告活动怎么做
  • 彩票网站开发. 极云青岛茶叶网站建设
  • php网站怎么做静态化建立网站怎么申请
  • 如何套用网站模板导购网站开发源码
  • 俄语网站长沙seo服务哪个公司好
  • 苏州网站建设情况asp.net网站开发实战
  • 江苏省交通建设质监网站设计合理的网站网页归档
  • 网站设计appwordpress 双主页
  • 站长工具seo推广秒收录潍坊市网站
  • 宠物寄养网站毕业设计鞍山吧百度贴吧
  • 外贸网站设计如何下免费的wordpress
  • 昆明网站seo服务一键优化清理神器
  • 多语种网站后台注册网站后如何注销账号
  • 建设网站需要招聘哪些人北京公司名称
  • 太原建站模板大全适合当手机主页的网站
  • 郑州教育网站建设大数据营销教材
  • 安徽阜阳网站建设网站里的动态是如何制作
  • 旅游+网站建设archlinux+wordpress
  • 房地产网站推荐网站建设代码出现乱码
  • 牡丹江3d网站开发重庆企业网站推广方法
  • 个股期权网站开发wordpress博客插件