TargetTracker

原创 开源 娱乐 TargetTracker 2.0

完成注册/登录后下载
版权类型
原创
插件中文名称
寻标
插件英文名称
TargetTracker
原帖地址
https://github.com/Clexus/TargetTracker
支持的核心(服务端)
  1. Paper
  2. Purpur
语言支持
多语言
前置组件
PacketEventsAPI https://github.com/retrooper/packetevents/releases
适配版本(Java)
  1. 1.21
多说无益直接上视频




默认配置文件:

TargetTracker
├─ config.yml
└─ points
└─ example.yml


config.yml:
代码:
player-points:
  enabled: true
  max-range: -1
  max-lines: 2 #如果玩家拥有自定义文本权限(custom-text),他最多可以输入几行,设置为0则不限制
  permissions: #权限留空则不需要权限
    open: "targettracker.player.open"
    start: "targettracker.player.start"
    share: "targettracker.player.share"
    stop: ""
    list: "targettracker.player.list"
    text-display: ""
    block-display: "targettracker.player.block"
    item-display: "targettracker.player.item"
    beam: "targettracker.player.beam"
    custom-text: "targettracker.player.custom.text"
    custom-block: "targettracker.player.custom.block"
    custom-item: "targettracker.player.custom.item"
    text-color: "targettracker.player.text.color"
    text-format: "targettracker.player.text.format"
  defaults:
    show-in-list: true
    display: "追踪点"
    target:
      type: text
      scale: 2
      beam:
        length: 255
        width: 1
        spinspeed: 1
        block: "glass"
        offset: 0
      display:
      - '⨀'
    mark:
      type: text
      scale: 1
      distance: 5
      display:
      - '✥'
      - '%distance%格'
    trigger-distance: 4
    fade-speed: 10
    stop-triggers:
    - 'quit'
    - 'death'
    - 'attack'
    - 'damaged'
    - 'world_change'
    - 'teleport'
message:
  usage: '&c使用方法: /%label% <玩家名> <点ID> [是否触发动作]'
  player-not-exist: '&c玩家%player%不在线或不存在'
  point-not-found: '&c找不到指定的点: %point%'
  track-started: '&a已开始为玩家%player%追踪点%point%'
  track-start-failed: '&c开始失败,%player%已经有一个进行中的%point%追踪'
  track-stopped: '&a已为玩家%player%停止点%point%的追踪,动作触发状态为%trigger%'
  track-stopped-failed: '&c停止失败,玩家%player%没有进行中的%point%追踪'
  track-cancelled: '&c停止失败,该操作已被取消'
  not-player: '&c只有玩家才能使用该命令'
  reload: '&a已重载配置文件与追踪点'
  reload-failed: '&c重载时出现错误,请查看控制台'
  start-same-point: '不能开始同一个点的追踪: %point%'
  all-tracks-stopped: '&c已为玩家%player%停止所有点的追踪'
  all-tracks-stopped-failed: '&c玩家%player%没有任何已在追踪的点'
  dialog-title: '&6请选择操作'
  dialog-start-title: '&6请输入参数'
  dialog-list-title: '&6进行中的追踪'
  dialog-stop-title: '&6停止追踪'
  dialog-display-types: '&f标记类型'
  dialog-display-text: '&a文本'
  dialog-display-block: '&a方块'
  dialog-display-item: '&a物品'
  dialog-confirm: '&a确认'
  dialog-cancel: '&c取消'
  dialog-start: '&a创建追踪点'
  dialog-stop: '&c停止进行中的追踪'
  dialog-list: '&a查看进行中的追踪'
  dialog-location: '&a目标点坐标,格式为x,y,z'
  dialog-custom-display: '&a自定义展示名,仅用于列表展示'
  dialog-custom-text: '&a自定义文本,显示在标记上'
  dialog-custom-block: '&a自定义方块标记,请输入方块ID,如stone'
  dialog-custom-item: '&a自定义物品标记,请输入物品ID,如diamond'
  dialog-custom-beam: '&a自定义光柱所显示的方块,请输入方块ID,如tnt'
  dialog-share: '&a你要分享追踪的玩家,以逗号分隔玩家名'
  dialog-created-by-server: '&e系统创建'
  dialog-created-by: '&e创建者: %player%'
  dialog-no-points: '&c当前没有追踪点'
  wrong-material: '&c无效的材质: %material%'
  no-location: '&c你没有输入坐标'
  too-close: '&c该点距离其他已追踪点过近,请重新输入坐标'
  wrong-number: '&c参数数量不正确,你只需要输入x,y,z三个坐标'
  invalid-number: '&c坐标必须为整数'
  out-of-range: '&c追踪点超出允许范围,最大范围为 %distance% 格,你输入的坐标离你 %now-distance% 格'
  point-share-message: '&e%player%&a向你发来了追踪共享&d(%display%: %location%)&a!点击加入共享!'

