喜欢 AlchemicalArrows 吗?试试 Alchema(需要 1.1.1+ 版本)!Alchema 是一个可选依赖项,可与 AlchemicalArrows 集成,允许在炼药锅中而非工作台中制作炼金箭。
AlchemicalArrows 旨在提升弓与弓之间的战斗体验,同时尽可能贴近 Minecraft 的原版机制。本插件在原版 Minecraft(药水箭)的基础上,新增了 16 种独特的箭矢类型,包括但不限于空气箭、水箭、土箭、火箭、抓钩箭、爆炸箭、生命箭等。所有箭矢均可制作(只要玩家拥有相应权限),并且只要炼金箭是玩家物品栏中最靠近 1 号槽位(最左侧快捷栏槽位)的箭矢,即可用弓发射。
AlchemicalArrows 提供的所有箭矢都以独特的方式影响实体,有些甚至在击中地面时会对世界产生效果。另一些则具有被动效果,例如吸引附近物品的磁力箭!通过 AlchemicalArrows 的 API 和详尽的文档,任何开发者(无论经验丰富还是新手)都可以轻松添加新的箭矢。
AlchemicalArrows 提供多个命令,主要供管理员在服务器运行时进一步控制插件。所有命令都有对应的权限节点。更多信息请参阅“权限节点”部分。
命令
/alchemicalarrows [别名:"/aa"]
核心命令,用于控制插件的各个方面,包括配置重载、版本信息以及世界中箭矢的管理功能。
子命令:
<reload>- 重新加载插件的配置文件,并将所有内容重新载入内存。<version>- 获取当前安装在服务器上的 AlchemicalArrows 插件版本信息。<clear>- 清除世界中所有存在的炼金箭。
示例:
/alchemicalarrows reload/alchemicalarrows version/alchemicalarrows clear
/givearrow [别名:"/givearrows"]
给予自己或其他玩家任意数量的炼金箭。
参数:
<arrow>- 要给予的箭矢的命名空间 ID。每种箭都有唯一的 ID。[count]- 要给予的箭矢数量(可选,默认为 1)。[player]- 要给予箭矢的玩家(可选,默认为命令发送者;如果从控制台执行,则此参数为必需)。
示例:
/givearrow alchemicalarrows:air/givearrow earth 32/givearrow addon_plugin:lifesteal 16 2008Choco
/summonarrow [别名:"/summonarrows"]
在世界中以(可选)指定的速度召唤一支炼金箭。
参数:
<arrow>- 要召唤的箭矢的命名空间 ID。每种箭都有唯一的 ID。[x, y, z]- 召唤箭矢的坐标。支持~ ~ ~(但不支持选择器修饰符)。[world]- 召唤箭矢所在的世界。[velX, velY, velZ]- 召唤箭矢的速度(即方向)。
权限节点
alchemicalarrows.shoot.*
允许发射本插件提供的所有类型的炼金箭。
- 默认: 所有玩家默认拥有此权限。
子权限:
alchemicalarrows.shoot.air- 允许发射空气箭。alchemicalarrows.shoot.confusion- 允许发射混乱箭。alchemicalarrows.shoot.chain- 允许发射连锁箭。alchemicalarrows.shoot.darkness- 允许发射黑暗箭。alchemicalarrows.shoot.death- 允许发射死亡箭。alchemicalarrows.shoot.earth- 允许发射土箭。alchemicalarrows.shoot.ender- 允许发射末影箭。alchemicalarrows.shoot.explosive- 允许发射爆炸箭。alchemicalarrows.shoot.fire- 允许发射火箭。alchemicalarrows.shoot.frost- 允许发射寒霜箭。alchemicalarrows.shoot.grapple- 允许发射抓钩箭。alchemicalarrows.shoot.life- 允许发射生命箭。alchemicalarrows.shoot.light- 允许发射闪电箭。alchemicalarrows.shoot.magic- 允许发射魔法箭。alchemicalarrows.shoot.magnetic- 允许发射磁力箭。alchemicalarrows.shoot.necrotic- 允许发射死灵箭。alchemicalarrows.shoot.water- 允许发射水箭。
alchemicalarrows.craft.*
允许制作本插件提供的所有类型的炼金箭。
- 默认: 所有玩家默认拥有此权限。
子权限:
alchemicalarrows.craft.air- 允许制作空气箭。alchemicalarrows.craft.confusion- 允许制作混乱箭。alchemicalarrows.craft.chain- 允许制作连锁箭。alchemicalarrows.craft.darkness- 允许制作黑暗箭。alchemicalarrows.craft.death- 允许制作死亡箭。alchemicalarrows.craft.earth- 允许制作土箭。alchemicalarrows.craft.ender- 允许制作末影箭。alchemicalarrows.craft.explosive- 允许制作爆炸箭。alchemicalarrows.craft.fire- 允许制作火箭。alchemicalarrows.craft.frost- 允许制作寒霜箭。alchemicalarrows.craft.grapple- 允许制作抓钩箭。alchemicalarrows.craft.life- 允许制作生命箭。alchemicalarrows.craft.light- 允许制作闪电箭。alchemicalarrows.craft.magic- 允许制作魔法箭。alchemicalarrows.craft.magnetic- 允许制作磁力箭。alchemicalarrows.craft.necrotic- 允许制作死灵箭。alchemicalarrows.craft.water- 允许制作水箭。
alchemicalarrows.command.*
允许使用所有管理命令。
- 默认: 管理员默认拥有此权限。
子权限:
alchemicalarrows.command.clear- 授予使用/alchemicalarrows clear命令的权限。alchemicalarrows.command.reload- 授予使用/alchemicalarrows reload命令的权限。alchemicalarrows.command.givearrow- 授予使用/givearrow命令的权限。alchemicalarrows.command.summonarrow- 授予使用/summonarrow命令的权限。
alchemicalarrows.worldguard.override
覆盖 WorldGuard 对拥有此权限节点的用户射出的箭矢的保护。
- 默认: 默认没有玩家拥有此权限。必须显式授予此权限节点。
配置示例 (YAML)
CheckForUpdates: true
MetricsEnabled: true
DeathMessages:
Enabled: true
DeathByPlayer: "%player% was killed by %killer% using %type%"
DeathBySkeleton: "%player% was killed by a skeleton using %type%"
DeathByBlockSource: "%player% was shot using a %type%"
Skeletons:
ShootPercentage: 10.0
LootDropChance: 15.0
Crafting:
VanillaCrafting: true
AlchemaIntegration:
Enabled: true
ArrowsRequired: 1
RecipeYield: 1
Arrow:
Air:
RecipeYield: 8
AllowInfinity: false
AllowMultishot: true
Colour: '255,255,255'
Effect:
BreatheRadius: 2
LaunchStrengthMin: 1.0
LaunchStrengthMax: 2.0
Skeleton:
CanShoot: true
LootDropWeight: 10.0
Item:
DisplayName: "&oAir Arrow"
Lore:
- "&f&oFeel the air beneath your feet"
- "&f&oDamaged entities are launched into the air"
CustomModelData: 132
Chain:
RecipeYield: 8
AllowInfinity: false
AllowMultishot: true
Colour: '0,170,0'
Effect:
DamageFactor: 0.80
SearchDistance: 5
Skeleton:
CanShoot: true
LootDropWeight: 10.0
Item:
DisplayName: "&2&nChain Arrow"
Lore:
- "&2Quick crowd dispersal"
- "&2Chains to other nearby entities"
CustomModelData: 148(配置节选,完整配置包含所有箭矢的详细设置)
箭矢详解
以下是 AlchemicalArrows 插件默认提供的每种箭矢的详细说明。每种箭矢标题旁都标明了所需物品,该物品用于在工作台或炼药锅中制作炼金箭。所有工作台合成配方都遵循以下通用模式:
(图示:工作台中心位置需放置指定物品)
关于炼药锅合成的更详细说明,请参阅“炼金药锅”相关部分。
空气箭 (材料 - 羽毛)
- 实体(及玩家)效果: 将被击中的实体随机向上发射一段距离。发射力度可配置。
- 被动效果: 当箭矢位于水下方块中时,会缓慢恢复附近实体的氧气值。
连锁箭 (材料 - 黏液球)
- 实体效果:
- 击中实体后,会向配置半径内的最近实体射出一支新箭。
- 每支连锁箭造成的伤害会递减。
混乱箭 (材料 - 毒马铃薯)
- 玩家效果:
- 对玩家施加“反胃 I”效果。
- 将玩家传送到相反方向 180 度位置。
- 非玩家实体效果: 敌对生物失去当前目标视野。
黑暗箭 (材料 - 煤炭或木炭)
- 玩家效果: 在被击中玩家周围生成烟雾云,并施加“失明 I”效果。
死亡箭 (材料 - 凋灵骷髅头颅)
- 实体(及玩家)效果:
- 对被击中实体施加“凋零 II”效果。
- 有较小(可配置)几率造成瞬间死亡。
土箭 (材料 - 泥土)
- 实体(及玩家)效果:
- 对被击中实体施加“缓慢 II”效果。
- 将被击中实体埋入最近的地面方块中。
末影箭 (材料 - 末影之眼)
- 实体(及玩家)效果: 被击中实体与射箭者交换世界中的位置。目标和射箭者的速度也会交换。
- 方块效果: 实体将被传送到箭矢落地方块的上方。
爆炸箭 (材料 - TNT)
- 方块效果:
- 击中地面后,点燃一根(可配置的)引信。
- 如果箭矢未被捡起,引信结束后箭矢会爆炸。
火箭 (材料 - 火焰弹)
- 实体(及玩家)效果: 被击中实体将被点燃,持续时间随机(2 到 5 秒)。
寒霜箭 (材料 - 雪球)
- 实体(及玩家)效果:
- 对玩家施加临时的、强度无限的“缓慢”效果,从而阻止玩家移动。
- 对玩家施加临时的、强度无限的“反跳跃”效果,从而阻止玩家跳跃。
- 方块效果: 配置半径内的水会冻结成霜冰。短暂时间后,冰会消失。
抓钩箭 (材料 - 绊线钩)
- 方块效果: 射箭者以(可配置的)力度被拉向箭矢的位置。
生命箭 (材料 - 闪烁的西瓜片)
- 实体(及玩家)效果:
- 对目标实体施加“生命恢复 II”效果。
- 此箭不会对实体造成任何伤害。
- 方块效果: 在箭矢落地位置(假设落在草方块附近)周围配置半径内生成植物。类似于骨粉右键草方块的效果。
闪电箭 (材料 - 荧石粉)
- 实体(及玩家)效果:
- 被击中实体被闪电击中(可配置)。
- 被击中实体被迫向上看向太阳。
魔法箭 (材料 - 烈焰粉)
- 实体(及玩家)效果: 被击中实体沿箭矢射来的相反方向被向后推动。
磁力箭 (材料 - 铁锭)
- 实体(及玩家)效果: 被击中实体沿箭矢击中的方向被向前推动。
- 被动效果: 配置半径内的物品会被吸引向箭矢。
死灵箭 (材料 - 腐肉)
- 玩家效果: 50 格半径内的所有敌对生物都会聚焦于被击中的玩家。
- 实体(及玩家)效果: 在被击中实体与射箭者之间施加生命偷取效果。生命值从被击中实体转移,射箭者获得治疗。
水箭 (材料 - 水桶)
- 被动效果: 箭矢在水下移动速度更快,且水下阻力/摩擦的影响可忽略不计。
开发与 API
AlchemicalArrows 已长期开源,欢迎贡献!如果您是 AlchemicalArrows API 的用户,或者只是对插件内部运作的代码感兴趣,其源代码已在 GitHub 上公开,供您浏览和修改。
您可以通过访问 AlchemicalArrows 的公共仓库 找到源代码。如果您熟悉 Git,可以自由克隆、复刻或向 AlchemicalArrows 提交拉取请求。如果您提交的更改被采纳,可能会被合并到主分支,并发布包含您代码的版本。您将在下一个更新日志中获得署名,并附上您的 PR 链接。
请注意,AlchemicalArrows 仍处于测试阶段时,开发工作主要在 alchemical-arrows-3 分支上进行,而非 master 分支!如果您要提交拉取请求,请提交到该分支。
AlchemicalArrows 的 API 在开发过程中不断变化,但现在已达到相对稳定的状态。外部插件可以通过 API 操控插件的多个方面,如果您有兴趣,欢迎查看 GitHub Wiki 上的众多页面,了解如何使用 API 的核心部分。
对于喜欢自行探索项目并尝试的开发者,AlchemicalArrows 已完全文档化,每个类、方法和常量都有详细信息。您可以在我的网站上浏览托管 Javadoc,地址是:https://choco.wtf/javadocs/alchemicalarrows/。
支持项目
本资源免费提供,无需任何付费义务!我很乐意提供免费资源,让大家在服务器上享受乐趣。然而,生活中并非一切都是免费的,我最终也需要某种形式的资金支持。如果您喜欢这个项目以及它为您的服务器带来的内容,请考虑捐赠,作为对我辛勤工作的一点感谢。我花费了无数时间在这个项目上,并且不求回报地提供一切。
捐赠不是必须的,我也不期望任何人捐赠。如果您出于善意选择捐赠,我衷心感谢您的支持,并希望您能像我开发它一样享受这个资源!谢谢!