PortalProtector

FIGHT NETHER SPAWN-KILLING!
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 timeout
Moved 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
- Added a version number to the help command
- Added the debug command
- Slight optimization
Old versions:
To get older versions and see the source go to https://github.com/Ipiano/Portal_Protector
- *Limited to portal spawn-killing related issues
- * *Does not prevent against ALL possibilities, as all possibilities cannot be anticipated.
- * * *Near a portal is "Within 2 blocks of a portal block"
-
View User Profile
-
Send Message
Posted Dec 1, 2014@UnwrittenPaper
Actually, that's exactly how it works. There's a value in the config that you can set to set how long it lasts when someone comes out of a portal. You just also have the option of setting it to -1 seconds to make it a permanent effect.
-
View User Profile
-
Send Message
Posted Jun 15, 2014@mangofarmer
I do not believe this will do what you want. This plugin is mainly to prevent spawn-killing near portals, not creation of portals. In fact, it shouldn't ever prevent you from lighting a portal; it can cause difficulty with close-quarters portals, but it shouldn't make it impossible...
-
View User Profile
-
Send Message
Posted Jun 13, 2014Can this be used to disable portal creation without disabling the Nether itself? The option for doing the former in Essentials doesn't work in 1.7 since people can just light the sides.
-
View User Profile
-
Send Message
Posted Sep 15, 2013@mattrick16
Of course!! You gotta have fine print in any good document ;)
-
View User Profile
-
Send Message
Posted Sep 14, 2013Asterisks. Asterisks everywhere.