This plugin make it possible to create "cutscenes" for your server:
The player is teleported to a set of teleport points and may receive chat messages to, e.g. tell the player how the tree farm looks like and that he should farm trees there.
There are "scenes" with "scene nodes", each of them a location in the world with optional messages, sent to the player and a waiting time, until the player will be teleported to the next scene. You can also add music and delayed messages to a scene.
So you can create nice introduction sequences for your sever to make it easier for you moderators to handle large amounts of users (You dont have to tell them always the same thing!).
While being in a cutscene, the player may not move, destroy blocks and use commands (except /cutscene commands).
- (Optional) VanishNoPacket (Players will be invisible if they are in a cutscene)
/cutscene start <scene> Start cutscene (cutscene.user.start)
/cutscene stop Stop cutscene (cutscene.user.stop)
/cutscene reload Reload scene nodes (cutscene.admin)
/cse create <scene> Create a scene (cutscene.admin)
/cse add <scene> (scene node) <delay> Create a scene node (cutscene.admin) -> Your position will be the destination position
/cse edit <scene> <scene node> (delay) Edit a scene node (cutscene.admin) -> Your position will be the destination position
/cse move <scene> <scene node> <before|after> <other node> Move a scene node (cutscene.admin)
/cse setdelay <scene> <scene node> <delay> List scenes/scene nodes (cutscene.admin)
/cse list (scene) List scenes/scene nodes (cutscene.admin)
/cse addmessage <scene> <scene node> <time> <text ...> Add a message to the node at the given relative time (cutscene.admin)
/cse concatmessage <scene> <scene node> <message ID> <text ...> Add a text to a existing message. use &s as space if you want a space as first character (cutscene.admin)
/cse removemessage <scene> <scene node> <message ID> Remove message (cutscene.admin)
/cse movemessage <scene> <scene node> <message ID> <time> Move a message to a time (cutscene.admin)
/cse clearmessages <scene> <scene node> Clear all messages of a scene node (cutscene.admin)
/cse listmessages <scene> <scene node> List messages and show their ID (cutscene.admin)
/cse setrecord <scene> <scene node> <record> Set the jukebox music of this scene (cutscene.admin)
/cse tp <scene> <scene node> Teleport to a scene node's destination (cutscene.admin)
/cse resume <scene> <scene node> Resume at a scene node (cutscene.admin)
New in version 1.1:
/cse animation type <scene> <scene node> <Teleport|MoveLine> Set the animation type of scene node to teleporting (default) or a linear moving to the destination point of the next scene node (cutscene.admin)
/cse animation yawpitch <scene> <scene node> <begin time> <end time> Set the relative time to begin reorienting the player (where the player looks) default: start: 0 end: 0.2 (cutscene.admin)
New in version 1.2:
/cse effect List effects
/cse effect help <effect> Show effect help
/cse effect add <scene> <node> <time> <effect> (effect params)
/cse effect remove <scene> <node> <id> (effect params)
/cse effect move <scene> <node> <id> <time> (effect params)
Effects: PlayRecord, Trigger, PlaySound, SetBlock, SpawnMob
/cse timeline <scene> (node) (effect) Show timeline
/csa who List players in cutscenes
/cutscene start <player>
/cutscene stop <player>
Useful note: If you want to edit many messages, you should edit cutscenes.yml with Notepad2 or something similar and reload the data.
A little tutorial
- The command set, which is used is /cse
- Create a scene /cse create MyCutscene
- Go somewhere and run /cse add MyCutscene 5 to add the scene node "point0" to your scene. It will be 5s long.
- Go elsewhere and run /cse add MyCutscene hello 10 to add another scene (We want to say a text to the player)
- To add a message line at the beginning of the scene node, use /cse addmessage MyCutscene hello 0 &4Hello World!
- To add another message line at the beginning of the scene node, use /cse addmessage MyCutscene hello 0 &aThis is another line!
- At the middle of the scene node, we want to say another text: /cse addmessage MyCutscene hello 0.5 &3I'll be displayed after 5s! (The <time> arguments are relative, so: lenght of the scene node = 10 -> 10 * 0.5 = 5
-> Display at 5s)
- After the messages are sent to the user, he should fly to another point, so first, we make a start point for the animation at the "hello" position (you should be there, if not: /cse tp MyCutscene hello)
- run /cse add MyCutscene animationscene 12 and /cse animation type MyCutscene animationscene MoveLine to set animationscene as the main animation scene.
- Add another point as end of the animation scene: /cse add MyCutscene animationend 5
- Explanation: If the scene "animationscene" starts, the player will be moved to the point of "animationend" is 12s, then the player will be 5s in the "animationend" scene.
- The default setting of "yawpitch" (Setting the orientation of the player to the destination point's orientation) is 0.0 0.2: The player will look at the same direction of "animationend" after 20% of "animationstart". If you want that the player will rotate e.g at the middle of the animation, try /cse animation yawpitch MyCutscene animationscene 0.4 0.5 -> The player will be rotated after 6s