240 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			240 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
=============
 | 
						|
 Description
 | 
						|
=============
 | 
						|
This is a port of the Stargate plugin from hMod.
 | 
						|
Create gates that allow for instant-teleportation between large distances. Gates can be always-open, or triggered, they can be hidden, or accessible to everybody, they can share a network, or they can be split into clusters.
 | 
						|
This port will import your existing locations.dat file from the hMod Stargate plugin!
 | 
						|
iConomy support added back in, only costs are create, destroy and use.
 | 
						|
 | 
						|
=============
 | 
						|
Known Issues
 | 
						|
=============
 | 
						|
Hmm.. None?
 | 
						|
 | 
						|
=============
 | 
						|
 Permissions
 | 
						|
=============
 | 
						|
 - stargate.use - Allow this player/group to use stargates.
 | 
						|
 - stargate.create - Allow this player/group to create new stargates.
 | 
						|
 - stargate.create.personal - Allow this player/group to create new stargates on a network defined as their name.
 | 
						|
 - stargate.destroy.all - Allow this player/group to destroy any existing stargate (Replaces stargate.destroy)
 | 
						|
 - stargate.destroy.owner - Allow this player/group to destroy any stargate that they are the owner of.
 | 
						|
 - stargate.hidden - Allow this player/group to see all hidden stargates.
 | 
						|
 - stargate.private - Allow this player/group to use all private stargates.
 | 
						|
 - stargate.free.use - This player/group is not charged to use gates even if the gate has a cost.
 | 
						|
 - stargate.free.create - This player/group is not charged to create gates even if the gate has a cost.
 | 
						|
 - stargate.free.destroy - This player/group is not charged to destroy gates even if the gate has a cost.
 | 
						|
 - stargate.world.{worldname} - Allow this user/group access to gates on the world {worldname}
 | 
						|
 - stargate.network.{networkname} - Allow this user/group access to the network {networkname}
 | 
						|
 - stargate.option.hidden - Allow this user/group to create hidden gates.
 | 
						|
 - stargate.option.alwayson - Allow this user/group to create always-on gates.
 | 
						|
 - stargate.option.private - Allow this user/group to create private gates.
 | 
						|
 - stargate.option.free - Allow this user/group to create free gates.
 | 
						|
 | 
						|
=============
 | 
						|
Instructions
 | 
						|
=============
 | 
						|
Building a gate:
 | 
						|
    OO 
 | 
						|
   O  O - These are Obsidian blocks. You need 10.
 | 
						|
   O  O - Place a sign on either of these two blocks of Obsidian.
 | 
						|
   O  O
 | 
						|
    OO
 | 
						|
 | 
						|
Sign Layout:
 | 
						|
 - Line 1: Gate Name (Max 12 characters)
 | 
						|
 - Line 2: Destination Name [Optional] (Max 12 characters, used for fixed-gates only)
 | 
						|
 - Line 3: Network name [Optional] (Max 12 characters)
 | 
						|
 - Line 4: Options [Optional] ('A' for always-on fixed gate, 'H' for hidden networked gate, 'P' for a private gate, 'F' for a free gate)
 | 
						|
 | 
						|
Options:
 | 
						|
The options are the single letter, not the word. So to make a private hidden gate, your 4th line would be 'PH'.
 | 
						|
 | 
						|
Using a gate:
 | 
						|
 - Right click the sign to choose a destination.
 | 
						|
 - Right click the button to open up a portal.
 | 
						|
 - Step through.
 | 
						|
 | 
						|
Fixed gates:
 | 
						|
 - Fixed gates go to only one set destination.
 | 
						|
 - Fixed gates can be linked to other fixed gates, or normal gates. A normal gate cannot open a portal to a fixed gate however.
 | 
						|
 - To create a fixed gate, specify a destination on the second line of the stargate sign.
 | 
						|
 - Set the 4th line of the stargate sign to "A" to enable an always-open fixed gate.
 | 
						|
 | 
						|
Gate networks:
 | 
						|
 - Gates are all part of a network, by default this is "central".
 | 
						|
 - You can specify (and create) your own network on the third line of the sign when making a new gate.
 | 
						|
 - Gates on one network will not see gates on the second network, and vice versa.
 | 
						|
 - Gates on different worlds, but in the same network, will see eachother.
 | 
						|
 
 | 
						|
Hidden Gates:
 | 
						|
 - Hidden gates are like normal gates, but only show on the destination list of other gates under certain conditions.
 | 
						|
 - A hidden gate is only visible to the creator of the gate, or somebody with the stargate.hidden permission.
 | 
						|
 - Set the 4th line of the stargate sign to 'H' to make it a hidden gate.
 | 
						|
 
 | 
						|
iConomy Support:
 | 
						|
 The latest version of Stargate has support for iConomy. Gate creation, destruction and use can all have different costs associated with them. You can also define per-gate layout costs. The default cost is assigned in the config.yml file, while the per-gate costs re defined in the .gate files. To define a certain cost to a gate just add these lines to your .gate file:
 | 
						|
