• 因近日遭受攻击,百科现已限制新用户的编辑权限,一段时间后成为自动确认用户方可编辑。

DragoneggdropRevival

From Minecraft插件百科
Jump to: navigation, search
Bukkit/Spigot插件资料
插件名称 DragoneggdropRevival
最新版本 1.5.0
兼容服务端 1.9-1.13
作者 NinjaStix 2008choco
源地址 spigotmc

介绍

用华丽的特效在玩家击杀末影龙后给予龙蛋或奖励箱

这个插件能使玩家在击杀末影龙时获得奖励,并能让末影龙复活.

这个插件源于 NinjaStix制作的DragonEggDrop

由于该插件作者很久未更新.本插件的作者获得了授权并制作出这款比dragoneggdrop更优秀的插件.

特点

  • 自定义不同的末影龙掉落不同的龙蛋或奖励箱
  • 自定义末影龙重生时间
  • 自定义末影龙的名字和血条样式
  • 自定义末影龙死亡后的粒子特效

指令

/ dragoneggdrop (缩写/ded) - 查看插件,作者和版本信息的基本参数:

  • / dragoneggdrop reload - 重新加载插件的配置文件
  • / dragoneggdrop help - 列出所有可用的命令
  • / draggoneggdrop addloot - 添加一个物品到用指定的战利品表(loot.yml)

/dragontemplate (缩写/template) - 末影龙模版 - /dragontemplate list - 列出已加载的模版 - /dragontemplate <template> (view/info) - 查看所给模版的信息 - /dragontemplate <template> edit addloot [优先度] - 添加你手里的物品到战利品表内

权限节点

  • dragoneggdrop.help - 允许使用帮助指令
  • dragoneggdrop.reload - 允许使用重载指令

dragoneggdrop.template.* - 允许使用模版指令

  • dragoneggdrop.template.list - 允许使用 "/dragontemplate list" 指令
  • dragoneggdrop.template.info - 允许使用 "dragontemplate <template> info" 指令

dragoneggdrop.template.edit.* -允许修改末影龙模版数据

  • dragoneggdrop.template.edit.addloot - 允许使用 "/dragontemplate <template> edit addloot [weight]" 指令
  • dragoneggdrop.template.edit.set - 允许使用 "/dragontemplate <template> edit set" 指令 (制作中)

插件效果

Ded1.gif



Ded2.gif

配置

默认配置文件包含相对平衡的配置选项(包括几个龙模板 - 请参阅创建自定义龙).以下默认配置文件用于1.4.0及更高版本.

# 不要修改版本号 #
version: 2
# ----------------------- #

perform-update-checks: true

# 所有的数据涉及末影龙死后显示的粒子效果
Particles:
    # 粒子Y轴生成位置
    egg-start-y: 180.0
    
    # 粒子类型, 参阅: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html
    type: 'FLAME'
    
    # 每个粒子迭代产生的粒子数
    amount: 4
    
    # 粒子的额外数据 (大多数不起作用)
    extra: 0
    
    # 每个方向的粒子偏移
    x-offset: 0.001
    y-offset: 0.001
    z-offset: 0.001
    
    # 粒子生成速率 (粒子落下的速度)
    speed-multiplier: 1
    
    # 从天上投射出来的粒子线的数量
    stream-count: 6
    
    # 生成粒子的频率 (以ticks为单位)
    interval: 1
    
    # 高级粒子设置! 如果你不懂怎么设置就不要修改这些
    Advanced:
        # 显示的粒子的预定义数学形状
        # (可用形状: "BALL", "HELIX", "OPEN_END_HELIX", "CUSTOM")(球形,螺旋,开放式螺旋,自定义)
        preset-shape: 'OPEN_END_HELIX'
        
        # X轴生成粒子的数学表达式(余弦)
        x-coord-expression: 'cos(theta)'
        
        # z轴生成粒子的数学表达式(正弦)
        z-coord-expression: 'sin(theta)'

# 生成龙蛋时的落雷数
lightning-amount: 4

# 在玩家加入时重生末影龙? (延迟以秒为单位)
respawn-on-join: false
join-respawn-delay: 60

