PortalProtector

MainImage

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 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
  • 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"

Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    65256
  • Created
    Sep 7, 2013
  • Last Released File
    Jan 3, 2014
  • Total Downloads
    4,963
  • License

Categories

Members