Have you ever been running a Pvp server and gotten endless complaints about people spawn-killing at nether portals? Then this plugin should solve ALL your problems!*
IMPORTANT!
The version number for the plugin is NOT the version of minecraft it works for. All versions of this plugin are for CraftBukkit 1.5.2_10 or higher
A NOTE ABOUT V1.7.4!
This version introduces the ability of the plugin to clear illegal blocks when a player appears in a portal. By default, this setting, called autoclear in the config file, is off. This is to prevent issues with players who have only one side of a portal protected from before the plugin was put into effect. I would advise notifying your server before activating this feature if the server existed for long before the plugin was released.
WHAT DOES THIS PLUGIN DO?
This plugin will, in effect, stop any player from killing another player near a nether portal using conventional means.* *
When in use, this plugin WILL:
Prevent players near* * * portals from melee damaging each other
Prevent players near portals from damaging with and being damaged by projectiles
Prevent players near portals from affecting others with and being affected by potions
Prevent lava from flowing within 2 blocks of a portal
Prevent placement of lava within 2 blocks of a portal
Prevent explosions of TNT within 7 blocks of a portal
Prevent the placing of obsidian directly adjacent to a portal
Prevent the placing of any block directly adjacent to a portal when another player is standing in the portal
Prevent players from starting fires near portals
And as if that isn't enough, this plugin will NOT:
Prevent players from attacking mobs near portals
Prevent players from shooting mobs near portals
Prevent players from affecting mobs with potions near portals
Commands(As of 1.6.0):
All commands are prefixed by PortalProtector, which can be abbreviated as PP, and all commands can be entered in the server console except notify.
Player Commands
Status(/PortalProtector status):
Description: Lists all effects of the plugin and whether they are enabled or not.
Notification toggle(/PortalProtector notify):
Description: Toggles notification when disallowed actions are attempted
Help(/PortalProtector help):
Description: Displays all commands the user is allowed to use
Op Commands
Refresh(/PortalProtector refresh):
Description: Refreshes the loaded config file. Use if changes are made to config.yml while the server is running
Effect changer(/PortalProtector <Effect> <Setting>):
Description: Used to set whether an effect is protected or not Possible settings: Protected, Unprotected List of effects: melee, projectile, potionsplash, anyblockplace, partialblockplace, obsidianplace, lavaplace, lavaflow, tntexplode, firestart (These are the same as in config.yml, and the same as those listed by the /PortalProtector effects command) Example: "/PortalProtector melee unprotect" would stop protecting players against melee damage.
Timeout Setter(/PortalProtector timeout <number>):
Description: Sets the timeout for melee, projectile, and potion splash effects. Players are only immune for this many seconds after they go through a portal; default is 10; if you set a negative number, the immunity will always be active.
Safezone Setter(/PortalProtector safezone <positive number>):
Description: Sets the distance away from portals in blocks that people will be protected from attacks
Effects list(/PortalProtector effects):
Description: Lists all effects that can be used in the <Effect><Setting> command
Special Commands
Debug(/PortalProtector debug <true/false>):
Description: Causes select debug to be messaged to the user
NOTE: Can only be used by the Console Window, or myself.
Permissions(As of 1.6.0):
portalprotector.manager
Is defaulted to Op
Allows manipulation of the plugin to change what it protects
Allows refreshing of the plugin to update changes to config.yml
Examples:
To see examples of this plugin in action, see this project's pictures.
Or watch my video!
How to use this plugin:
It's REALLY easy, just download the PortalProtector file for your server version, and put it in the Plugins folder of your Bukkit Server, and voila! You have a powerful tool in the war on portal spawn-killing!
Using Config.YML
This plugin will make a folder called PortalProtector. Inside that folder will be a file called "Config.yml".
If you open this file, it contains basic configurations for the plugin. You can set which protections are in effect, all defaulted to true, and you can set the timeout for melee, projectile, and potion cancelling.
IF YOU SET TIMEOUT TO A NEGATIVE NUMBER, PLAYERS WILL ALWAYS BE PROTECTED, which you may want, depending on the server.
Changelog:
V 1.5.1:
... No changes, first version.
V 1.5.2:
Sparse commenting for some understandability
Removed redundant method
V 1.5.3:
Fixed adjacency of placed blocks to being adjacent to only portal blocks, not the frame also
Made non-fire range smaller to allow creation of portals which share blocks
Allowed potion damage to mobs when thrown from near portal
V 1.6.0:
Added various commands and the permission to limit some to op's
V 1.6.1:
Finished notify command
Added help command
Worked around glitch where lava could be placed client-side only if placed through a portal
Allowed placing lava to break a portal if no one is in the portal
Switched to JDK 6 to increase compatibility
V 1.6.2:
Moved all event handlers to one class
Changed event command to effect
Changed syntax for <Effect><Status> command
V 1.7.0:
Added timeouts: The protection effects against projectiles, melee, and potion splashes will only last a certain amount seconds after portal teleporting(Can be configured in config.yml)
V 1.7.1:
Fixed negative timeouts, they now work correctly
Added timeout commands
V 1.7.2
Split the blockplace effect into anyblockplace and partialblockplace for further customization at the request of a user
V 1.7.3
Changed fire protection to allow creation of extremely close portals
Removed /PortalProtector timeoutMoved the info to the status command
Made the radius of protection configurable
V 1.7.4.3
Added the ability to remove illegal blocks upon appearing in portals