Big Doors - 大型动态门
BigDoors 是一款功能强大的 Minecraft 插件,允许你创建并控制多种大型动画门,包括大门、吊桥、闸门和滑动门等。它提供了直观的 GUI 管理、红石支持,并与多种领地保护插件兼容。
功能特性
- 支持的门类型:
- 大门
- 吊桥
- 闸门
- 滑动门
- 核心功能:
- 用于门管理的图形用户界面。
- 支持红石信号触发。
- 内置门创建向导,引导你完成创建过程。
- 支持多语言翻译。
- 活跃的开发者支持。
- 兼容的保护插件:
- WorldGuard
- GriefPrevention
- PlotSquared
- Towny
- Lands
- RedProtect
- Konquest
- 更多插件可根据需求添加!欢迎在我们的 Discord 中提出建议。
附加组件
- Big Doors Opener (由 @Eldoria 制作):允许你根据玩家距离、权限或游戏内时间等条件自动开门。
- Big Doors Physics (由 @Bonn2 制作):为动画方块添加碰撞体积。
常见问题
- 新的门类型(时钟、旗帜、风车、旋转门、车库门等)何时发布?
- 这些新类型现已在新插件 Animated Architecture 中提供!
- 会支持 Minecraft 1.8 版本吗?
- 不会。请升级你的服务器!
- 如何从控制台或命令方块控制门?
- 从控制台或命令方块执行命令时,不能使用门的名称,而必须使用门的唯一标识符
doorUID。
资源包
本插件附带一个可选资源包,仅包含门在动画过程中播放的音效。它不用于动画本身。
- 如果不想使用资源包,可以在配置文件中将
resourcePackEnabled选项设为false来禁用它。 - 如果你的服务器已安装其他资源包,请务必禁用此资源包,否则可能会覆盖现有资源包或导致其他问题。由于此资源包仅包含音效,禁用它只会导致音效不播放,其他功能一切正常。
- 配置文件中列出了各 Minecraft 版本对应的资源包下载链接。你可以手动下载,用于自行托管或将其合并到你现有的资源包中。
不支持的运行环境
如果插件在启动时检测到处于不支持的环境中,它将中止初始化以防止问题。你可以通过在配置中启用不安全模式来强制启用插件,但这样做将不受支持!
- 不支持的服务器核心:
- CatServer
- Mohist
- Magma
- Glowstone
- Akarin
- 不推荐同时使用的插件:
- GeyserMC
- ViaRewind
已知问题
- 由于门中的每个方块都会被转换为实体,较大的门可能会对客户端造成较大负担。
- 当玩家距离门较远时开门,门的行为会显得异常。方块移动不再统一,并且(部分)门会持续旋转,直到玩家靠近才会恢复正常。
- 由于其特性,反延迟插件倾向于移除本插件使用的实体。这会导致方块暂时消失,并在短暂延迟后出现在其打开的位置。为防止此问题,请将名为
BigDoorsEntity的FallingBlock类型实体添加到这些插件的白名单中。
命令与权限
基础权限
bigdoors.own.<numberOfDoors>:设置该组玩家可拥有的最大门数量。将<numberOfDoors>替换为具体数字,例如bigdoors.own.4。bigdoors.user.gui:允许使用/BigDoors或/BDM访问 BigDoors 图形界面。
创建门
bigdoors.user.createdoor.<type>:支持的类型:door、drawbridge、portcullis、slidingdoor、flag。/NewDoor [-BD || -PC || -DB] <DoorName>:启动门/吊桥创建过程。使用-BD创建大门,-PC创建闸门,-DB创建吊桥。默认为大门。/NewPortcullis <PortcullisName>:启动闸门创建过程。/NewDrawbridge <DrawbridgeName>:启动吊桥创建过程。
门设置与管理
bigdoors.user.base:/SetBlocksToMove <doorUID> <blocksToMove>:设置门(如闸门、滑动门)尝试移动的方块数量。/SetDoorRotation <doorUID> <direction>:更改门尝试移动的方向。/NameDoor <doorName>:在门创建过程中设置门的名称。/BDCancel:取消对象创建过程。
bigdoors.user.deletedoor:/DelDoor <DoorName>:允许你删除一扇门。
开关门
bigdoors.user.toggledoor:/OpenDoor <DoorName> [DoorName2] ... [DoorNameX]:打开一扇(或多扇)任意类型的门。/CloseDoor <DoorName> [DoorName2] ... [DoorNameX]:关闭一扇(或多扇)门。/ToggleDoor <DoorName> [DoorName2] ... [DoorNameX]:切换一扇(或多扇)门的开关状态。
信息查询
bigdoors.user.listdoors:/ListDoors [Name]:列出你拥有的所有门(如果提供了名称,则列出指定名称的门)。- 控制台用法:
/ListDoors <DoorName || PlayerName || PlayerUUID>:列出具有给定名称的所有门(及其所有者),或列出某玩家拥有的所有门(PlayerName仅适用于在线玩家!)。
bigdoors.user.doorinfo:/DoorInfo <DoorName>:获取指定门的信息。
动力方块操作
bigdoors.user.relocatepowerblock:/ChangePowerBlockLoc <DoorName>:更改指定门的动力方块位置。
bigdoors.user.inspectpowerblock:/InspectPowerBlockLoc:给你一个工具,用于点击任何动力方块以获取其所属门的信息。
所有权管理
bigdoors.user.addowner:/BigDoors AddOwner <doorUID> <playerName>:将另一名用户添加为指定门的共同所有者。
bigdoors.user.removeowner:/BigDoors RemoveOwner <doorUID> <playerName>:移除指定门的另一名所有者。
自动关闭设置
bigdoors.user.setclosetime:/SetAutoCloseTime <doorUID> <autoCloseTime>:设置门被打开后尝试自动关闭的等待时间。负值表示门不会尝试自动关闭(当然,你仍然可以使用红石控制)。
管理员命令
bigdoors.admin.pausedoors:/PauseDoors:管理员暂停所有门的动画(切换开关)。
bigdoors.admin.stopdoors:/StopDoors:强制结束所有正在打开或关闭的门。
bigdoors.admin.unlockdoor:/UnlockDoor <DoorName>:强制解锁一扇不属于你的门。
bigdoors.admin.killbigdoorsentities:/KillBigDoorsEntities:清除所有可能因各种原因遗留下来的 BigDoors 实体。通常不需要使用,但以防万一。
bigdoors.admin.fillDoor:/FillDoor <doorName || doorUID>:用石头方块填充一扇门,无论命令执行者是否有权在该处建造或该处是否已有方块。
bigdoors.admin.version:/BigDoors Version:获取插件版本。如果是开发版,还会显示构建号。
bigdoors.admin.restart:/BigDoors Restart:重启插件。几乎所有内容(配置、翻译等)都将重新初始化。
bigdoors.admin.bypass.<attribute>:- 允许你通过命令访问所有门,即使你不是其所有者。
- 属性包括:
lock、toggle、info、delete、relocatepowerblock、changetime、blockstomove、direction、addowner、removeowner。 - 注意:访问非你所有的门时,必须使用其
doorUID!
关于门名称与 UID 的说明
DoorName也可以用门的 ID(即doorUID)代替。当你有多个同名门时,这非常有用。- 你可以使用
/DoorInfo命令或 BigDoor 菜单中的/DoorInfo按钮获取门的 ID。列出所有门时(如果提供了名称,则列出同名门),你也会看到这些门的 ID。 - 因此,你不能给门起纯数字的名称。
文本教程
制作一扇大门
- 使用
/NewDoor <DoorName>启动门创建过程,将<DoorName>替换为你想要的(非纯数字)名称。或者,使用/BigDoorMenu(或简称/BDM)打开 GUI,点击“New Door”按钮,然后按照提示使用/NameDoor <DoorName>命名。 - 定义门的区域*:选择门上尽可能远离的两个点(例如左上角和右下角)。
- 定义旋转点(即铰链):选择门要围绕旋转的一侧的一列方块。
- 完成!现在你可以使用
/OpenDoor <DoorName>来使用这扇门,或者在插件的 GUI 列表中找到它(目前按创建日期/门 ID 排序)并使用其中的开关。
红石使用:要使用红石开门,只需将“动力方块”(在配置文件中设置)**放置在旋转点/铰链下方即可。
> *注意:在当前版本中,门只能有 1 个方块的深度!
> **建议选择稀有方块(如金块)作为动力方块,以避免频繁查询数据库导致服务器卡顿(使用稀有方块则无需担心)。这只是临时方案。
制作一座吊桥
过程与制作大门非常相似。但对于吊桥,你可以选择一个平面区域。选择吊桥区域后,选择矩形四条边中的一条来定义旋转点/铰链。如果选择了一个角,则需要在该轴上选择另一个点以避免歧义。
动力方块默认位于旋转点正下方中间。如果不清楚,可以使用 /DoorInfo <DoorName> 命令或 GUI 查看其确切坐标。当然,你也可以使用 /ChangePowerBlockLoc <DoorName> 或 GUI 将动力方块移动到你选择的位置。
制作一扇闸门
过程同样非常相似。与制作大门的唯一区别是使用不同的命令(或 GUI 选项)启动创建过程,并且不需要选择旋转点(毕竟它只上下移动)。动力方块的工作方式与吊桥相同:默认位于闸门正下方中间,并且可以像其他门类型一样移动。
闸门类型会检查它可以向上和向下移动多少个方块。如果向下移动的距离大于或等于向上移动的距离(移动距离不会超过其总高度),它将向下移动尽可能多的方块;否则,它将向上移动。
视频教程
由 @Achaius 制作的非常有用的教程,展示了如何创建所有门类型。
更新到新版本
我不断添加新功能,这些新功能通常需要在数据库中存储更多数据。这意味着加载新版本时,插件会尝试自动升级数据库以存储所有必需的新数据。到目前为止这还没有出过错,但这并不能保证未来永远不会出错!因此,请在更新此插件之前备份你的数据库!同时,也备份你的配置文件!它被更改的频率甚至更高。
更多示例
(此处可放置图片或视频链接示例)
***
最后
感谢 Captain_Chaos 制作了 PorteCoulissante 插件。我经常使用它,它启发我制作了这个插件!
记住:请勿在评论部分寻求支持!如需支持,请通过其他方式联系我!如需最快支持,请加入我们的 Discord!