AdventurePlugin
AdventurePlugin
AdventurePlugin is a plugin for bukkit that handles the creation and playing of adventure type maps. Adventure maps are lacking in SMP due to most adventure maps being only able to be played through one time before needing to reset the world. That is where this plugin comes in. This plugin adds two new features to make the creation and playing of adventure maps easier.
Adventure Team
The first new feature is the Adventure Team. An Adventure Team consists of a name, a leader and a variable number of teammates. Teams are used to create a group of players who want to play together on adventure maps. Only the leader is allowed to choose the adventure the team will play. Players are free to join and leave the team at any time but if it is during an adventure the player will be removed from the adventure upon leaving the team. A team must be created to join any adventure map.
Adventure
The second new feature is the Adventure. An Adventure consists of a name, and a single world that serves as a template. When a team joins an Adventure, the template is cloned to create a unique world specifically for the team to play on. When the team leaves the adventure it is unloaded and destroyed. This leaves the template world untouched and removes the need to reset adventure worlds with each play through. Inventories are also cleared upon entering an Adventure and restored when the player or team leaves.
Defining Adventures
Adventures in version 2.1.1+ are defined in separate zip files located in the "adventures" directory located in the plugins data folder. Each adventure must follow a specific file structure in order to be considered valid. This file structure is as follows
/ adventure.yaml maps/ (Zipped worlds)
Adventure.yaml is a yaml file that is used to describe the adventure. It's structure is as follows
# Name of the adventure name: "Example_Adventure" # [Required] worlds: # The world type that is used as the entry world # for this adventure. # Ex. # entry: "NETHER" # Will use the world with the type "NETHER" as the entry world for this adventure entry: "NORMAL" # [Required] # One or more of the following sections # Valid values for keys are "NORMAL", "NETHER", "END" NORMAL: # Name of the world. This is used to locate the world zip file in the maps directory. # Ex. # name: "world" # Will use the world found at "/maps/world.zip" name: "world" #[Required]
Savvy readers will notice that you can define multiple worlds as part of an adventure. You may be wondering does that mean multi-world adventures can be used. The answer is yes. Nether and end portals will correctly link to the correct worlds of the correct environment. This means a nether portal will link to the world that is specified of type NETHER and end portals will link to the world that is specified as type END. If a world is not defined with the correct type it will not allow the portal to be used.
The maps directory is where all of the required worlds must be zipped up and placed. They will be extracted when a team joins an adventure and loaded.
Commands
([] - Required, () optional)
Team Commands
- /adventure team create [team_name] - Creates a new group with the given name
- /adventure team join [team_name] - Joins the team with the given name
- /adventure team leave - Leaves the current team
- /adventure team list - Lists all current teams
- /adventure team info (team_name) - Gets info about the team with the given name or the team the player is in
Adventure Commands
- /adventure start [adventure_name] - Joins the Adventure with the given name. Only team leaders can use this command
- /adventure stop - Stops the current Adventure. Only team leaders can use this command
- /adventure list - Lists all available Adventures and the number of teams playing them
- /adventure info (adventure_name) - Gets info about the Adventure with the given name or the adventure the player is playing
Permissions
There are currently no permissions for this plugin
Example Config
# This world is the world that players will be teleported # to after they leave an adventure. # Defaults to "world" lobby-world: "world"
The only config option displayed in the example is "lobby-world". This option is used to define a world that players are moved to after leaving an Adventure.
Please post all issues or feature requests on the Github page for this plugin.
I forked the project, and I think I got this to work.
Abandoned?
@smith_61
Any more development on this? Would really like to add this to our server.
Thanks
@LHammonds
Ya, I admit the initial design was poor, really poor. All of those reasons you talked about are planned to be changed in the next version. I have recently left my previous job and returned to school. The past week has been hectic, with move in and all that fun stuff, but life is returning to normal and I have begun to redesign the whole plugin from scratch. It's way past the point of refactoring. I'll post an initial design doc/readme in the coming week that you can review and provide input on.
Thanks for creating and sharing this plugin. There are not many functional options for server operators that want to host various adventure maps. I have tried quite a few and "almost" get a working solution but there is always something that does not work quite right and causes me to continue looking elsewhere for a solution. (Multiverse Adventure, AdventCore, WorldEdit snapshots)
For adventure maps that can port directly over to a server, this seems to be a good solution. But it will not work for me because I tailor the adventure maps to replace the singleplayer for a multiplayer aspect as well as try to build the authors rules as part of the map gameplay rather than just "hoping" people will follow the rules.
As I evaluated this plugin for my own use, I took some notes and thought I would share.
I think what is tripping people up when they first try to configure the plugin is that the end result is a zip file that contains zip files as well as the "config" file ends in .yml but the adventure files end in .yaml
The file structure looks like this:
Lets say "adventure1.zip" contains a single world. This is the contents of that archive if you open it up:
If you open up the "world.zip" file inside the "adventure1.zip" file, this is what the contents would look like:
Let's say "adventure2.zip" contains multiple worlds. This is the contents of that archive if you open it up:
If you open up the "world.zip" file inside the "adventure2.zip" file, this is what the contents would look like:
If you open up the "world_nether.zip" file inside the "adventure2.zip" file, this is what the contents would look like:
Issues I found:
- NOTE: For this to work, it obviously means only 1 team could play 1 specific adventure map at a time which is NOT the design of this plugin.
- Use of WorldGuard to prevent TNT explosion damage
- Use of WorldGuard to prevent placing of blocks
- Use of ServerSigns to allow right-clicking of signs to give each player items (but only 1 time)...to make it multi-player friendly whereas singleplayer just made use of chests.
- Use of ServerSigns to allow right-clicking of signs to display URLs (such a links to videos)
- Use of WGCustomFlags and WGBlockRestricter to allow placement of torches and redstone torches
Thanks,
LHammonds
@yoloblazeit
That is intentional, It is to keep the amount of information needed for large servers at a minimum. Only the adventures currently being played are kept in memory and all other adventures where no more players remain are dropped. Sadly the worlds do remain on disk due to race conditions that I don't have full control over. Eventually I may add options for long term maps which can be resumed some way but as of right now I work 60 hour weeks and don't have much, if any time, to work on projects.
Please Make a Tuto ! Cuz I really need this plugin !
Thanks
@smith_61
Fantastic plugin. There aren't any plugins on Bukkit where folks can create an adventure map. I'll admit it's less than entertaining to venture through an area with looted chest (maybe with the occasional redstone or arrow in its contents).
There are two problems I've encountered while testing this plugin. I create a new adventure, play, logout, and login to the world spawn point...not to my adventure. I can't return to my adventure map! I try rejoining group (failed - it says I'm not on an adventure team).
So, I create a new adventure team and a new adventure. I set a warp point, and can return to/from using warps. The problem is the first adventure map I created still exists on my server and I can't delete it unless I delete the map from the server!
@smith_61
Is there a video tutorial on this?
Could you make one on taking a downloaded map and making it readable
@SpecOpsOwnrOFCOPCRAFTMINIGAMES
Yes. You just need to zip up the adventure world and place it in the /maps/ subfolder. Then provide an adventure.yaml file in the root directory as detailed above. Then zip up the contents and place it into the /adventure subfolder of the plugin's data directory.
@smith_61
Is it possible to download an adventure map and put it in that format?
@SpecOpsOwnrOFCOPCRAFTMINIGAMES
Did you look at the example? You need to provide adventures in that format. Adventures don't have to be a single world like in the example adventure where there are two worlds. To my knowledge there are no pre-made adventures for vanilla minecraft that come in this format.
As the description above states WORLDS must be zipped up and put into the /maps/ subfolder of an ADVENTURE zip file. There is a difference between worlds and adventures. Worlds are what are actually loaded for a player to move and play in. An Adventure is a set of worlds and rules that define a how the worlds are loaded.
Edit: To avoid confusion, changed map to world.
@smith_61
Whenever I download a map that stuff aint there.
Anyway I can add it?
@SpecOpsOwnrOFCOPCRAFTMINIGAMES
That's the most complete way to present it. Short of creating it for you, which albeit should be a feature in the plugin, that is about the simplest way to present it too. Here is an example though that should show you what you need
https://dl.dropboxusercontent.com/u/19977649/AdventurePlugin/ExampleAdventure.zip
@smith
Explain it in a non-confusing way
@smith_61
It's really confusing O_o
@SpecOpsOwnrOFCOPCRAFTMINIGAMES
Read the section labeled Defining Adventures in the plugin description above. It tells you how to do it.
@smith_61
What I am not getting is:
I want to download the maps off mcforums.
But I don't understand how to make it so the plugin understands it.
I need you to explain it.
@SpecOpsOwnrOFCOPCRAFTMINIGAMES
This plugin does not include any adventure maps. You must create the adventures yourself and put them in the format the plugin understands
This is the problem i'm having.
I go to my folders/files like this
/>plugins>AdventurePlugin
Then there is only a folder in there called Adventures
I open it
"This folder is empty"