example.yml:
给了追踪点的配置格式
代码:
point1:
  display: "<green>神秘标记"
  show-in-list: true
  target:
    type: text
    # block: tnt[unstable=true]
    # item: diamond_sword[unbreakable={}]
    scale: 2 #标记大小
    beam: #beam是可选的
      length: 255 #柱子的长度
      width: 1 #柱子的宽度
      spinspeed: 1 #柱子的旋转速度,负数反向
      block: "tnt[unstable=true]" #方块
      offset: 0.5 #上下偏移量
    location: world,100,100,100 #目标点坐标
    display:
    - '&6?'
    - '&a神秘标记'
  mark:
    type: text
    scale: 1
    distance: 5 #距离玩家的距离
    display:
    - '✥'
    - '%distance%格'
  trigger-distance: 4
  fade-speed: 10
  stop-triggers:
  - 'quit'
  - 'death'
  - 'attack'
  - 'damaged'
  - 'world_change'
  - 'teleport'
  actions:
  - 'command: say a'
  - 'op: say b'
  - 'console: say c' #以玩家身份、op身份、控制台执行命令
  - 'message: &4你完成了这个目标!'
  - 'title: &4你完成了!;&6这个目标!;20;20;20'
  - 'actionbar: &4你完成了这个目标!'
  - 'sound: entity.player.death;1;0'
  - 'lightning: target;100;100;100'
  - 'firework: player;#123456,#654321,#111111;BALL;#123456,#000000;0' #生成烟花,参数分别是位置,颜色,类型,渐变颜色和飞行高度(对应power)
  - 'start: point2' #开始另一个点的追踪
