245 lines
12 KiB
Plaintext
245 lines
12 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.4]
|
|
- Added a check for stargate.network.*/stargate.world.* on gate creation
|
|
[Version 0.4.3]
|
|
- Made some errors more user-friendly
|
|
- Properly take into account portal-closed material
|
|
[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 |