[2022.5.6]Deadly Disasters插件自定义天灾制作指南 - 联机教程 - Minecraft(我的世界)中文论坛 -.html

[2022.5.6]Deadly Disasters插件自定义天灾制作指南 - 联机教程 - Minecraft(我的世界)中文论坛 -

Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 539|回复: 0
打印 上一主题 下一主题

[服务器应用] [2022.5.6]Deadly Disasters插件自定义天灾制作指南

[复制链接]
Mithey 当前离线
积分
14753
帖子
主题
精华
贡献
爱心
钻石
人气
下界之星
最后登录
1970-1-1
注册时间
2016-11-13
查看详细资料

来自:广东

跳转到指定楼层
楼主
发表于 2022-5-6 11:44:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 Mithey 于 2022-5-8 16:34 编辑

什么是自定义天灾?
自定义天灾是玩家为插件 Deadly Disasters 所制作的天灾,它们具有特性丰富与分享便利的特点。你可以在Discord上提交你所制作的天灾,通过验证后便可出现在插件列表中供其他玩家下载。

如何制作一个自定义天灾?
在 plugins\DeadlyDisasters\custom disasters 路径内创建yml文件并编辑即可。

如何产生自定义天灾?
在游戏内输入 /disasters start <自定义天灾名称> [等级] [玩家名称] 且在 plugins\DeadlyDisasters\custom disasters 路径内有此天灾便可成功执行命令。

重新加载自定义天灾列表
输入 /disasters reload  来进行快速重载列表与测试自定义天灾

设定主体:
若要创作一个自定义天灾,我们开始所需要的是一个设定主体,内容包括一些插件所要获取的基本天灾信息
下面是一个示范的例子:
  1. # 注释前带'*'的为必须填写项目
  2. # 注释前带'*'的为必须填写项目 (重要的事情说两遍)
  3. settings:
  4.     # * 天灾在命令中的代号,请不要使用空格或非英文字符
  5.     name: 'doomsday'
  6.     # * 天灾的显示名称
  7.     title: '&4Doomsday'
  8.     # 天灾显示提示后开始的时间,单位为秒
  9.     start_delay: 10
  10.     # 是否会自然生成(默认为false)
  11.     natural: false
  12.     # 天灾生成的最低Y坐标
  13.     min_height: 0
  14.     # 天灾生成的最高Y坐标
  15.     max_height: 200
  16.     # 天灾开始时的提示(%level_char%为等级颜色代码)
  17.     start_message: '%level_char%Level: %level% &4Doomsday &6is beginning..'
  18.     # 天灾结束时的提示,需要注意的是有关天气的天灾等持续天灾在结束后仍会有效
  19.     ending_message: '&eThe clouds begin to clear..'
  20.     # 天灾自然产生的频率,仅在natural为true时此项生效
  21.     frequency: 1.0
  22.     # * 天灾能发生的区域(世界类型: normal, nether, the_end, custom)
  23.     environments:
  24.     - normal
  25.     # * 执行此天灾所需的最低Minecraft版本(取决于你的自定义天灾中的物品或生物等,有些低版本可能不支持)
  26.     game_version: 1.16
  27.     # * 执行此天灾所需的最低插件版本
  28.     plugin_version: 9.0
复制代码



核心主体:
核心主体包含不同等级的天灾和发生的事件
下面是一个示范例子:
  1. core:
  2.     level 1:
  3.         operation: 'ordered'
  4.         interval_seconds: 10
  5.         events:
  6.             event 1:
  7.                 disaster 1:
  8.                     type: 'acidstorm'
  9.                     level: 2
  10.                     time: 60
  11.                     damage: 2.0
  12.                     particles: false
  13.                     broadcastAllowed: true
  14.                 broadcast 1:
  15.                     message: '&cYou feel a cold chill down your spine..'
  16.                     target: 'all'
  17.             event 2:
  18.                 disaster 1:
  19.                     type: 'sinkhole'
  20.                     size: 0.5
  21.                     target: 'player'
  22.                     offset: 5
  23.                 disaster 2:
  24.                     type: 'earthquake'
  25.                     level: 3
  26.                     force: 0.5
  27.                     target: 'player'
  28.                     offset: 10
  29.             event 3:
  30.                 wait:
  31.             event 4:
  32.                 disaster 1:
  33.                     type: 'supernova'
  34.                     level: 1
  35.                     target: 'player'
  36.     level 2:
  37.         operation: 'random'
  38.         number_of_events: 3
  39.         interval_seconds: 9
  40.         events:
  41.             event 1:
  42.                 disaster 1:
  43.                     type: 'acidstorm'
  44.                     level: 2
  45.                     time: 60
  46.                     damage: 2.0
  47.                     particles: true
  48.             event 2:
  49.                 disaster 1:
  50.                     type: 'sinkhole'
  51.                     size: 0.6
  52.                     target: 'all'
  53.                     offset: 5
  54.                 disaster 2:
  55.                     type: 'earthquake'
  56.                     level: 3
  57.                     force: 1.2
  58.                     target: 'random'
  59.                     targetAmount: 3
  60.                     offset: 10
  61.             event 3:
  62.             event 4:
  63.                 disaster 1:
  64.                     type: 'supernova'
  65.                     level: 2
  66.                     target: 'random'
  67.                     targetAmount: 1
