MCME Wiki

Build jobs on MCME are run with TheGaffer, the plugin that protects the map. By default, players cannot change the map at all. A job opens one square area for building, for the people on the job, for as long as it runs. This page is for the staff who start and run jobs (job leaders) and who manage projects: the commands you type, what you will see, and the permission each command needs. For the builder's side, see Building on jobs. The plugin's code is on GitHub at MCME/TheGaffer, and developers can read TheGaffer for developers.

Permissions

Permission Default What it allows
thegaffer.join everyone Joining jobs, the builder commands, job chat, statistics.
thegaffer.create operators only, unless granted Starting jobs and running any job on the server: stop, pause, unpause, /job manage, /jobadmin and /job admin, /job transfer, /job prep, /job listen, /job debug, /job stats export. A player also needs it to be added as a helper with addhelper.
thegaffer.ignoreprotection operators only, unless granted Building anywhere, with or without a job. The plugin never switches your gamemode, and you can craft (crafting is blocked for everyone else).
thegaffer.project.create operators only, unless granted Creating projects. You become the project's lead.
thegaffer.project.admin operators only, unless granted Managing any project as if you were its lead. It also lets you transfer a job you do not own.

thegaffer.create is not limited to your own jobs. Anyone with it can stop, pause or manage any job on that server, so check the job's name before you act.

TheGaffer decides where building is allowed for every plugin that asks it, including Architect's building tools. See Architect building tools.

