Actor

Actor

11.4k Downloads

Actor Plugin

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

Source code is here (GitHub).

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.