---------------------------
 G A T E W A Y S      V0.1
---------------------------

D e s c r i p t i o n

Gateways is a uniquely featured custom portal plugin for Bukkit. Gateways lets players create nether-style portals anywhere, in any shape, link them to custom networks, and use them to 
connect to other players gates! Players can customize their networks and portals, whitelist them, password protect them, toll them for profit... By linking your networks to other players 
networks, the possibilities for travel are endless! Gateways is designed for a temporary gate connection system  players open links between two gates for a short period of time, and 
travel around the world by hopping through chains of gates. For example, getting from gate A to gate B may require you to connect A-C first, then C-B.

Gateways can be used in many ways The main vision behind gateways is as a player driven system where players collect materials to construct their own gates for easy transportation between 
their projects, mines, friends, and important server locations! However, gateways can also be used by admins to set up a static system of portals that players cannot edit but can use for 
transportation. For example, admins can set up and manage a system of gates to link together the main cities in their worlds, and work with players to add gates to start-up towns.

F e a t u r e s

Choose Your Frame:
Gateways allows any closed 2D border to be used as a gate frame. Gates are creating by standing in the center of your frame and typing /gate create <name>. Gates will disable when the 
frame gets damaged or destroyed.

Highly Configurable:
Gates and networks both have a set of player-configurable flags which determine the gates behavior and requirements for usage. Additionally, gates and networks have a three-level 
membership tier which allows gate owners to control how other players can access their gate.

Material/Monetary Cost:
Gateways allows admins to require players to pay for creating gates and networks. This payment can include both plugin currency (using Vault) and any combination of minecraft items. By 
placing construction costs on gates, you can make them essentially craft-able items! Force players to hunt down rare materials for the reward of constructing their own gates.

Gate Schematics:
As an alternative to dynamic frames, Gateways also allows admins to define special gate templates which are essentially schematic files of gate frames. This feature will disable all 
gates which do not match your defined gate frame, so if the frame ever gets damaged from the template, players will have to repair it correctly to get it working again. Essentially, this 
mirrors how nether portals are made except that you get to choose what they are supposed to look like! Gate frames are only defined by any non-air blocks in your schematic (air blocks in 
your schematic will not be copied over or considered in checking if your frame is valid), so you can make abstract frames that can fit smoothly into any landscape. Additionally, gate 
schematics are auto-rotated to the facing of the player attempting to create a gate. You can also make it so that creating a gate automatically copies over the schematic to the players 
location (auto-rotated in the players orientation, of course).

Gate Animations:
Gate open and close animations are configurable to a variety of different types, including: expand (portal blocks change from center out), contract (portal blocks change from frame to 
center), flicker (portal flickers randomly and settles into final state), or plain (instant on/off).

Ease of Use:
Gateways has a command set designed to be extremely powerful yet painless to use. Normal usage of the gate system will typically only require players to use two commands: /gate open 
<destination> and /gate map. Targeting a gate is extremely easy thanks to a smart auto-match feature for gate and network names. For example, to target a gate called City of the Gods, 
all you have to type in is gods and Gateways will make the best guess for you. Any tolled connections you try to make will always ask for confirmation before opening the gate, so theres 
no chance of costly mistakes. Additionally, Gateways has error messages for virtually every type of error you might encounter when building, linking, or connecting gates which helps you 
pinpoint exactly why your connection or command did not work. And finally, gateways offers a powerful gate/network search feature with a large number of optional filters so you can easily 
zero in on some gate/network with particular characteristics.

N e t w o r k s

Networks are the heart of Gateways. Networks are essentially gate channels. Gates can be linked to networks, and once linked, they will become available for connections to all other 
gates in the network. Also, all the gates in the network will become available for connections from your gate. Gates can be linked to multiple networks at a time, each additional network 
simply expanding the number of gates you can access. Limits on network links can be set in config to force players to have multiple gates for different networks. The number of gates 
allowed in a network can also be limited.

F l a g s

Once a player creates their gate, they can set a variety of options (flags) for their gate that determines its behavior. Networks also have a few of their own flags. Some of these flags 
are similar to gate flags, and basically expand a gate flag over a whole network. Flags have a cumulative effect. This means that if you make a connection between gate A and B over network 
N, and all three are password protected, then you will have to enter three different passwords in order to make the connection. If all three are tolled, then the total price of connection 
will be the sum of the prices of A, B, and N.


