HardcoreMobs

自定义你的Boss!

资源图片
# HardcoreMobs **全新的可定制插件,用于你的Boss!** **它能为你提供什么?** - 可定制的Boss名称、生命值和类型! - 自己的脚本系统,用法更灵活! - 可定制的Boss Bar和实体装备! - 事件脚本系统! - PlaceholderAPI支持! 最初,这个插件是为Paper 1.16.5创建的。但我认为它在1.13及以上版本也能完美运行。 **它是如何工作的?** - 实体配置仅通过config进行。你是编写Boss功能的人。 - Boss Bar进度是实体生命值。 - 任何时候只有一个Boss可用。但你可以生成其他Boss。 - 每个Boss都是独立的。 **Config结构如下:** ```yaml boss: displayName: "Test boss" # Boss的显示名称 health: 200 # Boss的生命值 type: ZOMBIE # 生成的实体类型 spawnLocation: # 生成位置原点 x: 0 y: 100 z: 0 world: world bossBar: # Boss Bar部分,更详细的信息请参考 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BossBar.html title: "This is my boss!" color: RED style: SOLID flags: - "CREATE_FOG" - "DARKEN_SKY" radius: 20 equipment: # 可选。你可以为任何或所有槽位设置装备。参考 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/EquipmentSlot.html HEAD: # 这里需要放置ItemStack实例。参考其他插件的配置。 CHEST: LEGS: FEET: HAND: OFF_HAND: BODY: #用于马和狼 SADDLE: # 马和猪 eventScripts: # 这部分很有意思 damage: # 当Boss受到伤害时触发 - "" attack: # 当Boss攻击玩家时触发(不被[ATTACK]触发) - "" death: # 当Boss死亡时触发 - "" preSpawnScript: # 当执行/hmobs spawn时触发 - "" spawnScript: # 仅当调用[SPAWN]时触发 - "" ``` **所有脚本命令列表:** ``` [ATTACK] playerName damage - 攻击特定玩家。与“damage”事件一起使用效果更好 [DIRECT] playerName text - 向特定玩家发送消息。需要隐私时很有用。 [SET] key value - 在本地占位符系统中设置值。使用%name%来使用此值。 [CHECK] condition scriptLine - 检查条件并执行脚本命令。仅支持 !=(不等于) 和 ==(等于) [CONSOLE] command - 以控制台身份执行命令 [BROADCAST] message - 很明显。 [PLAYERS] radius command - 在半径范围内对玩家执行命令。使用%player%访问玩家名称。 [RANDOM_PLAYER] radius command - 与PLAYERS相同,但选择一个特定的玩家。 [RANDOM] chance scriptLine - 随机执行命令。制造惊喜的好方法! [MESSAGE] radius message - 向半径范围内的所有玩家发送消息。 [ACTIONBAR] radius message - 与MESSAGE相同,但发送到操作栏。 [SOUND] type volume pitch - 向每个玩家发送声音。关于声音类型请参考Spigot wiki。 [SOUND_GLOBAL] type volume pitch - 与SOUND相同,但在生成位置全球播放声音。 [PLAYERSOUND] radius sound volume pitch - 与SOUND相同,但使用半径。 [COOLDOWN] radius material delay(ticks) - 向半径范围内的所有玩家添加物品冷却。 [DELAY] ticks scriptLine - 在一段时间后运行脚本行。 [SPAWN] - 生成实体并调用“spawnScript”。 [EFFECT] PotionEffectType duration amplifier - 为Boss添加效果。关于效果请参考Spigot wiki。 [ANTIRELOG] radius - 在半径范围内激活玩家PVP冷却。仅在半径内有2个或更多玩家时有效。仅当安装了AntiRelog时有效。 [REPEAT] delay name - 类似于代码中的while循环。在mob死亡或插件重新加载之前运行。必须以[REPEATEND]结束。 [REPEATEND] - 很明显。 [REPEATBREAK] name - 当需要时停止REPEAT。 [FOR] count delay - 延迟指定时间的间隔,重复执行代码块“count”次。需要以 [FOREND] 结尾。 [FOREND] - 再次强调 - 很明显。 ``` **本地占位符:** ``` "damage" 脚本部分: %attacker% - 攻击Boss的玩家 %damage% - 造成的伤害数 (类型: double) "death" 脚本部分: %killer% - 杀死Boss的玩家 全局占位符: %name% - Boss的显示名称 %center% - 居中文字。将此放在消息开头。仅在 [BROADCAST], [MESSAGE], 和 [ACTIONBAR] 中有效。 %player% - 显示玩家名称。仅在 [PLAYERS], [RANDOM_PLAYER], [MESSAGE], [ACTIONBAR] 中有效。 %top1% - 显示造成Boss伤害排名前1的玩家。在 [DIRECT], [SET], [CHECK], [ATTACK] 中显示为 "null"。 在其他命令中不被替换。 %top2% - 显示造成Boss伤害排名前2的玩家。在 [DIRECT], [SET], [CHECK], [ATTACK] 中显示为 "null"。 在其他命令中不被替换。 %top3% - 显示造成Boss伤害排名前3的玩家。在 [DIRECT], [SET], [CHECK], [ATTACK] 中显示为 "null"。 在其他命令中不被替换。 %top1_damage% - 显示造成Boss伤害排名前1的伤害数。在 [DIRECT], [SET], [CHECK], [ATTACK] 中显示为 "null"。 在其他命令中不被替换。 %top2_damage% - 显示造成Boss伤害排名前2的伤害数。在 [DIRECT], [SET], [CHECK], [ATTACK] 中显示为 "null"。 在其他命令中不被替换。 %top3_damage% - 显示造成Boss伤害排名前3的伤害数。在 [DIRECT], [SET], [CHECK], [ATTACK] 中显示为 "null"。 在其他命令中不被替换。 %your_key% - 显示通过 [SET] 命令设置的值。 ``` # 重要提示! **强烈建议不要使用嵌套的 [REPEAT]。最好单独运行它们。** **你也不能在 [REPEAT] 循环中运行 [FOR] 循环。这是为了保护你的性能。** **当你使用 PlaceholderAPI 占位符时,插件会首先查找它的占位符,然后再解析 PlaceholderAPI。** **在一个脚本部分设置的值,在另一个脚本部分将不起作用。例如:** ```yaml "death": - "[SET] killed yes" - "[BROADCAST] %center%%killed%" # 错误! ``` ```yaml "attack": - "[SET] lastDamage %damage%" - "[SET] lastAttacker %attacker%" "death": - "[BROADCAST] %center%%lastAttacker% killed boss, dealing %lastDamage% damage!" # 不完美,但很好的例子! ``` # 安装/配置方法: 1. 下载 .jar 文件。 2. 将 .jar 文件放入 "plugins" 文件夹。 3. 创建一个名为 "HardcoreMobs" 的文件夹,并在该文件夹中创建一个名为 "mobs.yml" 的文件。 4. 编辑你的 config,享受吧! 一些无用的东西: - 我的 Discord: blxxdx_1 - [我的服务器的 Discord [RU]](https://discord.gg/56A4nTEZR7)