CampaignVersion 0.4Download Campaign on BukkitDev Campaign is a plugin that allows you to construct detailed quests and elaborate dungeons for your players. No programming experience is required as the plugin will turn your text files into memorable adventures. The plugin was designed from the very beginning to be as customizable as possible so that the only thing limiting mission designers would be their imagination. Campaign also features Heroes support. Heroes is not required to run, but if you have it installed and a mission allows multiple players to join, the players will automatically party up. More Heroes features are planned like experience rewards and class and level limits. Features Customizable and Creatable missions. Per mission settings: Control inventories, lives, and player counts with per mission settings. Phases: Missions can have multiple phases to split things up. Each phase can have multiple objectives Goals: Players on a mission can be given goals to complete. There are many types of goals that can have your players kill mobs, fetch items, press buttons, kill each other, and even protect whole villages. Tasks: Procedures you can specify to run during parts of a phase like teleport players, reward them with the price system, or start other phases. Lobbies: Missions always have a lobby that players join and ready up in before starting. Optionally lobbies can have a location that players are teleported to. Requestable assets: Procedures that activate themselves while a phase is using it and deactivate themselves when not being used. Examples of assets are mob spawners, redstone devices, and map restorers. Kits and Equipment: Groups of items your players can choose in a lobby. You can even initiate tasks that resupply players with items specifically for their kit. Documentation This plugin has a wiki. Beta To-Do list and Planned Features As always I release my plugins as soon as they are usable to collect feedback, suggestions, and find bugs. This plugin is usable, but is not fully fleshed out. Here are some of the major things planned and the versions they will come in. Synchronous Missions (Quests) (0.1) More Objectives (0.2) Assets (0.3) Equipment and kits (Give players armor, tools, items) (0.4) Quest cooldowns and user requests (0.5) Modified Mob types and waves(0.6+) More tasks, goals, and assets (0.7)+ Changelog Not currently compatible with LegendaryItems or Imprison WARNING If you have declared locations or goals in the assets folder, you will need to move them to .yml files into the "locations" and "goals" folder. Additions: You can now specify the price required to join a mission New Command "Campaign" or "ca" for short. Gives plugin info and command help. The reload, debug, and mark commands were moved here. New Mission subcommand: "/mission info <mission name>" - gets configurable info on that mission and the join price You can disable information gathering on missions through the info command You can configure what the info command says for each mission When all players in a lobby are ready, they are given three seconds to unready before the mission starts New Tasks that do the following Spawns mobs at a location Toggles a redstone lever Ensures a redstone lever is set to either on or off (Your choice) Sends a button-like signal from a lever Changes a block at a location Adds a price amount to a mission reward pool. The reward pool is split by surviving players if the mission is won. Immediately gives the players a reward Performs tasks after a specified amount of time New Goals that require you To protect a village. If a certain amount of villagers die within an area, the goal is failed. Can also restore doors broken by zombies Destroy spawned ender crystals New "requestable" assets that are activated and deactivated by phases and can perform the following functions: Redstone Clock - alternates between on and off. Redstone Pulsar - repeatedly sends pulses. Redstone Source - Turns on when in use, off when not. Accomplishes the same function as two SetLever Tasks but is easier to use. A vanilla mob spawner THAT will appear only when activated. Follows vanilla spawner code. An invisible mob spawner that is much more configurable than the vanilla mob spawner. Specified tasks will run periodically while a phase is running will restore doors broken by zombies in an area. will restore destroyed endercrystals in an area. Changes: KILLSPAWNEDMOBS attribute "location asset" changed to "location" (defining the location works like anywhere else) Location containers will need to be moved to a locations folder Goal assets will need to be moved to a goals folder ADDREWARD paramater "amount" replaced with "reward". 'amount' still works for now, it is recommended you change this. the reload, debug, and mark subcommands have been moved to the new campaign command /campaign the tasks STARTPHASE,CALLPHASE, and CALLRUNNINGPHASE and PROMPTGROUP now accept lists of strings to allow easier use. Fixes Fixed /ca mark saving things in a "project delve" folder (left over from alpha). Fixed SETRESPAWN Fixed the message "You have been set to ready" showing up after the first mission prompt Removed Reloading individual missions. This was removed due to internal complexity, being difficult to maintain, and currently shortcomings. Major Internal Library Changes Vault is now optional for users who don't have an economy or permission plugin - If vault is not present A permissions plugin is now optional. If vault or a permissions plugin is not present it uses superperms and OP to check permissions. An economy plugin is now optional. If vault or an economy plugin is not present. It disables the money price option, meaning you cannot charge or give economy currency to players. If heroes is not present, the Heroes experience rewards will not register as a valid price Major internal improvements to the price system Developers can create their own price. There will be a guide soon. Additions New Phase setting "briefing". If set to true it tells players details about objectives. false by default Some goals can now be failed triggering the onFailure tasks. Any objective that asks for an "amount" can be set to "RANDOM". You can specify a maximum and/or minumum amount that the plugin will respect when it generates a random number. It will default to 1 to 10. New Assets GOAL - you can declare a goal object. This can be used by different phases or missions. RANDOMGOAL - you can declare several goals and it will choose randomly from them when the plugin is loaded. New Goal/Objective Types ASSET - Specify the "asset name" of either a GOAL or RANDOMGOAL asset. If you pick a RANDOMGOAL asset, it will randomly choose a goal on start up. RANDOM- Specify the "asset name" of a RANDOMGOAL asset, and it will pick randomly from that assets list of goals each time the mission is run. BREAKBLOCKS - players must destroy a certain amount of blocks PLACEBLOCKS - players must place a certain amount of blocks FETCHITEM - Players must right-click the block at the specified location and deposit a specified amount of blocks PLAYERSURVIVING - Recommended Multiplayer only. If the amount of players falls below this amount, it will result in failure. PROTECTRANDOMPLAYER - Recommended Multiplayer only. Letting the randomly chosen player die once results in failure. KILLSPAWNEDMOBS - Players must kill an amount of spawned mobs of a specified type to continue ELIMINATEPLAYERS - Multiplayer only. Players in the group must kill each other until the amount of surviving players is less than or equal to the specified amount. TRAITOR - Multiplayer only. A random player in the group is chosen as the "Traitor", and the player is notified of this. The rest of the group is told that they must kill the traitor to continue, but they are not told who the traitor is. TRIMPLAYERS - Multiplayer only. Players in the group must kill each other until the amount of surviving players meets the specified amount. Killing too many will result in failure. HEALTHPOOL - Players cannot lose more than a certain amount of health. Internally is practically two seperate goals. If heroes is present, it will detect skill damage and modified weapon damage. LIFEPOOL - Players cannot lose more than a certain amount of lives. MANAPOOL - Heroes only. Players cannot lose more than a certain amount of mana. New Command Tasks Command task requires a "command" string. If you put %player% in the command string, it will substitute in the player's name CONSOLECOMMAND - performs a command from the console. Performs the command for each player if you add %player%. PLAYERCOMMAND - performs a command as if the player entered it. Does this for each player. Fixes All players in a multiplayer lobby have to be ready to start RELEASEGROUP releases everyone instead of one person Quitting a mission no longer multiplies rewards Missions can no longer end several times internally. Clear mission inventory option removes armor When players die in missions it now says "died during mission:" not "died during test". This was leftover from alpha testing Changes All players running out of lives no longer triggers onFailure tasks. The help screen no longer says "Project Delve." This was leftover from alpha testing. Comments Please do not post bug reports on this page. Please make a ticket instead. Feel free to post questions or suggestions here or on the forums.