Actor
The Actor plugin/library allows you to create "Actors" which playback pre-recorded actions as an NPC. Great for Machinima or for making your NPCs do exactly what you want. Actors can currently playback exact recordings of the following actions:
- Walking / Movement
- Block Placement / Removal
- Current Item selection
- Chatting
Multiple actors can be active at once. Scenes of actors can be saved to disk and loaded later. Actors can be dubbed into a translated position for crazy effects. See video.
Latest version notes: V0.10
Troupes! Now you can record more than one player at a time. If you have 'troupe' permission you can...
- /actor troupe add playername - add player to your troupe (they will be asked for confirmation and must type 'yes' in response)
- /actor troupe remove playername - remove player from troupe
- /actor troupe show - shows the current players in your troupe
Once your troupe is defined, use '/actor record' like normal but you will now be recording everyone in the troupe. '/actor hire' will hire an actor for every recorded troupe member.
Also in this release:
- /actor rename actorname newname - renames an actor
- minor bug fixes
Demo
Typical Usage / Getting Started
Typically the usage goes like this:
- /actor record <run around - place blocks, remove blocks, chat, etc>
- /actor cut
- /actor hire actorname
- /actor action <watch the actor do what you just recorded>
- /actor reset
- /actor actionrec <you are now playing back the actor and recording at the same time>
- /actor cut
- /actor reset
- /actor action <You now see both actors in the scene together>
- /actor savescene scenename
Installation
Put the ActorPlugin.jar into plugins on your server. The first time it is loaded it will create an Actor folder in your plugins dir where all your saved actors and scenes will be created.
Dependencies
Vault (optional)
Commands
In addition to being a library for use in other Bukkit mods, the Actor plugin provides commands to demo the basic functionality itself. Full table of commands and associated permission nodes can be found on this page. The following sub-commands have /actor as the root command:
- record:
Start recording into buffer.
- cut:
Stop recording and stop playback on all actors
- hire:
Spawn new actor using recording in buffer
usage: /actor hire [name]
- dub:
Duplicate one or all actors with a translation
usage: /actor dub [name|all] x y z
- fire:
Fire an actor (this means they are removed from the world). Name can be "all".
usage: /actor fire [name]
- action:
Playback actor or all actors
usage: /actor action [actorname]
- actionrec:
Playback actor or all actors and record
usage: /actor actionrec [actorname]
- loop:
Set an actor (or "all") to loop
usage: /actor loop [on|off] [actorname]
- reset:
Rewind actor or all actors
usage: /actor reset [actorname]
- remove:
Remove an actor. Alias for "fire".
usage: /actor remove [actorname]
- troupe:
Manage your troupe of actors. Subcommands: add, remove, show
usage: /actor troupe add [playername] - add player to troupe
usage: /actor troupe remove [playername] - remove troupe member
usage: /actor troupe show - list the current troupe members
- saveactor:
Save an actor's recording to a file
usage: /actor saveactor [actorname] [filename]
- savescene:
Save all actor recordings to dir/actorname
usage: /actor savescene [scenename]
- loadactor:
Spawn an actor with the give recording file
usage: /actor loadactor [actorname] [filename]
- loadscene:
Load and spawn all actor recordings from dir
usage: /actor loadscene [scenename]
The above list can be found in-game by using /actor. In-game list is based on the user's permissions.
Configuration
API
Actor is a libray which can be used in other plugins. View API here. Use the public "getInstance()' method on the ActorPlugin class which gives you access to the API commands. For example:
ActorPlugin.getInstance().record(player);
Beta Release
Currently in Beta this plugin will be revised to fix bugs and add features. Feel free to contribute.
GPL Licensed
The Actor Library is released under the GPL License.
Source
Image Credit
Thanks to Stugace for creating the RomeCraft texture pack used in the video: http://www.planetminecraft.com/texture_pack/romecraft/
Thanks to WLhokies for creating the Roman Villa used in the video: http://www.planetminecraft.com/project/roman-villa---villa-syndexioi-world-save-schematic/
Thanks
Thanks to Mitsugaru for adding permissions, maven, cleaning up the code, etc.
Plz update
When will you update the plugin!I need it so much because I want to make my own channel with brother and we can't find actors,so we use your plugin!I'm stuck in 1.2.5,just for the plugin,and I'm waiting for the plugin to be updated to 1.3.1!If anyone know how to update it,please let me know!
Is there ANY way you can make this for single player? I'd LOVE to have this on single player! And it would help out a lot of others as well!
You need to make the actors capable of interacting in the environment better! The actors cant interact with levers, buttons and pressure plates and probably other things I haven't tested them with.
@brickshot
heya. we tried videoing an we failed X3 but we found a few problems. 1.) Placing a redstone torch won't make nearby mechanisms work. 2.)Dieing seems to mess up things, each time we died it gave us different results a.) the actor went to the spawn. no one but me (the recorder) could see him b.)the actor stayed in the position where i died. (the actor didn't fall over and disappear) 3.)when placing pistons it does something weird. instead of placing the device it places a block that, every face, is the face used for the end of the piston. we tried placing a redstone torch beside it but nothing happened.
sorry for the message being messy i'm not sure how to do a list without it bunching together like this.
@Enigmare
I agree that would be great but unfortunately it isn't possible to control skins with a server plugin.
See: http://dev.bukkit.org/server-mods/actor/?comment=63
I think you should add support for .png files so people can just get a skin they need and use it on their actor. So that they can have the name they desire and the skin to go with it.
@brickshot
right, i'll record it and put on youtube. i'll link you as soon as possible in PM.
@dancats511
Type "yes"
How do you accept invites to troupes?
@docta_amazin
I'm glad you are interested in this mod! First of all you should know that actors aren't "real". Think of them like a ghost. During playback there is no interaction between the world and the actors (this includes between players and the actors). So you can't impede them, touch them or do anything but see them (or hear them) during playback.
OK in order...
Me and my friends are designing sets for some short films and came across this, which would help ALOT! as we won't have to awkwardly ask lots of friends for help. Also it'd of been a nightmare to organise them all, these actors are my minions and will do what i say when i say!! i didn't see anything in your tutorial. sorry if you already explained this. i have a few questions, could you number the answers accordingly please.
here's some things to think about that thought would be useful. 1.)would the actors still follow the same path if a block was removed. i.e. would they float if one was removed below them? 2.)can actors hurt each other? 3.)can you give them items? i.e. an inventory, e.g. if they die they will spew items? 4.)can you give them armour? 5.)is there any way to create custom skins for the actors? 6.)can you control their health? 7.)what happens when they die? 8.)will the blocks reset when you tell the scene to restart? 9.)can you have multiple scenes at one time. i.e. can two people use it at the same time? (maybe some one else can control the recording of other people i.e. i can control the record etc of my friends so that actors are in sync, how could you do this if you implement it?) 10.) what would happen if an interactive device was removed? (e.g if a pressure plate was removed, causing a piston to push the actor, how would the actor react? i.e. would he stand in place and continue the scene one block out of place or follow the path as if he was pushed?)
no problem, and yes i will give credit to you for this mod c:
@thejellifish
Hey I haven't tried logging on to your server yet but this is exactly what I was hoping people would use it for, so I'll try my best to support your use case.
I like your idea of turning off the prompts. I'll think about how to implement that. Also I'm planning on implementing a 'server-owned' type of actor which wouldn't require the user to have permissions to load / play the actor as it does now. But as you noticed in the meantime it will still work.
I'll check out your server later tonight. Thanks
I upgraded anyway and answered my own question. It still works because the variabletrigger just makes the player who triggers it load the scene and run it, so of course that works.
Would be nice if there was an option to turn off the prompts like "Started scene" and "actor fired" etc.
I wonder if I'm using this plugin quite as it was intended. So what I am doing is:-
Player walks over a trigger point, this starts the trigger code which loads the scene, runs the scene, pauses x seconds (until I know the scene is finished) and then resets the scene and fires the actor. This allows me to have characters appear to help people who are wandering around, show them somewhere and then leave.
If you want to see this in action, my server is newfunk.info just go to spawn area, stand on the gold block near the sign, walk away from it and wait for Notch to appear....
I think I allowed even guests the ability to do this on my server, but if it doesn't work let me know and I'll upgrade anyone who wants to see it to "Player" level.
Hi again,
I'm a bit worried about upgrading to your latest version. At the moment I have combined this plugin with variabletriggers plugin so that when any player walks over a certain block, it triggers an op-run command to start my saved scene (loads the scene, runs it, then waits and resets it)
With your latest upgrade your changelog says that this would now only work if I am logged in to the server? Is this correct? Can we have the option to have scenes that will work even if the owner/creator is not logged in? that way I can use this plug in to create cut-scenes and quests etc.
Thanks again for the great work.
@5gavinator
Thanks! I'm glad you like it. Unfortunately there is no good way to change an actor's skin without naming them the name of the character with that skin.
See my really long explanation here: http://dev.bukkit.org/server-mods/actor/?comment=63
Also see this comment for some ideas: http://dev.bukkit.org/server-mods/actor/?comment=88
HEY! I LOVE THIS PLUGIN! All my players on my server are all like 0_o o_0. I was wondering if you could make it so you can set a actor to a certain characters skin. Without naming it that character!
Is there a way to have a certain scene repeat? So if say I want it to keep repeating somewhere, I want it to just keep doing whatever scene it is over and over. Also using that repeat thing, to be able to run multiple scenes at a time. So you could just have programmed actors, doing stuff back and forth over and over
Could you add sneak animations to the next update?
Yes,there is a way... just put something like this: /actor hire Herobrine And there you got a Herobrine xD