usecost=5
 | 
						|
destroycost=5
 | 
						|
createcost=5
 | 
						|
toowner=true
 | 
						|
 | 
						|
==============
 | 
						|
Custom Gate Layout
 | 
						|
==============
 | 
						|
You can create as many gate formats as you want, the gate layouts are stored in plugins/Stargate/gates/
 | 
						|
The .gate file must be laid out a specific way, the first lines will be config information, and after a blank line you will lay out the gate format. Here is the default nether.gate file:
 | 
						|
 | 
						|
portal-open=90
 | 
						|
portal-closed=0
 | 
						|
X=49
 | 
						|
-=49
 | 
						|
 | 
						|
 XX 
 | 
						|
X..X
 | 
						|
-..-
 | 
						|
X*.X
 | 
						|
 XX 
 | 
						|
 | 
						|
portal-open/closed are used to define the material in the gate when it is open or closed. 
 | 
						|
"X" and "-" are used to define block "types" for the layout (Any single-character can be used, such as "#").
 | 
						|
In the gate format, you can see we use "X" to show where obsidian must be, "-" where the controls (Button/sign) are.
 | 
						|
You will also notice a "*" in the gate layout, this is the "exit point" of the gate, the block at which the player will teleport in front of.
 | 
						|
 
 | 
						|
==============
 | 
						|
Configuration
 | 
						|
==============
 | 
						|
default-gate-network - The default gate network
 | 
						|
not-selected-message - The message when no destination is selected
 | 
						|
portal-destroy-message - The message when a gate is destroyed
 | 
						|
portal-create-message - The message when a gate is created
 | 
						|
not-owner-message - The message when you aren't allowed to push the gate button
 | 
						|
other-side-blocked-message - The message when the gate you're dialing is open
 | 
						|
teleport-message - The message when you are teleported
 | 
						|
portal-folder - The folder your portal databases are saved in
 | 
						|
gate-folder - The folder containing your .gate files
 | 
						|
destroyexplosion - Whether to destroy a stargate with explosions, or stop an explosion if it contains a gates controls.
 | 
						|
useiconomy - Whether or not to use iConomy
 | 
						|
createcost - The cost to create a stargate
 | 
						|
