• 浏览量:2063
  • 创建日期:1年前
  • 最后编辑:1天前
  • 编辑次数:3次

历史编辑记录更多
    最近参与编辑
    鱼笼 (Fishing Cage)
    实体命令:/summon aoa3:fishing_cage ~ ~1 ~

    1.16.5-3.6 Alpha 3 版本后,此实体被添加。

    实体信息

    不自然生成,技术性实体,不属于任何其他类型,实体更新间隔为0.25秒(5 tick)。

    当玩家手持鱼笼(物品)并按下右键时,会生成鱼笼(实体),并消耗1个玩家手持的鱼笼(物品),在客户端判定交互成功。

    判定箱:宽度:0.65格;高度:0.63格

    鱼笼-第1张图片鱼笼

    行为

    概述

    玩家需要将鱼笼扔进水中(扔出后玩家就是该鱼笼的主人),只有位于水底的鱼笼才会捕鱼,位于地面上的鱼笼会在一段时间后变成掉落物。

    每0.25秒(5 tick),鱼笼会尝试进行一次捕鱼,有1/5000概率成功。如果不位于流动的水中,则再1/3概率成功;如果位于流动的水中,则再1/2概率成功。

    如果最终捕鱼成功,则根据其主人的状态(包括幸运值等参数)抽取鱼笼的战利品表,将其存入渔获物品。玩家可以看到鱼笼的渔获,这些物品会显示在鱼笼中。

    鱼笼可存储3个渔获物品,存储满后不会继续捕鱼,请注意及时收取。

    玩家需要右击鱼笼以收取物品,每收取一次会使其损失1点耐久,给予玩家鱼笼和渔获物品,并给予玩家垂钓技能经验。

    当鱼笼受到伤害时,会直接消失,不产生任何其他行为(甚至不掉落任何东西)

    技术细节

    鱼笼无法改变所处维度,能被玩家推动,不能被流体推动、会阻碍建造,免疫除技术伤害(详见伤害类型)以外的所有伤害。

    鱼笼可被选取,当玩家在创造模式下选取该实体时,选取结果为鱼笼

    如果鱼笼的存在时间 > 0.05秒(1 tick),则实体可以与鱼笼执行碰撞判定,此时鱼笼的判定箱会阻挡实体运动。


    鱼笼有6个实体参数,分别为:

    • 战利品列表(loot):该列表共有3个参数。其中:

      • 第1项名为“渔获物品1”(CAUGHT_STACK_1);

      • 第2项名为“渔获物品2”(CAUGHT_STACK_2);

      • 第3项名为“渔获物品3”(CAUGHT_STACK_3)。

    • 已损耐久(damage):该参数为整数,无默认值。

    • 主人(ownerUUID):该参数为UUID,默认为 null。


    在鱼笼被添加到世界中时:

    • 在玩家眼部位置生成鱼笼,该鱼笼的视线方向同玩家的视线方向,

    • 鱼笼的速度为玩家的视线向量 * 0.75,

    • 将自身的主人参数设为该玩家的UUID,将已损耐久参数设为原鱼笼(物品)的已损耐久。


    当鱼笼接收到游戏刻更新时:

    • 检测自身是否在水中,将结果存入参数“此前是否在水中”。

    • 执行“基础游戏刻行为”;

    • 执行“捕鱼游戏刻行为”。

    • 获取当前移动速度,设定重力初始值 = 0.08。

    • 如果自身位于水中,则:

      • 获取自身的Y坐标,如果此前不在水中,则实际速度为原速度 * 0.1。

      • 如果鱼笼的实际速度的Y方向分量 < -0.023,则在自身位置周围生成“bubble”颗粒效果。

      • 根据实际移动速度改变自身位置。


      • 设定新运动状态 = 原速度 * 0.8,设定Y方向速度。

      • 如果鱼笼的原速度的Y方向分量 ≤ 0,且 | 新运动状态的Y方向分量 - 0.005 | ≥ 0.003,且 | 新运动状态的Y方向分量 - 重力 / 16 | < 0.003,则设定Y方向速度 = -0.003;否则,设定Y方向速度 = 新运动状态的Y方向分量 - 重力 / 16。

      • 将新速度定为(新运动状态的X分量,Y方向速度,新运动状态的Z分量),将实体的移动速度设为新速度。


      • 如果该实体被水平碰撞,且(新速度的X分量,新速度的Y分量 + 0.6 - 当前Y坐标 + 之前获取的Y坐标,新速度的Z分量)位置未被阻挡,则将实体的移动速度设为(新速度的X分量,0.3,新速度的Z分量)。

    • 否则:

      • 获取该方块下方阻碍该实体运动的方块,获取该方块的摩擦力因数(记为光滑度)。

      • 如果该实体位于地面上,则实际摩擦力因数 = 该方块的摩擦力因数 * 0.91,否则实际摩擦力因数 = 0.91。

      • 根据实际移动速度改变自身位置。


      • 设定新速度 = 原速度,获取该向量的Y分量。

      • 如果下方阻挡该实体运动的方块被加载,则:

        • 如果自身Y坐标 > 0,则新速度的Y分量 = -0.1;否则,新速度的Y分量 = 0。

      • 否则,如果该实体具有重力效果,则:

        • 使新速度的Y分量 - 重力。

      • 将实体的移动速度设为(新速度的X分量 * 实际摩擦力因数,新速度的Y分量 * 0.98,新速度的Z分量 * 实际摩擦力因数)

    • 将实体的移动速度设为原移动速度 * 0.98。


    当鱼笼执行“基础游戏刻行为”时:

    • 更新该方块在水中的状态,并使水流改变自身移动。

    • 如果自身Y坐标 < 当前维度的最低建造高度 - 20,则执行在该世界下方的行为。

    • 如果位于熔岩中,则执行在熔岩中受伤的行为。

    • 如果该实体存活,且存在时间 > 2秒(40 tick),且位于地面上,且不位于水中,则:

      • 创建一个鱼笼(物品)

      • 如果该鱼笼的渔获物品1非空,则当前已损耐久 = 已损耐久 + 1;

      • 将此前创建的鱼笼(物品)的已损耐久设为当前已损耐久,在自身位置生成该鱼笼(实体)的掉落物。

      • 使该鱼笼(实体)消失。


    当鱼笼执行“捕鱼游戏刻行为”时:

    • 如果鱼笼的主人不存在,或渔获物品3非空,或不位于地面上,或不位于水中,则判定失败。

    • 否则,有1/5000概率执行:

      • 获取当前位置的流体状态,如果状态非流动的,则有2/3概率判定失败;

      • 否则(状态为流动的),如果该流体的长度 = 0,则有1/2概率判定失败。


      • 根据主人参数获取该物品的主人,如果其存在,则抽取战利品表。

      • 抽取位置为该实体位置,抽取工具为鱼笼(物品),掉落实体为该鱼笼(实体),抽取实体为主人(玩家实体,而非UUID),幸运值 = 2 + 主人的幸运值。

      • 根据鱼笼的战利品表,以及以上提供的参数,获取本次的战利品。


      • 从鱼笼的战利品列表第一项开始尝试,如果该项非空,则将该项设为本次获取的战利品,尝试至最后一项或第3项结束。


    当玩家与鱼笼交互时,如果鱼笼的主人不存在,或玩家的UUID = 鱼笼的主人,则:

    • 创建一个鱼笼(物品),当前已损耐久 = 已损耐久 + 1;

    • 如果当前已损耐久 < 鱼笼(物品)的最大耐久,则:

      • 将此前创建的鱼笼(物品)的已损耐久设为当前已损耐久。

      • 如果玩家非创造模式,则给予该玩家1个修改过数据的鱼笼(物品)

    • 如果该鱼笼的渔获物品1非空,则:

      • 执行垂钓技能的“鱼笼渔获”,向其中传入该鱼笼当前的战利品列表。

      • 对于战利品列表中的每一个物品组,如果该物品组带有 minecraft:fishes 标签,则使该玩家的“捕鱼数”统计信息增加1,并将该物品组给予该玩家。

    • 使该玩家的“ITEM_USED”统计信息增加1,使用的物品为鱼笼(物品)

    • 使该鱼笼(实体)消失,并判定交互成功。

    否则,仅在客户端判定交互成功。


    当鱼笼被攻击时,如果鱼笼对该伤害源不免疫,则:

    • 如果该次攻击的伤害量 ≥ 1,则标记自身受伤,并消失。


    当鱼笼从世界中移除时,如果该鱼笼的渔获物品1非空,则:

    • 对于战利品列表中的每一个物品组,在自身位置生成该物品组的掉落物。

    战利品表

    物品获得数量获得概率垂钓等级要求幸运影响
    生鳕鱼
    112.0%

    -
    生鲑鱼
    112.0%
    -
    热带鱼
    19.6%

    -
    河豚
    17.2%


    鹦鹉螺壳
    12.4%
    +
    钻石
    13.6%


    绿宝石
    11.2%

    +
    符文箱
    12.4%
    +
    闪亮的盒子
    12.4%
    +
    帆背鱼
    19.0%10
    紫鱼19.0%10
    彩虹鱼
    13.6%10+
    盔甲镀层
    13.6%
    +
    甲壳质
    15.4%


    海霸糊
    16.6%


    海晶石台阶
    14.8%

    海晶砂粒
    14.8%

    潮汐长刀
    10.1%

    +
    以上战利品表随机抽取1次

    在“垂钓等级要求”列中:

    有数字,表示此项需玩家到达所示垂钓等级才会抽取。

    无数字,表示此项对玩家垂钓等级无要求。

    在“受幸运影响”列中:

    “+”表示“拥有此Buff可增加此项概率”

    “-”表示“拥有此Buff可减小此项概率”

    鱼笼 (Fishing Cage)
    资料分支:1.18 -,
    1.18 +
    资料分类:功能性实体

    短评加载中..