Starting a job

  1. Stand where the centre of the job should be. The centre (the job's warp) is where you stand when you press Create job.
  2. Type /createjob. /job create and /job start do the same. You cannot start a job while you are on one: you see You are already in the job <job> - leave or stop it before creating a new one.
  3. A form called Create a build job opens. Fill it in:
Field What to enter
Job name Up to 48 characters. Spaces become underscores. Required.
Short description Up to 128 characters. Shown in the start announcement and the Discord post.
Private (invite-only) Off by default. When on, only players you invite can join.
Build radius (blocks) A slider from 1 to 1000, default 50. The area is a square twice the radius across: radius 50 gives a 100 × 100 area. It covers every height.
Announce on Discord On by default. Posts the start and end of the job on MCME's Discord.
Project No project, or one of the active projects.
Glow outline for builders Off by default. Workers and helpers get a coloured outline.

Some fields only appear when the feature is on: the description and Discord fields depend on server settings, the project list only shows when an active project exists, and the glow switch only shows when glow is enabled.

  1. Press Create job. Press Cancel or Escape to stop; you then see Job creation cancelled. No job was created.

You see Created the <job> job! If the name was taken, the job gets a number instead: Name Gate was taken — created Gate-2 instead. A name counts as taken if a job with that name is running or has ever run on that server. Job names are case-sensitive, so builders must type them exactly. An empty name gives A job name is required — nothing was created.

When the job starts:

After the start you can still move the job's centre, change its radius, attach it to a project and hand it to another leader. You cannot change its name, description, private setting, Discord setting or glow. To change those, stop the job and start a new one.

Roles

Role Who What it means
Owner The person who started the job, or who took it over. Cannot /job leave. Hands the job over with /job transfer or ends it with /job stop. Can bring workers to them with /job teleport and /job teleportall.
Helper Staff added with addhelper, or a worker promoted with promote. Stays on the job while away. Can take the job over when the owner is away. Can use /job teleport and /job teleportall. Glows in the helper colour if the job glows.
Worker Anyone who joined. Builds inside the area while the job runs and is not paused. Is taken off the job after five minutes away from the server.

Most other staff commands on this page come from the thegaffer.create permission, not from the role. A helper without that permission can only use /job teleport and /job teleportall.

Build rights come from the worker list. A worker promoted to helper keeps building. The owner, and a helper added with addhelper, are not workers: they can build in the area only if they have thegaffer.ignoreprotection.

When the owner logs off

If the owner leaves the job's server, the job waits a few minutes. Then:

A job you paused yourself never resumes on its own.

Running a job

Command Permission What it does
/job stop <job> thegaffer.create Ends the job. Everyone on it sees The <job> job has ended. and goes back to Survival. The job moves to the archive and its statistics are saved.
/job pause <job> thegaffer.create Stops building without ending the job. Everyone on it sees <you> has paused the job.
/job unpause <job> thegaffer.create Lets building start again: <you> has unpaused the job.
/job manage [job] thegaffer.create A clickable panel listing the owner, helpers and workers, with Kick, Ban, Promote and Demote buttons. Without a job name it opens your own job.
/job transfer <helper> thegaffer.create Makes a helper the owner. You must be on the job and be its owner (or have thegaffer.project.admin). You become a helper.
/job teleport <player> owner or helper Brings one worker or helper of your job to you.
/job teleportall owner or helper Brings every online worker of your job to you, straight away.
/job listen thegaffer.create Warns you whenever someone tries to place or break a block outside a job: Listen <name> tried to place at <world> x,y,z. Run it again to stop. It does not survive a server restart.
/job prep thegaffer.create Stores your inventory and empties it, for example before you hand out items. Run it again to get your inventory back.
/job debug thegaffer.create Shows how many jobs are running, archived, and waiting for a new owner.
/job everyone Lists the job commands you can use.

The Kick, Ban, Promote and Demote buttons in /job manage act the moment you click. There is no confirm step.

/job prep keeps your stored inventory in the server's memory only. Get it back before you log off; a server restart always loses it.

Managing people and the area

All the actions below need thegaffer.create, and work on any running job on the server. There are two ways to run them.

Guided: type /jobadmin (or /job admin) on its own. The plugin asks in chat:

  1. What job would you like to modify? and lists the running jobs. Type the job's name.
  2. What action would you like to perform? and lists the actions. Type one.
  3. A follow-up question, such as the player's name.

Type !cancel at any point to stop. The questions also stop after a minute without an answer. While the questions run, what you type goes to them, not to chat.

One line: type the job, the action and its argument in one go:

/job admin <job> <action> [player]
/jobadmin <job> <action> [player]

For example, /job admin Gate-2 inviteworker Alice. Most actions answer Success: … in green or Failure: … in red; setwarp, teleportall and clearworkerinven answer Job Edited!.

Action What it does
inviteworker <player> Invites a player. They must be online. They get a message with an Accept button.
uninviteworker <player> Takes an invite back, and takes the player off the job if they had joined.
kickworker <player> Takes the player off the job, whatever their role. They see You were removed from the <job> job.
banworker <player> Takes the player off the job and stops them joining again. They see You were banned from the <job> job.
unbanworker <player> Lifts a ban.
addhelper <player> Adds a helper. They must be online, have thegaffer.create, not be banned, and not be on another job.
removehelper <player> Takes away the helper role. A promoted worker stays a worker.
promote <player> Makes a worker a helper. They keep building.
demote <player> Makes a helper a worker.
listworkers Lists workers and helpers, with who is online.
teleport <player> Brings one worker or helper to you.
teleportall confirm Brings every online worker to you. Without confirm it only explains.
setwarp Moves the job's centre to where you stand: the area, its edge and its statistics move with it, even into another world.
setradius <1-1000> Changes the radius: Job area radius set to 60 (a 120×120 area).
clearworkerinven confirm Empties the inventory of every online worker. Without confirm it only explains.

inviteworker, uninviteworker, kickworker, banworker and unbanworker accept several names separated by commas, without spaces: Alice,Bob.

clearworkerinven wipes every online worker's inventory at once and cannot be undone.

Private jobs and invites

Only invited players can join a private job. Others see <job> is private, and you are not invited. Invite players with inviteworker before or after they ask. An invited player gets <leader> has invited you to <job>. Accept; clicking Accept joins them.

Kicks and bans

Moving or resizing the area

setwarp and setradius change the area for everyone at once. Builders' particle walls follow straight away. Blocks already counted stay with the job.

Glow

If you switch on Glow outline for builders when you start the job, workers and helpers get a coloured outline in two different colours (by default purple for workers and aqua for helpers and the owner). It helps you see who is on your job. Glow is chosen at the start and cannot be changed later. It ends with the job.

Discord announcements

With Announce on Discord on, TheGaffer posts:

Projects

A project groups the jobs of one build, such as every job on Minas Tirith, and adds up their statistics. /pj is short for /project.

Who can do what:

Command Who What it does
/project create <name> thegaffer.project.create Creates a project. You become its lead.
/project list [status] anyone Lists projects with that status: active (the default), completed or archived.
/project info <name> anyone Status, description, goal, lead, managers, totals, top builders and the list of jobs.
/project setdescription <name> <text> lead or manager Sets the description.
/project setgoal <name> <text> lead or manager Sets the goal.
/project addmanager <name> <player> lead or manager Adds a manager.
/project removemanager <name> <player> lead or manager Removes a manager.
/project setlead <name> <player> lead Makes someone else the lead.
/project attach <name> <job> lead or manager Adds a job to the project, running or finished, with its statistics. If the job was in another project, it moves.
/project detach <job> lead or manager Takes a job out of its project.
/project complete <name> lead or manager Marks the project completed.
/project archive <name> lead or manager Archives the project.
/project reopen <name> lead or manager Makes the project active again.
/project announce <name> <message> lead or manager Sends Project <name> message in game to everyone online on the project's running jobs on your server.
/project export <name> lead or manager Writes the statistics of the project's finished jobs to a CSV file on the server.
/project delete <name> lead Deletes the project. Its jobs and statistics keep the name.

Good to know:

Exports

Command Permission What it does
/project export <name> project lead or manager A CSV of the project's finished jobs: one row per job and builder, with blocks placed and broken. If the project has no finished jobs you see Export failed — check server logs.
/job stats export thegaffer.create A CSV of every finished job's statistics.
/job stats export json thegaffer.create Rewrites the statistics feed file. The plugin also rewrites it after every job ends.

The files are written on the server, and the chat message gives the file name. Ask a server operator for a copy.