复制代码


让我来解释一下自定义天灾是如何运作的:核心主体中包含天灾的多个等级(Levels),等级内可以包含多个天灾中将发生的事件(Events),每个事件中又可以有多个不同的行为(Actions)


等级(Levels)
等级选项决定了天灾在特定等级时会发生的情况,如果系统随机到等级3的天灾而你的自定义天灾不包括等级3,则天灾不会发生。
译注:等级最高为6。
  1. core:
  2.     level 1:
  3.         # operation分为"ordered"与"random"
  4.                 # "ordered"代表无论有几个事件,只会执行第一个,即event 1
  5.                 # "random"代表会从所有事件中抽取N个执行(N为number_of_events后的个数)
  6.                 operation: 'ordered'
  7.                 # 间隔时间
  8.         interval_seconds: 10
  9.                 # 天灾执行数量,仅在operation为random时有效
  10.                 number_of_events: 2
  11.         events:
复制代码


事件(Events)
每个等级选项都包含事件,可以根据需要来加入多个事件,也可以更改事件发生顺序。
下面是一个示范例子:
  1. events:
  2.     event 1:
  3.         disaster 1:
  4.             type: 'acidstorm'
  5.             level: 2
  6.             time: 60
  7.             damage: 2.0
  8.             particles: false
  9.             broadcastAllowed: true
  10.                 broadcast 1:
  11.                     message: '&cYou feel a cold chill down your spine..'
  12.                     target: 'all'
  13.     event 2:
  14.         disaster 1:
  15.             type: 'sinkhole'
  16.             size: 0.5
  17.             target: 'player'
  18.             offset: 5
  19.         disaster 2:
  20.             type: 'earthquake'
  21.             level: 3
  22.             force: 0.5
  23.             target: 'player'
  24.             offset: 10
  25.     event 3:
  26.     wait:
  27.     event 4:
  28.         disaster 1:
  29.             type: 'supernova'
  30.             level: 1
  31.             target: 'player'
复制代码


行为(Actions)
行为由事件来决定,一个事件中可以有多种行为。
下面是你可以使用的行为列表:

Disasters(天灾)



Broadcast(提示消息)



Fill(填充方块)



Summon(召唤生物)



Particle(粒子)



Sound(音效)



自定义物品主体:
需要与核心主体分开,每个主体具有相同地位,可以不分前后(除设定主体)
译者注:此物品无法通过命令/disasters give 获得,仅可用于自定义生物上并设定掉落几率
  1. items:
  2.     # 以物品名称开头来定义多个物品
  3.     # 这会是你用于其他地方填写物品的名称根据
  4.     coolSword:
  5.         # 物品名称
  6.         name: '&6Cool Sword'
  7.         # * 物品显示名字
  8.          type: iron_sword
  9.         hide_enchants: false
  10.         # 物品描述
  11.         lore:
  12.         - '&eThis is line 1'
  13.         - '&bThis is line 2'
  14.         # 附魔主体
  15.         enchantments:
  16.             type 1:
  17.                 enchantment: sharpness
  18.                 level: 2
  19.             type 2:
  20.                 enchantment: unbreaking
  21.                 level: 3
  22.     # 物品2
  23.     strongerShield:
  24.         name: '&4Stronger Shield'
  25.         type: shield
  26.         hide_enchants: false
  27.         lore:
  28.         - '&eThis is line 1'
  29.         - '&bThis is line 2'
  30.         enchantments:
  31.             type 1:
  32.                 enchantment: unbreaking
  33.                 level: 3
复制代码

此主体可以创造两种自定义物品,coolSword和strongerShield,点此查阅兼容物品列表