# 在玩家死亡时重生末影龙? (延迟以秒为单位)
respawn-on-death: true
death-respawn-delay: 300
# 可否用末影水晶召唤末影龙. 如果设置为false, 末影水晶将会在尝试召唤末影龙时变为掉落物

allow-crystal-respawns: true

# 当末影龙在倒计时未结束时生成时,停止运行中的倒计时(例如用末影水晶召唤末影龙)
strict-countdown: true

# 动态信息
announce-messages:
- '&6末影龙将在 &e%formatted-time% 后重生'
- '&e末影龙将在 &6%formatted-time% 后重生'

进阶粒子方程

粒子方程是本插件强大的功能之一,并能让服务器所有者最大限度地控制龙死后显示的粒子.
显然,这个功能是为那些更熟练的数学和粒子形状的理解而创建的.
如果您有能力创建高级粒子方程式,请通过视频或gif在issue将其发送给插件作者.
你的粒子方程将会作为本插件螺旋或开放式螺旋粒子的示例.

为了开始创建一个公式,必须将Particles.Advanced.preset-shape配置选项设置为CUSTOM。如果未设置此值,则自定义函数将不会被解析,而会被预设值忽略。

方程解析规则

在你编写方程时,注意3个非常严格的限制:

  1. 这些方程固定在x和z轴上。你不能修改y坐标
  2. 粒子不断向下移动
  3. 无法改变粒子效果的中心。它总是以0.5,0.5为中心(传送门的中心)

规则不会改变,编写方程时必须谨记。变量不能被系统地改变,这将在支持变量中进一步解释。

了解X轴和Z轴

以下内容可能需要你有高中数学水平才看得懂


在编写自定义方程时,有两个方面需要注意。
x轴和z轴包含单独的公式,以便在每个轴上灵活运用。x轴影响西方和南方(这里可能是原文写错了),而z轴影响南北方向。要利用这些轴,最好单独对这些方程进行处理,并根据其结果进行调整。以默认方程为例:

x-coord-expression: 'cos(theta)'
z-coord-expression: 'sin(theta)'

很明显其规律在笛卡儿平面上表示为圆形

文件:Circle cos sin.gif

上面的GIF演示了表达式如何彼此独立工作但创建了一个圆圈。以编程方式,这两个方程被解析和缓存,两个方程的结果在每个轴上从中心加起来得到一个点。此时,将会显示该刻度的粒子的位置。例如,假设x = 0.5和z = 0.5的中心值,如果theta值为180,则得到的粒子点将是x = -0.0984600691(0.5 + cos(180))和z = -0.301152636(0.5 + sin(180))

函数 描述 例子
sqrt 平方根给定值 sqrt(25) ... 输出5
abs 绝对值 abs(-25) ... 输出25
log 以10为底的对数函数 log(10) ...输出1
sin 正弦三角函数 sin(30) 或 sin30 ... 输出0.5
cos 余弦三角函数 cos(45) 或 cos45 ... 输出0.7071
tan 正切三角函数 tan(60) 或 tan60 ... 输出1.7320
csc 余割函数 csc(30) 或 csc30 ... 输出-1.0121
sec 正割三角函数 sec(45) 或 sec45 ... 输出1.9035
cot 余切函数 cot(60) 或 cot60 ... 输出3.1246
rad 将一个角度转换为弧度 rad(180) ... 输出3.1415, 或 pi(π)
deg 将弧度转换为角度 deg(6.2832) ... 输出360

在使用上面的函数时,每个函数都会返回一个数值.在公式中使用它们时,想象它会返回一个值.
例如,执行1 + abs(-1)将导致2,就好像abs(-1)被输出为1.

可用变量

除了函数之外,分析器还会传递动态变量,这些动态变量可以用来根据当前时间或者θ的累加值来操纵函数。这些变量可以在等式中的任何地方使用,包括传递给函数的值!如默认公式中所示,theta用于两个函数sin和cos函数中以返回不同的值。

变量 描述 例子
x 粒子x轴坐标 默认设置为0.5
z 粒子z轴坐标 默认设置为0.5
t 动画的当前时间位置 从0开始,每次迭代增加1
theta placeholder角度变量 从0度开始,每迭代5次递增

