--- front: hard: 入门 time: 分钟 --- # 自定义鱼竿 ## 概述 属于特殊的自定义物品,在支持自定义物品所有特性的基础上,还具有原版鱼竿相关功能,可以自定义鱼线长、鱼线颜色,以及鱼漂,其中鱼漂支持自定义实体 ## 注册 1. 与自定义基础物品的注册1-6步相同 1. 在behavior/netease_items_beh的json中添加武器/工具相关的定义,包括: custom_item_type为custom_item_type 一个netease:fishing_hook组件,选填。组件的参数见[json组件](#json组件) ```json { "minecraft:item": { "description": { "category": "Custom", "identifier": "customshield:test_fishing_rod", "custom_item_type": "fishing_rod" }, "components": { "netease:fishing_hook":{ "hook_entity":["minecraft:creeper"],//代表投掷出的将会是一个苦力怕实体作为鱼漂,苦力实体无AI。 "line_max":50,//代表鱼线可以达到的最长长度(鱼漂与玩家实体的直线距离),超过这个长度后鱼线将会直接断开 "line_color":[0.6, 0.5, 0.3, 1.0]//线的颜色和透明度 } } }, "format_version": "1.10" } ``` ## JSON组件 ### 网易components * netease:fishing_hook | 键 | 类型 | 默认值 | 解释 | | -------- | ---- | --------- | ---------------------------------------------- | | hook_entity | str | | 实体的identify,填入的实体除了无AI以外,支持动画、动画控制器等实体一系列操控 | | line_max | int | 32 | 代表鱼线可以达到的最长长度(鱼漂与玩家实体的直线距离),超过这个长度后鱼线将会直接断开。如果不配置代表和原版鱼线一致为32米 | | line_color | list(rgba) | | 代表鱼线的初始颜色与透明度,如果不配置默认为原版鱼竿黑色 | ## 新增的事件和接口 ### 事件 * PlayerFishingServerEvent 服务端,钓鱼成功收杆时触发事件 * PlayerFishingAfterServerEvent 服务端,钓鱼成功收杆后触发事件 * PlayerStartFishingServerEvent 服务端,玩家开始钓鱼事件 ### 接口 * GetPlayerFishItem 服务端接口。获取玩家钓鱼时候的鱼竿物品字典 * GetPlayerIsFishing 客户端接口。获取玩家是否在钓鱼 * GetPlayerFishHookEntity 客户端接口。获取玩家钓鱼时候的鱼漂实体id ## demo解释 [自定义鱼竿](../../13-模组SDK编程/60-Demo示例.md#CustomFishHookItemMod)中定义了一个自定义鱼竿