自定义任务
示例任务EliteMobs 自带一个 test_quest.yml 文件的任务,它将很好的阐述 EliteMobs 的任务系统。
自定义任务位于 customquests 文件夹!
test_quest.yml
复制isEnabled: true
customObjectives:
- KILL_CUSTOM:filename=test_boss.yml:amount=1
customRewards:
- filename=magmaguys_toothpick.yml:amount=1:chance=1
name: Kill the Test Boss
questLore: '&cEnd the test boss'' reign of terror!'必须配置选项isEnabledisEnabled: true 设置是否启用该任务。
customObjectivescustomObjectives 这是一个 列表类型选项,用于设置任务目标,你需要至少设置一个目标,但没有上限。
每行自定义目标需由如下部分组成:
- KILL_CUSTOM, - FETCH_ITEM 或者 - DIALOG: 用于设置目标的类型。KILL_CUSTOM 代表击杀指定的自定义怪物,FETCH_ITEM 代表获得指定的自定义战利品,DIALOG 代表与指定 NPC 对话。
filename=your_filename_here.yml:用于设置目标的内容,即自定义怪物/自定义战利品或者自定义 NPC 的文件名称。
amount=x:用于设置目标的数量,NPC 对话需要下一个参数而不是这个,即自定义怪物或者自定义战利品的数量。
dialog=x:用于设置目标的 NPC 对话。
name=x:用于设置目标的名称,用于显示给玩家。
请注意以上各个部分之间用 : 符号分开!
customRewardscustomRewards 设置任务的奖励,奖励应该至少有一个,但没有上限。
每行自定义奖励需由如下部分组成:
原版物品:
material=X:设置物品的 id。
amount=X:设置物品的数量。
chance=X.Y:设置获得的几率。例如 1 = 100% , 0 = 0% 和 0.5 = 50%。
自定义战利品:
filename=X.yml:设置物品的文件名称。
amount=X:设置物品的数量。
chance=X.Y:设置获得的几率。例如 1 = 100% , 0 = 0% 和 0.5 = 50%。
指令:
command=$player (...):设置执行的指令,可以使用 $player 变量替代为玩家的名称。
amount=X:设置指令执行的次数
chance=X.Y:设置获得的几率。例如 1 = 100% , 0 = 0% 和 0.5 = 50%。
namename 设置任务的名称,用于显示。
questLorequestLore 设置任务的 Lore,用于显示。
可选配置选项questAcceptPermissionquestAcceptPermission 设置玩家能够接受该任务需要的权限。
questLockoutPermissionquestLockoutPermission 设置玩家完成该任务后将会被给予权限。
questLockoutMinutesquestLockoutMinutes 设置玩家在多少分钟后将会被取消 questLockoutPermission 选项所给的权限,同时这时玩家将可以再次接受该任务。
temporaryPermissionstemporaryPermissions 设置当完成正在任务途中所给的权限,将会在任务完成后被取消。
questAcceptDialogquestAcceptDialog 设置当玩家接受任务后将进行的对话,是列表类型选项。
questCompleteDialogquestCompleteDialog 设置当玩家完成任务后将进行的对话,是列表类型选项。
questCompleteCommandsquestCompleteCommands 设置当玩家完成任务后将执行的指令,是列表类型选项。可以使用变量:$player(替换为玩家的名称),$getX,$getY,$getZ(替换为玩家的坐标)。
turnInNPCturnInNPC 设置该任务绑定的 NPC,同时需要将 NPC 的互动类型设置为接受任务类型,详见 自定义 NPC 页面。
questLevelquestLevel = 0 设置任务的等级,用于
trackabletrackable = true 设置该任务是否能够通过任务追踪器追踪最新进度。