Gate Flags:
USABLE Determines if gate can be used as outgoing gate (TRUE/FALSE)
RETURN Allows travelling back when used as receiving gate (TRUE/FALSE)
VISIBLE Determines if gate can be used/seen for incoming connections (TRUE/FALSE)
LOCAL Determines if gate can be used/seen for local connections (TRUE/FALSE)
LOCK Locks gate so it cant be used at all (for temporary disabling) (TRUE/FALSE)
PRICE Determines the price of using the gate in a connection (DOUBLE)
TIER Determines tier of gate (can only connect to gates of equal or lesser tier) (INTEGER)
PASSWORD Sets a password for connecting to the gate (STRING)
WHITELIST Determines if the usage of the gate is whitelisted by USER* list (TRUE/FALSE)
Network Flags:
LOCK Locks network so it cant be used at all (for temporary disabling) (TRUE/FALSE)
MULTIWORLD Determines if network can be used between worlds (TRUE/FALSE)
PASSWORD Sets a password for connecting with the network (STRING)
PRICE Determines the price of using the network in a connection (DOUBLE)
WHITELIST Determines if the usage of the network is whitelisted by USER* list (TRUE/FALSE)
PUBLIC Determines if linking gates to network requires MEMBER* status (TRUE/FALSE)

*See Gate Permissions for more details

C o n n e c t i o n s

Once everything is set up, the player can use their gate. The player can view the list of gates they can access with their gate, see the price of connections, and see the details of each 
gate and network associated with the gate by using /gate map. They can also try to plot out a course to another gate using /gate route which will attempt to calculate the optimal 
series of gate jumps needed to get to a destination, if possible. Once they decide on a destination, they can open a connection using /gate open <destination>. If a password is required, 
they will be prompted to enter one. If a toll is required (the sum of the tolls of both gates and the network linking them), it will ask for confirmation. If all checks out, the gate will 
open for a certain amount of time defined in configuration, and any tolls involved will be subtracted from the user and divided up into the accounts of the owners of the individual gates 
and the network.

G a t e P e r m i s s i o n s

Gateways has a hierarchal system for determining who can do what with specific gates and networks. There are three levels of membership: Owner, Member, and User. Owners inherit member 
abilities, and members inherit user abilities.

Users only apply to gates which have a whitelisted flag set. The users are the players that can use the gate/network while it is whitelisted. Members are players who have the ability to 
edit links between gates and networks (providing they are members of both). And finally owners have the ability to edit flags and delete the gate/network.

This three-level system of membership allows precise control over how your gates are used and shared. By using the whitelist feature, you can choose which players are allowed to activate 
your gate and travel through it. By using the membership feature, you can let other players use your gate as a link in their networks or use your network to link to their gates. And by 
sharing ownership, you can share in the responsibility of managing a gate/network and in the revenue that you get from it.

C o m m a n d s

Gate Commands:
/gate open <gate> <destination> Opens a connection between gates
/gate <create/delete> <gate> Creates or deletes gate by given name
/gate <link/unlink> <gate> <network> Links or unlinks a gate from given network
/gate <addmember/removemember> <gate> <player> <member group> Adds/changes player to member group, or removes player from gate membership
/gate flag <gate> View the status of all a given gates flags
/gate flag <gate> <flag type> <setting> Adjust a flag on a gate
/gate map <gate> View a list of all of the gates visible from given gate
/gate info <gate> View the basic information about the given gate
/gate search <filters**> <page number> Search for a gate based on given filters (see below)
/gate route <gate> <gate destination> Attempts to find a route between the two gates. Can be repeated to keep finding different routes.
/gate schematic <x1> <y1> <z1> <x2> <y2> <z2> <name> Saves a given region bounded by points 1, 2 to a gate schematic file
/gate paste <filename> Pastes the gate schematic from the given filename at current location
Network Commands:
/net <create/delete> <network> Creates or deletes a given network
/net <addmember/removemember> <gate> <player> <member group> Adds/changes player to member group, or removes player from network membership
/net info <network> View the basic information on the given network
/net flag <network> View the status of all a given networks flags
/net flag <gate> <flag type> <setting> Adjust a flag on a network
/net search <filters**> <page number> Search for a network based on given filters (see below)
Misc Commands
/gateways View info on plugin

* All variables labeled <gate> can be omitted and Gateways will instead try to use the closest gate in range of the player.
** Filters are entered using the syntax <filter>:<parameter>. Valid filters are o (has given owner), m (has given member), u (has given user), w (is in given world), l (local to given 
gate), n (linked to given network), g (linked to given gate). For example, to find all gates owned by the player Bob, type /gate search o:Bob

D o w n l o a d s

12/20/11 Gateways 0.1 BETA [Available soon]

C h a n g e l o g

12/14/11 TEMPLATE