自定义生物主体:
自定义生物也需要重写新主体:
  1. entities:
  2.     # 以生物名称开头来定义多个物品
  3.     # 这会是你用于其他地方填写生物的名称根据
  4.     customZombie:
  5.         # 实体类型
  6.         type: zombie
  7.         # 生物显示名字
  8.         name: '&cCustom Zombie'
  9.         equipment:
  10.             # 可以填写原版物品或自定义物品
  11.             mainHand: coolSword
  12.             offHand: strongerShield
  13.             helmet: iron_helmet
  14.             chest: iron_chestplate
  15.             legs: iron_leggings
  16.             boots: iron_boots
  17.         dropChances:
  18.             # 装备掉落几率,默认为0.1(10%)
  19.             mainHand: 1.0
  20.             offHand: 0.5
  21.             helmet: 0.1
  22.             chest: 0.1
  23.             legs: 0.1
  24.             boots: 0.1
  25.         health: 30
  26.         # 移动/飞行速度
  27.         speed: 0.3
  28.         # 索敌范围
  29.         range: 50
  30.         # 击退效果
  31.         knockback: 1.0
  32.         # 基础伤害
  33.         damage: 6.0
  34.         # 抗击退效果
  35.         resistance: 3.0
  36.     # 生物2
  37.     scaryMob:
  38.         type: skeleton
  39.         name: '&cCustom'
  40.         equipment:
  41.             mainHand: bow
  42.             helmet: chainmail_helmet
  43.             chest: chainmail_chestplate
  44.             legs: chainmail_leggings
  45.             boots: chainmail_boots
  46.         dropChances:
  47.             mainHand: 1.0
  48.             helmet: 0.1
  49.             chest: 0.1
  50.             legs: 0.1
  51.             boots: 0.1
  52.         health: 15
  53.         speed: 0.3
  54.         range: 50
  55.         knockback: 1.0
  56.         damage: 6.0
  57.         resistance: 3.0
复制代码

点此查看兼容生物列表

目录主体:
自定义天灾必须要有目录主体来显示信息
  1. catalog:
  2.     # 用来表示你的天灾的原版物品
  3.     item: 'lava_bucket'
  4.     # 是否显示附魔效果
  5.     enchanted: false
  6.     description: '&eExample disaster to show you how to create custom disasters'
  7.     # 你的ID
  8.     author: 'davidclue'
复制代码




备注
每种天灾都有独特的详细设定,可以通过定义来改变天灾行为(Actions)的工作方式。例子如下:
  1. disaster 1:
  2.     type: 'supernova'
  3.     level: 2
  4. # 以下为超新星爆发的详细设定
  5.     size: 3.5
  6.     particleType: falling_water
  7.     flash: false
  8.     volume: 0.5
  9. # 超新星爆炸后留下的方块,原版是黑曜石和陶瓦
  10.     materials:
  11.     - water
  12.     - dirt
  13.     - sand
复制代码


这个天灾会是一个独特的超新星爆发,它有着水滴粒子,而且会剩下水、泥土和沙子在周围。这些属性只有超新星爆发具有,而其他天灾也有它们独特可更改的属性。接下来举一个进阶版陨石雨的例子:

  1. disaster 2:
  2.     type: 'meteorshower'
  3.     level: 4
  4.     time: 30
  5.     night: false
  6.     spawnRate: 5
  7.     particleType: water_bubble
  8.     maxMeteors: 10
  9.     normalMeteor:
  10.         material: obsidian
  11.         generateOres: false
  12.         minSize: 4
  13.         maxSize: 10
  14.         speed: 0.8
  15.     explodingMeteor:
  16.         material: lava
  17.         damage: 5
  18.         minSize: 2
  19.         maxSize: 5
  20.         speed: 2.5
  21.     splittingMeteor:
  22.         material: gravel
  23.         impactSpeed: 3
  24.         minSize: 3
  25.         maxSize: 6
  26.         speed: 2
复制代码


下面是所有天灾目前可用的详细设定,值设定为cfg则表示将应用插件文件中config.yml的值
Sinkhole


Earthquake


Supernova


Cave In


Geyser


Hurricane


Purge


Tornado


Tsunami


Acidstorm


Blizzard


Endstorm


ExtremeWinds


Meteoshower


Sandstorm


Soulstorm


授权证明


帖子永久链接: 

Minecraft中文论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖若有内容转载自其它媒体,不代表本站赞同其观点和对其真实性负责
6、若本帖涉及任何版权问题,请立即告知本站,本站将及时予以删除并致以最深的歉意
7、Minecraft(我的世界)中文论坛管理员和版主有权不事先通知发贴者而删除本文

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2022-10-10 09:25 , Processed in 0.100819 second(s), Total 15, Slave 14 queries, Release: Build.2022.09.29 1359, Gzip On, Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2022 我的世界中文论坛 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载