要使用上述变量,只需将它们随时写入公式中即可。如果在等式中所修改的值在所述修改中没有反映在系统中。例如,如果t = 1且方程式为abs(t + 1),则t该函数的变量将递增,并返回2.但是,在下一次迭代时,t = 2,并且将按照惯例递增。该函数现在将返回3。

创建自定义的末影龙

1.4.1之后, 你就可以创建自定义的末影龙了!首先需要一个 loot.yml并且所有的配置选项会应用于生成在末地的末影龙.
之后, loot.yml会被弃用并被末影龙模版替代. 模版是可以在DragonEggDrop/dragons 文件内找到的配置文件. 默认在你第一次运行插件时会加载12种不同龙的模版. 末影龙的名字和bossbar的颜色已经预先设定好,但战利品仍需自己设置.

创建模版

有2种创建模版的方法:

  1. 从零开始创建模版. (新建文件 -> "你的末影龙名.yml")
  2. 复制已经存在的模版并修改 (推荐)

对于任一选项,必须创建一个文件。创建文件时,必须注意文件名有限制。未能满足这些要求之一将导致您的文件不被加载.

  • 文件名不能重复
  • 文件名不能包括空格 (' '或\u0020)

文件名不需要与末影龙名一致. 末影龙名可在文件内修改, 但是文件名仅在游戏中用作指令 /dragontemplate 参考

自定义末影龙

一旦创建了一个新文件,龙模板就可以被解析并被加载到内。然而,默认的末影龙可能不是你想要的。
为了自定义末影龙,请使用您最喜欢的文本编辑器打开文件并查看它的内容(建议使用Notepad ++,其他软件如Atom或Emacs也可以)

Ded1.jpg

其中许多功能应该是不言而喻的,但有关所有支持的配置值的深入编辑,请参阅模板选项。如果你配置好了你的末影龙,就可在游戏中执行/ded reload命令。插件重新加载后,执行/dragontemplate list 命令时应该可以看到你的龙

模版选项

以默认的Tilenth.yml为例,它的默认(魔改)配置如下:

dragon-name: "&8追魂亡龙"
bar-style: SEGMENTED_20
bar-color: PURPLE

egg-spawn-chance: 2.0
egg-name: "%dragon%&r蛋"
egg-lore:
  - "&7陨落的亡龙,"
  - "&7你强大的力量永远不会被忽视"
  - "&7因为你很快就会永垂于世"

chest-spawn-chance: 10.0
chest-name: "亡灵宝箱"
min-loot: 5
max-loot: 10

announce-respawn: true
spawn-weight: 0.05

loot:
  '1':
    weight: 1.0
    type: STICK
    data: 0
    damage: 1
    amount: 1
    display-name: '&b驱魔者'
    lore:
    - '&6恶灵退散'
    - '&6+6 Attack'
    enchantments:
      DAMAGE_UNDEAD: 6
      DAMAGE_ALL: 6    

dragon-name

末影龙的名字,支持颜色代码

bar-style

血条样式

egg-spawn-chance

龙蛋生成率,0-100

egg-name

龙蛋名,支持变量%dragon%

egg-lore

龙蛋描述,支持变量%dragon%

chest-spawn-chance

奖励箱生成率,和龙蛋生成率一样

chest-name

奖励箱名称

min-loot

最少奖励物品数,最少可为0

max-loot

最多奖励物品数,必须大于最少奖励物品数

announce-respawn

显示末影龙重生的信息

spawn-weight

龙重生的优先度。这被定义为所有优先度之和。例如,如果生成2个龙,一个优先度为2,另一个为7,则第一个龙将有2/9的机会生成,而第二个龙则有7/9的机会生成(2 + 7 = 9,所有优先度之和)。该选项支持十进制值。

attributes

物品属性,设置物品的附魔,伤害之类的东西.属性可在这里找到.更详细的可以在WIKI找到

loot

战利品表.
所有可能在战栗中产生的战利品的清单。如果chest-spawn-chance被设置为0,则该部分可以留空。由于YAML语法的限制,所有项目可用任意标签(即'1','2','3','potato')分类。

weight

物品优先度

type

物品类型,可在spigot查阅

data

物品数据

damage

物品造成的伤害

amount

物品数目

display-name

物品名

lore

物品描述

enchantments

物品附魔,附魔类型可在spigot查看

链接

Github源码

1.13计划

作者的paypal投喂链接