[TP][FUN] Gateways 0.1 (BETA TESTING)

Discussion in 'WIP and Development Status' started by 2n3904, Dec 20, 2011.

  1. Offline

    2n3904

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    [​IMG]

    NOTICE: BETA TESTING
    Gateways is currently in the final stages of development. You are welcome to try out gateways, but be warned there may be bugs so do not rely on it as something you can offer to players without risk of having to start over again when the plugin actually gets released. If you do try out gateways, please PLEASE let me know of any bugs you find (post them here). Also, equally helpful are any suggestions as far as new features or changes to existing ones!


    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 player’s 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.


    NOTE: I'll try to make a video soon, videos are worth 1,000,000,000 words

    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 gate’s 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 player’s location (auto-rotated in the player’s 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 there’s 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.

    Backup System:
    Gateways protects your gate/network save file by creating a backup of it if it ever encounters an error while loading it on server restart/reload. Gateways will load all the gates and networks that it can and disregard the rest. If you want to try and retrieve the corrupted gates/networks, you can take a look at the backup file and try to fix & copy the corrupted saves. Backup files include a list of all the gates/networks it was unable to load attached to the beginning as comments.

    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 can’t 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 can’t 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 gate’s 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 network’s 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’

    C h a n g e l o g

    12/14/11 TEMPLATE
     
  2. Offline

    Karlkorv

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    First!
     
  3. Offline

    2n3904

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    ...Congrats, haha.

    More beta testers there are reporting back to me, the quicker I can get this plugin to a proper release! I'm hoping to get a BukkitDev set up soon but they are moving slow.

    Known Issues:
    - Gates linking to networks they shouldn't link to on reload
    - Non-uniform formatting of prices

    Also, please let me know what you find confusing about this plugin. It will likely take a little bit of time to get used to using it but once you do, it's pretty easy. I'll try to write up a "getting started" guide sometime soon.
     
  4. Offline

    BioBG

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Can you make a video tutorial how to use this plugin ?
     

Share This Page