Added 'stargate.world.*' permission

Added 'stargate.network.*' permission
Added 'networkfilter' option
Added 'worldfilter' option
This commit is contained in:
Drakia 2011-04-06 01:42:24 -07:00
parent e3f550d43d
commit bae416cac7
4 changed files with 1689 additions and 1670 deletions

375
README
View File

@ -1,185 +1,192 @@
============= =============
Description Description
============= =============
This is a port of the Stargate plugin from hMod. 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. 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, as well as any custom .gate files you had! 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. No permission bypasses. iConomy support added back in, only costs are create, destroy and use.
This version of Stargate is still heavily under development. There are going to be issues for a while yet. =============
Known Issues
============= =============
Known Issues - There are many bugs with portal material not showing properly. This is a bug I can not track down, and have no fix for at the moment.
=============
- There are many bugs with portal material not showing properly. This is a bug I can not track down, and have no fix for at the moment. =============
Permissions
============= =============
Permissions - stargate.use - Allow this player/group to use stargates.
============= - stargate.create - Allow this player/group to create new stargates.
- stargate.use - Allow this player/group to use stargates. - stargate.create.personal - Allow this player/group to create new stargates on a network defined as their name.
- stargate.create - Allow this player/group to create new stargates. - stargate.destroy - Allow this player/group to destroy existing stargates. (Deprecated)
- 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 - Allow this player/group to destroy existing stargates. (Deprecated) - stargate.destroy.owner - Allow this player/group to destroy any stargate that they are the owner of.
- stargate.destroy.all - Allow this player/group to destroy any existing stargate (Replaces stargate.destroy) - stargate.hidden - Allow this player/group to see all hidden stargates.
- stargate.destroy.owner - Allow this player/group to destroy any stargate that they are the owner of. - stargate.private - Allow this player/group to use all private stargates.
- stargate.hidden - Allow this player/group to see all hidden stargates. - stargate.free - This player/group is not charged to use gates even if the gate has a cost.
- stargate.private - Allow this player/group to use all private stargates. - stargate.world.{worldname} - Allow this user/group access to gates on the world {worldname}
- stargate.free - This player/group is not charged to use gates even if the gate has a cost. - stargate.network.{networkname} - Allow this user/group access to the network {networkname}
============= =============
Instructions Instructions
============= =============
Building a gate: Building a gate:
OO OO
O O - These are Obsidian blocks. You need 10. O O - These are Obsidian blocks. You need 10.
O O - Place a sign on either of these two blocks of Obsidian. O O - Place a sign on either of these two blocks of Obsidian.
O O O O
OO OO
- Type a name on the first line on the sign, it must be less than 12 characters long.
- Type a set destination name on the second line if desired. Sign Layout:
- Type a network name on the third line if desired. - Line 1: Gate Name (Max 12 characters)
- Type any options on the 4th line if desired. - Line 2: Destination Name [Optional] (Max 12 characters, used for fixed-gates only)
- Line 3: Network name [Optional] (Max 12 characters)
Sign Layout: - 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)
- Line 1: Gate Name (Max 12 characters)
- Line 2: Destination Name [Optional] (Max 12 characters, used for fixed-gates only) Options:
- Line 3: Network name [Optional] (Max 12 characters) The options are the single letter, not the word. So to make a private hidden gate, your 4th line would be 'PH'.
- Line 4: Options [Optional] ('A' for always-on fixed gate, 'H' for hidden networked gate)
Using a gate:
Using a gate: - Right click the sign to choose a destination.
- Right click the sign to choose a destination. - Right click the button to open up a portal.
- Right/left click the button to open up a portal. - Step through.
- Step through.
Fixed gates:
Fixed gates: - Fixed gates go to only one set destination.
- 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.
- 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.
- 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.
- Set the 4th line of the stargate sign to "A" to enable an always-open fixed gate.
Gate networks:
Gate networks: - Gates are all part of a network, by default this is "central".
- 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.
- 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 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:
- Hidden gates are like normal gates, but only show on the destination list of other gates under certain conditions. - 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. - 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. - Set the 4th line of the stargate sign to 'H' to make it a hidden gate.
============== ==============
Configuration Configuration
============== ==============
default-gate-network - The default gate network default-gate-network - The default gate network
not-selected-message - The message when no destination is selected not-selected-message - The message when no destination is selected
portal-destroy-message - The message when a gate is destroyed portal-destroy-message - The message when a gate is destroyed
portal-create-message - The message when a gate is created 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 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 other-side-blocked-message - The message when the gate you're dialing is open
teleport-message - The message when you are teleported teleport-message - The message when you are teleported
portal-folder - The folder your portal databases are saved in portal-folder - The folder your portal databases are saved in
gate-folder - The folder containing your .gate files 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. 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 useiconomy - Whether or not to use iConomy
createcost - The cost to create a stargate createcost - The cost to create a stargate
destroycost - The cost to destroy a stargate (Can be negative for a "refund" destroycost - The cost to destroy a stargate (Can be negative for a "refund"
usecost - The cost to use a stargate usecost - The cost to use a stargate
not-enough-money-message - The message displayed if a player lacks money to do something 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.
Changes
============= =============
[Version 0.3.4] Changes
- Added 'stargate.free' permission =============
- Added iConomy cost into .gate files [Version 0.3.5]
[Version 0.3.3] - Added 'stargate.world.*' permissions
- Moved sign update into a schedule event, should fix signs - Added 'stargate.network.*' permissions
[Version 0.3.2] - Added 'networkfilter' config option
- Updated to latest RB - Added 'worldfilter' config option
- Implemented proper vehicle handling [Version 0.3.4]
- Added iConomy to vehicle handling - Added 'stargate.free' permission
- Can now set cost to go to creator on use - Added iConomy cost into .gate files
[Version 0.3.1] [Version 0.3.3]
- Changed version numbering. - Moved sign update into a schedule event, should fix signs
- Changed how plugins are hooked into. [Version 0.3.2]
[Version 0.30] - Updated to latest RB
- Fixed a bug in iConomy checking. - Implemented proper vehicle handling
[Version 0.29] - Added iConomy to vehicle handling
- Added iConomy support. Currently only works with iConomy 4.4 until Niji fixes 4.5 - Can now set cost to go to creator on use
- Thanks @Jonbas for the base iConomy implementation [Version 0.3.1]
[Version 0.28] - Changed version numbering.
- Fixed an issue with removing stargates during load - Changed how plugins are hooked into.
[Version 0.27] [Version 0.30]
- Fixed portal count on load - Fixed a bug in iConomy checking.
[Version 0.26] [Version 0.29]
- Added stargate.create.personal for personal stargate networks - Added iConomy support. Currently only works with iConomy 4.4 until Niji fixes 4.5
- Fixed a bug with destroying stargates by removing sign/button - Thanks @Jonbas for the base iConomy implementation
[Version 0.25] [Version 0.28]
- Fixed a bug with worlds in subfolders - Fixed an issue with removing stargates during load
- Fixed gates being destroyed with explosions [Version 0.27]
- Added stargate.destroy.owner - Fixed portal count on load
[Version 0.24] [Version 0.26]
- Fixed a loading bug in which invalid gates caused file truncation - Added stargate.create.personal for personal stargate networks
[Version 0.23] - Fixed a bug with destroying stargates by removing sign/button
- Added a check to make sure "nethergate.gate" exists, otherwise create it [Version 0.25]
[Version 0.22] - Fixed a bug with worlds in subfolders
- Fixed multi-world stargates causing an NPE - Fixed gates being destroyed with explosions
[Version 0.21] - Added stargate.destroy.owner
- Code cleanup [Version 0.24]
- Added a few more errors when a gate can't be loaded - Fixed a loading bug in which invalid gates caused file truncation
- Hopefully fixed path issue on some Linux installs [Version 0.23]
[Version 0.20] - Added a check to make sure "nethergate.gate" exists, otherwise create it
- Fixed the bug SIGN_CHANGE exception when using plugins such as Lockette [Version 0.22]
[Version 0.19] - Fixed multi-world stargates causing an NPE
- Set button facing on new gates, fixes weirdass button glitch [Version 0.21]
- Beginning of very buggy multi-world support - Code cleanup
[Version 0.18] - Added a few more errors when a gate can't be loaded
- Small permissions handling update. - Hopefully fixed path issue on some Linux installs
[Version 0.17] [Version 0.20]
- Core GM support removed, depends on FakePermissions if you use GM. - Fixed the bug SIGN_CHANGE exception when using plugins such as Lockette
[Version 0.16] [Version 0.19]
- Fixed Permissions, will work with GroupManager, Permissions 2.0, or Permissions 2.1 - Set button facing on new gates, fixes weirdass button glitch
- Left-clicking to activate a stargate works again - Beginning of very buggy multi-world support
[Version 0.15] [Version 0.18]
- Built against b424jnks -- As such nothing lower is supported at the moment. - Small permissions handling update.
- Moved gate destruction code to onBlockBreak since onBlockDamage no longer handles breaking blocks. [Version 0.17]
- Removed long constructor. - Core GM support removed, depends on FakePermissions if you use GM.
[Version 0.14] [Version 0.16]
- Fixed infinite loop in fixed gates. - Fixed Permissions, will work with GroupManager, Permissions 2.0, or Permissions 2.1
- Fixed gate destination will not open when dialed into. - Left-clicking to activate a stargate works again
[Version 0.13] [Version 0.15]
- Fixed gates no longer show in destination list. - Built against b424jnks -- As such nothing lower is supported at the moment.
[Version 0.12] - Moved gate destruction code to onBlockBreak since onBlockDamage no longer handles breaking blocks.
- 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. - Removed long constructor.
- Split networks up in memory, can now use same name in different networks. As a result, fixed gates must now specify a network. [Version 0.14]
- Added the ability to have a private gate, which only you can activate. Use the 'P' option to create. - Fixed infinite loop in fixed gates.
- Fixed but not AlwaysOn gates now open the destination gate. - Fixed gate destination will not open when dialed into.
- Fixed gates now show their network. Existing fixed gates are added to the default network (Sorry! It had to be done) [Version 0.13]
[Version 0.11] - Fixed gates no longer show in destination list.
- Fuuuu- Some code got undid and broke everything. Fixed. [Version 0.12]
[Version 0.10] - 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.
- Hopefully fixed the "No position found" bug. - Split networks up in memory, can now use same name in different networks. As a result, fixed gates must now specify a network.
- If dest > origin, any blocks past origin.size will drop you at dest[0] - Added the ability to have a private gate, which only you can activate. Use the 'P' option to create.
- Switched to scheduler instead of our own thread for closing gates and deactivating signs - Fixed but not AlwaysOn gates now open the destination gate.
- No longer depend on Permissions, use it as an option. isOp() used as defaults. - Fixed gates now show their network. Existing fixed gates are added to the default network (Sorry! It had to be done)
[Version 0.09] [Version 0.11]
- Gates can now be any shape - Fuuuu- Some code got undid and broke everything. Fixed.
[Version 0.08] [Version 0.10]
- Gates can now consist of any material. - Hopefully fixed the "No position found" bug.
- You can left or right click the button to open a gate - If dest > origin, any blocks past origin.size will drop you at dest[0]
- Gates are now initialized on sign placement, not more right clicking! - Switched to scheduler instead of our own thread for closing gates and deactivating signs
[Version 0.07] - No longer depend on Permissions, use it as an option. isOp() used as defaults.
- Fixed where the default gate is saved to. [Version 0.09]
[Version 0.06] - Gates can now be any shape
- Forgot to make gates load from new location, oops [Version 0.08]
[Version 0.05] - Gates can now consist of any material.
- Moved Stargate files into the plugins/Stargate/ folder - You can left or right click the button to open a gate
- Added migration code so old gates/portals are ported to new folder structure - Gates are now initialized on sign placement, not more right clicking!
- Create default config.yml if it doesn't exist [Version 0.07]
- Fixed removing a gate, it is now completely removed - Fixed where the default gate is saved to.
[Version 0.04] [Version 0.06]
- Updated to multi-world Bukkit - Forgot to make gates load from new location, oops
[Version 0.03] [Version 0.05]
- Changed package to net.TheDgtl.* - Moved Stargate files into the plugins/Stargate/ folder
- Everything now uses Blox instead of Block objects - 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 - Started on vehicle code, but it's still buggy

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
name: Stargate name: Stargate
main: net.TheDgtl.Stargate.Stargate main: net.TheDgtl.Stargate.Stargate
version: 0.3.4 version: 0.3.5
description: Stargate mod for Bukkit description: Stargate mod for Bukkit
author: Drakia author: Drakia
website: http://www.thedgtl.net website: http://www.thedgtl.net