| CPCameraStudioReborn 平滑电影移动! | |
|---|---|
| |
重拍的CPCameraStudio Mod由CrushedPixel,具有更多的功能和支持! |
| 作 者 | chrismin1302 |
| 发布时间 | 2016年11月4日 |
| 支持核心 | Spigot | 原生版本 |
| 支持版本 | 1.7,1.8,1.9,1.10,1.11,1.12,1.13 |
插件详细介绍
CPCameraStudioReborn 插件允许您使用一些简单的命令,在多个点之间创建平滑的电影过渡效果。
使用 /cam p 命令,您可以在当前位置设置路径点。执行 /cam start 命令时,您将按照这些路径点移动。您可以使用 /cam start 命令指定移动的持续时间,插件会在给定的时间内平滑地在指定的点之间移动。此外,插件还会自动计算点之间的距离,以调整摄像机速度。
示例:/cam start 1m30s 将花费 1 分 30 秒来完成移动。
/cam p: 将当前位置添加到摄像机路径。
camerastudio.point/cam r [pos]: 从摄像机路径中移除指定的点。如果未指定,则移除最后一个点。
camerastudio.remove/cam list: 列出摄像机路径中的所有点。
camerastudio.list/cam reset: 移除摄像机路径中的所有点。
camerastudio.reset/cam goto <pos>: 将玩家传送到指定的点。
camerastudio.goto/cam start <duration> <arguments>: 在给定的时间内,使玩家沿摄像机路径移动。
camerastudio.startsilent: 完成移动或发生错误后,不在聊天中显示消息。File Name: 使用指定路径文件中的摄像机路径。不会覆盖您当前加载的路径。Player Name: 将指定的摄像机路径播放给该玩家。如果未指定摄像机路径,将使用您的摄像机路径。/cam preview <arguments>: 预览摄像机路径,预览时间由配置文件指定。
camerastudio.preview/cam stop: 立即停止移动。
camerastudio.stop/cam help: 显示 CPCameraStudio 的帮助页面。
camerastudio.help/cam save: 将当前路径点保存到您的个人文件。
camerastudio.save/cam save <filename>: 将当前路径点保存到指定名称的文件。
camerastudio.save.file/cam load: 从您的个人文件加载路径点。
camerastudio.load/cam load <filename>: 从指定名称的文件加载路径点。
camerastudio.load.file
show-join-message:
# 禁用或启用玩家加入时插件发送的消息。
# 默认为 true。
default: true
preview-time:
# 设置使用 '/cam preview' 命令时,每个点之间的预览时间。默认为 5s
default: 5s
maximum-points:
# 设置任何玩家可以拥有的最大位置点数。默认为 100。
# 您可以通过指定权限节点 'camerastudio.point.*' 来覆盖它。
# 星号也可以替换为任何数字来将其设置为限制。
default: 100
allowed-gamemodes:
# 设置可以使用 '/cam' 命令的游戏模式。默认情况下,它包括所有模式。
default: ALL
clear-points-on-disconnect:
# 设置当玩家退出服务器时,是否要清除玩家定义的点。默认为 false。
default: false
❓问:摄像机移动不稳定!为什么?
答:该插件通过每 Minecraft tick 传送您来实现移动。由于一秒只有 20 个 tick,因此传送看起来不太好。我们正在努力改进这一点!如果您想要更平滑的移动,请确保您仅使用 WASD 键来移动,而不要使用鼠标改变头部位置,因为它会导致最少的抖动。此外,由于每秒 20 次传送的限制,最好为移动设置大量时间。
问:我想禁用我加入时的消息。
答:您可以在配置中禁用它!
问:我有一个想法?我可以告诉你吗?
答:当然!在 Discussion 选项卡中告诉我,我会尝试实现的!
首先,创建一个您想发送玩家到的 Location 列表。
然后调用 CameraStudio.travel。第一个变量是玩家,第二个是包含位置的列表,第三个是您希望移动持续的刻度数(您也可以调用 CameraStudio.parseTimeString 像在游戏中一样完成),第四个是移动失败时您将收到的消息,第五个是移动完成时您收到的消息。
示例:
List<Location> locations = new ArrayList<Location>();
locations.add(new Location(Bukkit.getWorld("WorldName"), 3014.5, 86, 2986.5, 49.5F, 31.3F));
locations.add(new Location(Bukkit.getWorld("WorldName"), 2995.5, 74, 2988.5, -40.8F, -5.0F));
try {
CameraStudio.travel(player, locations, CameraStudio.parseTimeString("1m20s"), "FAIL", "DONE");
} catch (ParseException e) {
player.sendMessage("Error with time parsing");
}
还有 CameraStudio#isTravelling() 方法,它返回一个布尔值,表示玩家是否正在移动。
最后,您可以使用 CameraStudio#stop() 方法,如果指定的玩家正在移动,则会停止他。