destroycost - The cost to destroy a stargate (Can be negative for a "refund"
 | 
						|
usecost - The cost to use a stargate
 | 
						|
not-enough-money-message - The message displayed if a player lacks money to do something
 | 
						|
networkfilter - Whether or not to disallow users access to a network if they don't have the 'stargate.network.{networkname}' permission.
 | 
						|
worldfilter - Whether or not to disallow users access to a network if they don't have the 'stargate.world.{worldname}' permission.
 | 
						|
toowner - Whether the money from gate-use goes to the owner or nobody
 | 
						|
 | 
						|
=============
 | 
						|
  Changes
 | 
						|
=============
 | 
						|
[Version 0.4.2]
 | 
						|
 - Gates can't be created on existing gate blocks
 | 
						|
[Version 0.4.1]
 | 
						|
 - Sign option permissions
 | 
						|
 - Per-gate iconomy target
 | 
						|
 - /sg reload command
 | 
						|
 - Other misc fixes
 | 
						|
[Version 0.4.0]
 | 
						|
 - Carts with no player can now go through gates.
 | 
						|
 - You can set gates to send their cost to their owner.
 | 
						|
 - Per-gate layout option for "toOwner".
 | 
						|
 - Cleaned up the iConomy code a bit, messages should only be shown on actual deduction now.
 | 
						|
 - Created separate 'stargate.free.{use/create/destroy}' permissions.
 | 
						|
[Version 0.3.5]
 | 
						|
 - Added 'stargate.world.*' permissions
 | 
						|
 - Added 'stargate.network.*' permissions
 | 
						|
 - Added 'networkfilter' config option
 | 
						|
 - Added 'worldfilter' config option
 | 
						|
[Version 0.3.4]
 | 
						|
 - Added 'stargate.free' permission
 | 
						|
 - Added iConomy cost into .gate files
 | 
						|
[Version 0.3.3]
 | 
						|
 - Moved sign update into a schedule event, should fix signs
 | 
						|
[Version 0.3.2]
 | 
						|
 - Updated to latest RB
 | 
						|
 - Implemented proper vehicle handling
 | 
						|
 - Added iConomy to vehicle handling
 | 
						|
 - Can now set cost to go to creator on use
 | 
						|
[Version 0.3.1]
 | 
						|
 - Changed version numbering.
 | 
						|
 - Changed how plugins are hooked into.
 | 
						|
[Version 0.30]
 | 
						|
 - Fixed a bug in iConomy checking.
 | 
						|
[Version 0.29]
 | 
						|
 - Added iConomy support. Currently only works with iConomy 4.4 until Niji fixes 4.5
 | 
						|
 - Thanks @Jonbas for the base iConomy implementation
 | 
						|
[Version 0.28]
 | 
						|
 - Fixed an issue with removing stargates during load
 | 
						|
[Version 0.27]
 | 
						|
 - Fixed portal count on load
 | 
						|
[Version 0.26]
 | 
						|
 - Added stargate.create.personal for personal stargate networks
 | 
						|
 - Fixed a bug with destroying stargates by removing sign/button
 | 
						|
[Version 0.25]
 | 
						|
 - Fixed a bug with worlds in subfolders
 | 
						|
 - Fixed gates being destroyed with explosions
 | 
						|
 - Added stargate.destroy.owner
 | 
						|
[Version 0.24]
 | 
						|
 - Fixed a loading bug in which invalid gates caused file truncation
 | 
						|
[Version 0.23]
 | 
						|
 - Added a check to make sure "nethergate.gate" exists, otherwise create it
 | 
						|
[Version 0.22]
 | 
						|
 - Fixed multi-world stargates causing an NPE
 | 
						|
[Version 0.21]
 | 
						|
 - Code cleanup
 | 
						|
 - Added a few more errors when a gate can't be loaded
 | 
						|
 - Hopefully fixed path issue on some Linux installs
 | 
						|
[Version 0.20]
 | 
						|
 - Fixed the bug SIGN_CHANGE exception when using plugins such as Lockette
 | 
						|
[Version 0.19]
 | 
						|
 - Set button facing on new gates, fixes weirdass button glitch
 | 
						|
 - Beginning of very buggy multi-world support
 | 
						|
[Version 0.18]
 | 
						|
 - Small permissions handling update.
 | 
						|
[Version 0.17]
 | 
						|
 - Core GM support removed, depends on FakePermissions if you use GM.
 | 
						|
[Version 0.16]
 | 
						|
 - Fixed Permissions, will work with GroupManager, Permissions 2.0, or Permissions 2.1
 | 
						|
 - Left-clicking to activate a stargate works again
 | 
						|
[Version 0.15]
 | 
						|
 - Built against b424jnks -- As such nothing lower is supported at the moment.
 | 
						|
 - Moved gate destruction code to onBlockBreak since onBlockDamage no longer handles breaking blocks.
 | 
						|
 - Removed long constructor.
 | 
						|
[Version 0.14]
 | 
						|
 - Fixed infinite loop in fixed gates.
 | 
						|
 - Fixed gate destination will not open when dialed into.
 | 
						|
[Version 0.13]
 | 
						|
 - Fixed gates no longer show in destination list.
 | 
						|
[Version 0.12]
 | 
						|
 - Implemented fixed destination block using * in .gate file. This is the recommended method of doing an exit point for custom gates, as the automatic method doesn't work in a lot of cases.
 | 
						|
 - Split networks up in memory, can now use same name in different networks. As a result, fixed gates must now specify a network.
 | 
						|
 - Added the ability to have a private gate, which only you can activate. Use the 'P' option to create.
 | 
						|
 - Fixed but not AlwaysOn gates now open the destination gate.
 | 
						|
 - Fixed gates now show their network. Existing fixed gates are added to the default network (Sorry! It had to be done)
 | 
						|
[Version 0.11]
 | 
						|
 - Fuuuu- Some code got undid and broke everything. Fixed.
 | 
						|
[Version 0.10]
 | 
						|
 - Hopefully fixed the "No position found" bug.
 | 
						|
 - If dest > origin, any blocks past origin.size will drop you at dest[0]
 | 
						|
 - Switched to scheduler instead of our own thread for closing gates and deactivating signs
 | 
						|
 - No longer depend on Permissions, use it as an option. isOp() used as defaults.
 | 
						|
[Version 0.09]
 | 
						|
 - Gates can now be any shape 
 | 
						|
[Version 0.08]
 | 
						|
 - Gates can now consist of any material.
 | 
						|
 - You can left or right click the button to open a gate
 | 
						|
 - Gates are now initialized on sign placement, not more right clicking!
 | 
						|
[Version 0.07]
 | 
						|
 - Fixed where the default gate is saved to.
 | 
						|
[Version 0.06]
 | 
						|
 - Forgot to make gates load from new location, oops
 | 
						|
[Version 0.05]
 | 
						|
 - Moved Stargate files into the plugins/Stargate/ folder
 | 
						|
 - Added migration code so old gates/portals are ported to new folder structure
 | 
						|
 - Create default config.yml if it doesn't exist
 | 
						|
 - Fixed removing a gate, it is now completely removed
 | 
						|
[Version 0.04]
 | 
						|
 - Updated to multi-world Bukkit
 | 
						|
[Version 0.03]
 | 
						|
 - Changed package to net.TheDgtl.*
 | 
						|
 - Everything now uses Blox instead of Block objects
 | 
						|
 - Started on vehicle code, but it's still buggy |