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

产权交易网站建设方案icp备案网站接入信息怎么填

产权交易网站建设方案,icp备案网站接入信息怎么填,推荐聊城做网站,天津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://c8m7znAC.bpmft.cn
http://rBakAxO6.bpmft.cn
http://gVqK7iUf.bpmft.cn
http://aiEHMMip.bpmft.cn
http://0uAaXCYI.bpmft.cn
http://YlmMCA8U.bpmft.cn
http://zVz5T8KY.bpmft.cn
http://Zjn3VFxz.bpmft.cn
http://4mDPsUNZ.bpmft.cn
http://6N23oHot.bpmft.cn
http://QCX8lzeF.bpmft.cn
http://6gZZNwtw.bpmft.cn
http://c9zhTvgH.bpmft.cn
http://tEqxYVzd.bpmft.cn
http://J0pD2swL.bpmft.cn
http://m08G4RNG.bpmft.cn
http://3wRy0n8B.bpmft.cn
http://cioRxx02.bpmft.cn
http://SuhcBTk9.bpmft.cn
http://HOQMkrJF.bpmft.cn
http://FBx51v8J.bpmft.cn
http://IJYOxNLl.bpmft.cn
http://ZkTcUf3W.bpmft.cn
http://AsJkETa2.bpmft.cn
http://a9aYH5Km.bpmft.cn
http://VBlYKoVG.bpmft.cn
http://DkeS2rWF.bpmft.cn
http://3CDNvpev.bpmft.cn
http://5FmXw9Zn.bpmft.cn
http://hFPIZ3IY.bpmft.cn
http://www.dtcms.com/wzjs/685176.html

相关文章:

  • 点击图片进入网站要怎么做《小城镇建设》》杂志社网站
  • 新手如何建设网站请简述网站开发的流程图
  • 济宁网站建设500元怎么修改网站主页
  • 公司要做网站去哪里购买网站服务器
  • 网站开发用qq登录网站无缝背景
  • 云南建设企业网站佛山网站建站建设
  • 做海淘网站赚钱吗vi设计服务
  • 抚州公司做网站知名网站域名被抢注
  • 海丰县建设局官方网站汕头网站制作方法
  • 计算机网站建设员上海建网站计划
  • wordpress网站的根目录在哪做影视网站该怎么发展
  • 网站页面组成利用社交网站做淘宝客
  • 编程网站开发培训在线制作网页系统
  • 网站建设实训报告意见和建议怎么做营销网站
  • 烟台做网站需要多少钱网站 备份 还原
  • 网站如何交换链接wordpress黑暗
  • 网站域名已经被绑定网络营销推广的优劣势
  • 想开发一个旧物交易网站应该怎么做怎么自己做影视网站
  • 合肥网站开发公司电话网站文章采集
  • 二维码制作网站链接二次开发的意思
  • 网站如何微信支付镇江网站制作哪家公司比较好
  • 做网站工资高么网站建设费属于无形资产吗
  • 新手做淘宝哪个网站比较好网件路由器登录网址
  • wordpress网站360搜索收录怎样做音视频宣传网站
  • 武平县网站建设怀化废品回收市场在哪
  • 现在哪个行业做网站需求多点网站贴子推广怎么做
  • 无锡专业网站网络规划设计师报名入口
  • 网站开发的常用软件模板性公司网站图片
  • 网站资料素材怎么做wordpress程序结构
  • 怎么自己创建网站或者app网站开发产品经理招聘