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.
@GobsMaster
The skins are pulled from whatever name you give them. Use http://www.mcskinsearch.com/ to find names that go with the skin you want.
I don't believe there is a way to assign a skin to an actor. I think only Spout integration would allow for this.
How can i get a skin list for the actors?
PD: This plugin is awesome.
How would you go about loading in the scene and executing it whenever the server restarts? I am using actor to give life to my spawn town. I have setup loops for this but every restart means manually bringing the scene back out and activating it, which is not practical.
@Mitsugaru @thejellifish
Yes that's right. Saving an actor saves an individual actor which can then be reloaded when making another scene. Saving the scene saves all current actors.
@thejellifish
@brickshot can correct me if I'm wrong, but I think the difference is that saving the scene saves all associated actors for a specific scene. Whereas with saving an actor allows you to load that specific actor for something new, say a new scene. That way, instead of making the same person every time you want to make a new scene, you can recall that previous actor and its settings.
@brickshot
This might be related then. EssentialsChat in my case is configured so that normal chat is not heard over the whole server (only if people shout by prefixing with a !). Normally it is only heard within a certain radius (as configured in Essentials)
Perhaps if my actors shout, it will work...although not ideal of course. Looking forward to the update.
Incidentally, I'm not clear on the difference between saveactor and savescene or why I should need/want to use saveactor ever?
@toxictroop
Currently there is no way to use an item to start/stop so probably powertool is the way to go.
@thejellifish
I haven't tried it out with EssentialsChat to see if there is a conflict but chatting should work. There is a bug open where everyone on the server will hear the chat though - this will be fixed so only players in close proximity will hear it.
Nice plugin, I have it working with variable triggers so that when people walk in certain areas, scenes are loaded and actors do their thing...
Only problem I'm having is that chat doesn't seem to be working. Probably a conflict with EssentialsChat?
I don't see any demo or examples of chat, maybe I'm missing something though?
Thanks.
Very nice :)
{Some Ideas}
For me to download this you need some Combat/Effects look up VaporTrails for usefull efects you could use.. I would also like it if you included some skin change system..
For me this is smaller that citizens sorry..
can we use an item to stop and start or should i just use /powertool ?
@seanth
I will make a config option to turn off the prompting.
Is there a way to remove an actor without needing to provide further feedback?
I'm trying to use CommandHelper and AutorunCommands to make a button, which when pressed, loads a scene, plays it and then fires the actor. The problem is I can't seem to fire an actor without confirming it is what I want to do.
Halp?
@Weilon
Awesome! I'd love to see what you create with it. Send me a link and I'll post it here. Thanks
Amazing plugin. I hope this doesn't become inactive anytime soon, because it's going to be a vital plugin that I'll be using in my Minecraft videos :D
This is simply amazing. Great job!
@crehop
That would be pretty entertaining... not sure how hard. Maybe!
@Mirmulniir
Here is a video example of how to use the visible command:
http://www.youtube.com/watch?v=tM-j7ubYNQY
can we get an option to make actors look like mobs?