point2:
  target:
    scale: 2
    location: world,200,100,200 #目标点坐标
    display:
    - '&6?'
    - '&a神秘标记2'
  mark:
    scale: 1
    distance: 5 #距离玩家的距离
    display:
    - '✥'
    - '%distance%格'
  trigger-distance: 4
  fade-speed: 10
  actions:
  - 'command: say b'
  • 点分为target和mark两个部分,对应目标点位置和为你提供引导的标记点
    scale是共用属性,对应文字的缩放大小
    display也是共用属性,对应显示内容,最好不要加太多行,支持%player%和%distance%变量,代表玩家名和距离,支持papi变量
    type也是共用属性,设置为block或item时,可以在点中设置对应显示的方块或物品,具体见上方
    target:
    • location: 目标点位置
    • beam: 具体见上方配置和视频演示
    mark:
    • distance:标记点与玩家的距离,太近太远都不好
    trigger-distance: 触发点的开始距离,达到此距离点就会开始淡化,消失后执行动作
    fade-speed: 点淡化的速度,也就是透明度减小的速度,透明度最开始为255,每刻减小该值,直到25(游戏定义此透明度直接变为完全透明)便会触发动作,所以你要立刻执行可以直接设置为一个很大的值'
    • 停止触发器介绍:
      你可以设置追踪在某些事件触发的时候停止
      • quit: 玩家退出时停止追踪,默认情况下玩家会在重新进游戏的时候继续追踪
      • death: 死亡时
      • attack: 玩家进行攻击时
      • damaged:玩家受到伤害时
      • world_change:玩家切换世界时,默认玩家的追踪状态不会在切换世界时停止,回到原世界时会继续
      • teleport:玩家传送时
    • 动作介绍:
      动作的参数有些不止一个,需要以;号分割,所有动作均支持%distance%和%player%变量以及papi变量
      • command: 以玩家身份执行命令
      • console:以控制台身份执行命令
      • op:以op身份执行命令,谨慎使用后果自负
      • message:向玩家发送一条消息
      • title: 向玩家发送一个标题消息,需要五个参数,第一个是主标题,第二个是副标题,第三个是渐入时间,第四个是持续时间,第五个是渐出时间,都以刻为单位,20刻等于1秒
      • actionbar: 向玩家发送一个动作栏消息
      • sound:播放一个声音,你可以用原版声音格式,也可以使用ENTITY_PLAYER_DEATH这种格式,第二个参数是音量第三个是音调
      • lightning:打一道雷,仅为特效,第一个参数是位置,可以为player、target或者 世界名,x,y,z 这种格式,player对应玩家位置,target对应目标点位置
      • firework:生成烟花,参数分别是位置,颜色,类型,渐变颜色和飞行高度(对应power),位置的格式个上面一样
      • start: 开始另一个点的追踪,不能开始自己的追踪
  • 命令介绍:
    • /starttrack 玩家名 点ID: 开始一个追踪
    • /stoptrack 玩家名 : 停止所有追踪
    • /stoptrack 玩家名 点ID [是否触发动作]: 停止一个追踪,第三个参数可为true或false,不填默认false
    • /targettracker reload: 重载插件配置文件和点文件
    • /track: 打开追踪菜单,表现见上方视频
  • PlaceholderAPI变量介绍:
    • %targettracker_isactive_<id>% : 指定ID的点是否已激活
    • %targettracker_active/all_amount% : 目前正在追踪的或所有的点的总数
    • %targettracker_active/all_nearest/furthest_distance% : 目前正在追踪的或所有的点中最近或最远的点离玩家的距离
    • %targettracker_active/all_nearest/furthest_markdisplay% : 目前正在追踪的或所有的点中最近或最远的点的标记点描述
    • %targettracker_active/all_nearest/furthest_targetdisplay% : 目前正在追踪的或所有的点中最近或最远的点的目标点描述
    • %targettracker_active/all_nearest/furthest_id% : 目前正在追踪的或所有的点中最近或最远的点的点ID
    • %targettracker_point_<id>_distance% : 指定ID的点距玩家的距离
    • %targettracker_point_<id>_markdisplay% : 指定ID的点的标记点描述
    • %targettracker_point_<id>_targetdisplay% : 指定ID的点的目标点描述
权限(默认权限见上方):
  • open: 是否可以使用/track命令
  • start: 是否可以自己创建追踪点
  • share: 是否可以分享给其他玩家
  • stop: 是否可以访问停止菜单
  • list: 是否可以访问追踪列表
  • text-display: 是否可以使用文本展示实体,默认可以
  • block-display: 是否可以使用方块展示实体
  • item-display: 是否可以使用物品展示实体
  • beam: 是否可以设置光柱方块
  • custom-text: 是否可以自定义文本
  • custom-block: 是否可以自定义方块
  • custom-item: 是否可以自定义物品
  • text-color: 是否可以使用颜色代码,&a或者<green>格式都行
  • text-format: 是否可以使用格式代码,&l或者<bold>都行
前置下载:https://www.spigotmc.org/resources/packetevents-api.80279/
这个插件也可以用来和其他插件配合做寻路,怎么开发就看你们自己了


更新记录:
2.0:
大更新,由于使用了对话框系统,当前版本仅支持1.21.6+

主要是为标记添加了方块和物品展示实体的支持,以及用来模拟信标的会旋转的beam
当然最重要的还是玩家自创导航标,分享功能使得大家可以一起去同一个地方


1.7:
修复了错误的配置文件缩进


1.6:
修复停止所有点追踪后点仍然存在的问题

1.5:
更新了API,添加了TrackStartEvent和TrackStopEvent

1.4:
更新了%targettracker_isactive_<id>%

1.3:
更新了%targettracker_active/all_amount%变量

1.2
更新了 /stoptrack 玩家名 命令

1.1
更新了变量
作者
FireworkPolymer
下载
8
查看
329
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部