minecraftpe吧 关注:638,477贴子:15,078,604

回复:【JS科普】2020年JS钩子函数还有哪些可以用

只看楼主收藏回复

ios哭了


17楼2020-01-11 10:47
收起回复
    接下来就是不能使用preventDefault()的钩子函数
    第九个
    撞击物实体检测
    function projectileHitEntityHook(projectile, targetEntity)
    当撞击物撞击实体时触发
    例如弓箭射中生物或者雪球射中生物时触发
    projectile为撞击物
    targetEntity为被撞击的实体
    function projectileHitBlockHook(projectile, blockX, blockY, blockZ, side)
    当撞击物撞击方块时触发
    projectile为撞击物
    blockX, blockY, blockZ分别为被撞击方块的xyz坐标
    side为被撞击方向
    跟上类似


    IP属地:重庆来自Android客户端18楼2020-01-11 11:44
    回复
      2026-02-09 07:24:55
      广告
      不感兴趣
      开通SVIP免广告
      第十个
      吃检测
      function eatHook(hearts, saturationRatio)
      当玩家吃东西的时候触发

      hearts为该食物可以增加的饥饿值
      (正常玩家吃饱的情况下有20饥饿值,完全饿的情况下为0)

      saturationRatio为该食物增加的饱和比

      关于饱和比我参考了https://minecraft-zh.gamepedia.com/%E9%A5%A5%E9%A5%BF#.E6.9C.BA.E5.88.B6
      的文献

      食物饱和度(foodSaturationLevel):它表示玩家目前的饱和度等级,决定了饥饿度下降的速度,吃不同种类的食物补充的饱和度不同。这是一项隐藏的食物变量,这个变量的值是无法超过食物水平的,其初始值为5。当饱和度降至0时,饥饿条会规律地颤抖。


      IP属地:重庆来自Android客户端19楼2020-01-11 11:46
      回复
        第十一个
        生物加载移除检测
        function entityAddedHook(entity)
        当生物加载/生成的时候会触发
        .
        entity为被生成/加载的实体
        .
        需要注意的是进入游戏的时候旁边的生物都会被加载一遍
        .
        function entityRemovedHook(entity)
        当生物移除的时候触发
        .
        entity为被移除的实体
        .
        .


        IP属地:重庆来自Android客户端21楼2020-01-11 13:01
        回复
          第十二个
          加载游戏检测
          function newLevel()
          当进入存档时触发
          .


          IP属地:重庆来自Android客户端22楼2020-01-11 13:02
          回复
            第十三个
            function modTick()
            每0.05秒运行一次


            IP属地:重庆来自Android客户端23楼2020-01-11 13:03
            回复
              第十四个
              界面切换函数
              function screenChangeHook(screenName)
              当你转换UI界面的时候触发
              什么意思呢
              大概就是你从正常的游戏界面
              打开了背包
              或者打开了设置
              打开了聊天界面
              都会触发
              screenName为你切换的界面的名字
              每个界面都有自己的名字
              例如正常的游戏界面为hud_screen
              打开聊天界面为chat_screen
              打开物品栏界面为inventory_screen


              IP属地:重庆来自Android客户端24楼2020-01-11 13:03
              回复
                好了,20个钩子函数介绍完了,之后还会继续研究相应的功能


                IP属地:重庆来自Android客户端25楼2020-01-11 13:04
                回复
                  2026-02-09 07:18:55
                  广告
                  不感兴趣
                  开通SVIP免广告
                  dd


                  IP属地:吉林来自Android客户端26楼2020-01-11 14:25
                  收起回复
                    吃瓜
                    当初小学刚玩mc的时候感觉js贼难
                    现在感觉真的好简单啊
                    话说楼主是哪位为啥我一点印象都木有


                    IP属地:浙江来自Android客户端27楼2020-01-11 14:35
                    收起回复


                      28楼2020-01-11 14:49
                      收起回复
                        技术贴好评


                        IP属地:上海来自Android客户端29楼2020-01-11 14:58
                        收起回复
                          其实还有个隐藏的老函数procCmd,获取执行的命令,这样自定义聊天框命令的时候就不用**字符串处理


                          30楼2020-01-11 19:39
                          收起回复
                            mark


                            IP属地:北京来自Android客户端31楼2020-01-11 21:08
                            收起回复
                              2026-02-09 07:12:55
                              广告
                              不感兴趣
                              开通SVIP免广告
                              这里补充一下,第二条attackHook只有玩家攻击才有效。
                              第二个
                              function attackHook(attacker, victim)
                              也是老函数,
                              当有玩家攻击另一个生物的时候触发
                              attacker为攻击者(玩家)
                              victim为受攻击者
                              如果使用preventDefault()则可以做到停止攻击,比如玩家攻击生物或者生物攻击玩家的动作


                              IP属地:重庆来自Android客户端32楼2020-01-11 21:42
                              回复