Create portals of any shape/size/block! Functional, robust, customizable, and API extensible... this is WarpPortals!


  • Portals of any shape, size, or block type!
  • Now has an API!
  • Create portals with any block type!
  • Portals without frames or with frames of any material
  • Portals that work between worlds
  • Easy to create Portals
  • Easy to set destinations
  • Precise teleportations
  • Global Enable or Disable normal portals functionality
  • Per-portal permissions. Setup donor portals!


Check out the Table of Commands


How do you create a Portal?

  1. First choose the Portal destination and set it using "/wpdc [name]". This command will set the destination to your current location, world AND angle of view.
  2. Second, build a portal of any shape out of Gold Blocks. These will make up the Portal's body.
  3. Third, hold a non-block item and run the command "/wppc [portalName] [destName] [portalBlockMaterial]". This will make it so the next Gold Block you click will turn them into a Portal made of the specified portalBlockMaterial, eg WATER.
  4. Fourth, right-click any one of the Gold Blocks you built. The plugin will find all adjacent Gold Blocks and turn them all into a Portal!
  5. Fifth, profit.

Who can use a WarpPortal?

Any one can use a WarpPortal by default. You can revoke someone's WarpPortal rights by setting their permission "warpportal.enter" to false. New: The WarpPortals' Event API allows for this to be overridden!

How do you use WarpPortals?

WarpPortals are always active and simply walking though one will teleport you to its destination.

Who can create/admin a WarpPortal?

Only players who are ops or have the "warpportal.admin" permission.

What settings are there?

  1. You can change whether normal Nether/End portals function. For example, setting this to false would mean that when a player walked through a Nether portal that they activated with flint, nothing would happen.
  2. You can change the general Text Color used by the plugin. By default Yellow.
  3. You can adjust the max portal size. This limit exists so that a Portal so large that it would eternally crash the server can't be created. By default 1000.
  4. You can change the teleportation message. By default it is "Wooooooooosh!"
  5. You can change the teleportation message Text Color. By default Purple.

Is there Economy support?

No. Portals are always active and currently don't support any form of Economy plugins. New: The WarpPortals' Event API provides the means for an external plugin to be written to handle this.

What bugs are there?

Ghost Portals: Currently, anyone can break the Portal Blocks that make up the Portal and that will cause the PORTAL_ENTERED event to never fire. This means that to the plugin the Portal still exists but realistically it isn't there anymore. To keep this from happening something like WorldGuard should be used to protect the Portals (though this protection may be a built-in feature in the future). To deal with the possibility of all the Portal blocks getting broken in a Portal, you can use the "/pdelete [portalName]" command to return the Portal to its original Gold Block form. If only a few blocks get broken, simply replacing them with new Portal Blocks should work. Fixed in version 4.1.3

Bad Text Colors: Also, the Text Color settings don't appear to be cross OS Compatible. By default they are setup for Windows but if they don't work for you (if you get white text from the plugin) all Text Color Codes are editable in the Plugin's settings file. Fixed in version 2.0.1

Single Width Portals: Single width portals can only face East or West. This is a very weird bug but it is an unfortunately un-fixable problem. Portal block orientation is decided off of the adjacent portal blocks. Therefore, if two portal blocks are side-by-side, they will connect and face the right way. (Side Note: Even this was a hack and required overriding portal block physics). Sadly, a single portal block doesn't have anything to base it's orientation upon and will then default to East/West. This forum thread details the problem https://forums.bukkit.org/threads/rotating-portal- blocks.12598/forums.bukkit.org/threads/rotating-portal-blocks.12598/ Only applies to WarpPortals made of Nether Blocks as of version 4.1.3


  1. Download the latest version right here!
  2. Drop it into the Plugins folder in your CraftBukkit install.
  3. Go create some spiffy, funky, wild, seriously fun Portals!

Source Code and Downloads

The latest Bukkit approved version to can be found attached to this page!
Though you can always find the absolute latest version at Latest

Source code can be found at github.com/McCraftaholics/Bukkit-


WarpPortals now has an Event API. Bukkit explains Events at Event API Reference. WarpPortals triggers custom events allowing other plugins to tie into these events. The events provide player & portal information and allow other plugins to cancel the portal teleportation.

Further documentation can be found at WarpPortals/API

Open an Issue on the GitHub page if you have any questions!



  • Replace usage of player name's with new player UUID standard
  • Rename portal.yml backups to "*.yml.bac" in order to signify the data type


  • Merge PR #28 from xxyy
    • Fix Nether portals not disappearing when frame destroyed
    • Thank you xxyy!
  • Devs, this plugin is now built using maven


  • Restore original permission system - Fixes 'OP only' errors!
    • Portals are mass turned on/off for players
  • New per-portal permission system can be enabled
    • Set 'portals>permission>checkIndividualPortalPermissions' to 'true' in the config file
    • This setting requires wildcard permission support for normal operation


  • Teleportation messages can now be disabled, properly.
    • Set portals>teleport>message to "&none", without the quotes, in the config.yml file # for real this time
  • WarpPortals now handles World unloads and deletions
    • This should fix all known issues causing data to be deleted
  • The portal ID tool is multi-use, it won't dequip after each ID.
  • Per-portal permissions can now be set (eg, donor rank portals)
    • WarpPortals now check for if a player has "warpportals.enter.{PortalName}" permission before teleporting
    • By default ever player has "warpportals.enter.*", this can be changed and allows for donor rank portals and such
    • You can set whether players are told that they don't have permission, or make the portal "silent"
  • Faster onPlayerMove algorithm that is over 100% more efficient in some situations!
  • Users are alerted when they run commands without proper permission
    • Should help permission debugging
  • CommandHandler polished for more efficiency as well


  • Teleportation messages can now be disabled.
    • Set portals>teleport>message to "&none", without the quotes, in the config.yml file
  • WarpPortals now auto backups the data file after every portal creation
    • This should allow for easy recovery in the event of data loss
    • As of now, there is no limit on the number of backup files that can be created. Manual cleanup may be necessary.
  • New API event added: WarpPortalsCreateEvent
    • Triggered when a user creates a WarpPortal
    • Allows access to the new portals name, destination, blocks
    • Allows these elements to be modified by other plugins

4.1.4 Critical Fix

  • WarpPortals now handles permissions properly
    • Non-ops can use WarpPortals
    • Follows Bukkit Permissions structure
    • Thank you WeaselSqueezer


  • New portal interaction engine on the backend
    • WarpPortals can be made of any block type!
    • WarpPortals activate faster for players in survival mode
    • Protect WarpPortals from getting destroyed
    • Keeps liquids from flowing inside portals so that portals can be made of water/lave
  • Renamed all WarpPortal commands in a more logical manner
    • Separated commands into wp-portal- and wp-destination-
    • Abbreviations added for ease-of-typing, checkout Aliases

3.0.0 (2.1.1 merged in)

  • Added soft-depends to hopefully fix all the lost portals errors!
  • Added WarpPortals Event API
    • Plugins can be written that tie into WarpPortals
    • Example: An economy plugin can be created that charges people for portal use
    • Allows 3rd parties to add missing features


    • Horizontal portals can now be made out of Ender Portal!
    • Instead of using Gold Block to create the portal, use Quartz Block.
    • Unlike Normal Portals which are vertical, Ender Portals are horizontal beasts.
  • BugFix: Chat Colors are now used for portal creation.
  • BugFix: Portal Creation Tools stay active for retries when a portal fails to create due to MaxRecursionLimit or similar.
  • Minor: Portal Delete Tools now alert when they are equipped.


  • Chat Colors are now handled properly, the Bukkit way.
    • Setting a Chat Color doesn't require any special characters in the config file anymore! Just the color code. (eg. '3' instead of '&3')
    • In addition to convenience, this should fix all of the config problems! @R4m8o, @DarkenInsanity, @SpookyPirate
  • Portals now also save their state to disk on creation. This should fix any lost portal errors. @getnjr, @iDazzah


  • Error reporting for Config File Loading and Portal Saving has been improved. Instead of receiving an obscure message, the actual error is now reported.


  • Compiled and coded against Java SE 6. Supports Java 6 finally! Use it on both Java 6 and 7 :)



  • WarpPortals requests highest priority on Portal Enter events. This should fix normal portals acting weird (@SpookyPirate) and Warp Portals taking a while to teleport (@mrchasez)


  • The functionality (as in: the ability to teleport like normal) of traditional Nether/End portals is now toggleable via settings. @sgtcaze


  • Non-WarpPortals now function like normal! @SpookyPirate


  • Hopefully fixed any File Reading / Scanner errors. Thanks Zylithi!
  • Fixed command conflict with WorldGuard concerning teleporting to Portals/Destinations.


  • First offical release!

Paypal Donate

Enjoy :)

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of frizzbee30 frizzbee30 Mar 30, 2015 at 09:28 UTC - 0 likes

    @awendland: Go

    great, this is a fantastic plugin that we use widely :D


  • Avatar of awendland awendland Mar 29, 2015 at 19:14 UTC - 1 like

    Beta v6.0.1

    I am working on a new version that allows for

    • Custom TP message on a per-portal basis
      • You can set the message when creating a portal with /wppc PortalName DestinationName PORTAL_MATERIAL Portal message that you would like
      • You can put $user anywhere in the message and it will be replaced with the teleporting player's name
        • E.G. "Hello, $user" -> "Hello, John"
    • Support block data types
      • Spigot 1.8 appears to have broken auto PORTAL block orientation
      • If you're PORTAL block WarpPortal is facing the wrong direction, change the portal material with /wppm PortalNam PORTAL:2
        • The PORTAL:2 sets the proper orientation datatype
    • Fix portal event canceling to allow for Nether portals
    • Added custom analytics
      • These are in addition to the MC-Stats analytics being collected and provide additional WarpPortals specific information
        • In particular it includes: portal name, shape, material, usage count, and TP message; server player count, bukkit version, WarpPortals version, name and plugins installed
        • This data is collected in order to improve the development of WarpPortals by focusing on plugin conflicts and usage scenarios. Plus, it gives me pretty graphs
        • You can view all server and plugin source code related to this at github.com/McCraftaholics

    I am hoping to test to make sure that the WarpPortals backend can handle the analytics data, and that the analytics are as non-intrusive performance-wise as they are designed to be.

    Thank you for trialing this beta!

    Download - WarpPortals v6.0.1#8885615

    Last edited Mar 29, 2015 by awendland
  • Avatar of ausbuild ausbuild Mar 19, 2015 at 10:35 UTC - 0 likes

    Please allow us to change the message when a player does not have permission for a warp, would be really epic if we could change it per portal!

  • Avatar of digitalr digitalr Mar 17, 2015 at 22:19 UTC - 0 likes

    Strange thing happens :( Warp Portals 5.6.3 running on CraftBukkit version git-Spigot-1.7.9-R0.2-208-ge0f2e95 Network of 200 gates (portals.yml file have size 152010 bytes) Cannot save/backup portals file: [01:45:57 ERROR]: [WarpPortals] Error saving WarpPortal data! null [01:45:57 INFO]: Error backing up WarpPortal data to plugin folder

    Cannot view portal list (plist) - an error occured https://www.dropbox.com/s/3rtadb0u8xyys85/warpportals_error.txt?dl=0

    Save/backup attempts create zero-length files

    Destinations list outputs only: [02:18:08 INFO]: Destionations:

    with no destinations

    All works fine, until save reach certain size (?).

    What can it be?

    Upd: version 5.6.3 reporting by /wpv command seems to be incorrect. Because plugin JAR have version 5.6.5

    UPD2: Make some investigations of save file structure. Some destinations records do not ended with 0x0A symbol, so, we have two or more records in one string;

    UPD3: Fix problem by manual editing config. After arranging destinations records in right way, found wrongly formatted data-string: tpCoords: (world,-1997.6056555468779,63.0,1000.4796983397526,-1.6266107E-5,-270.324)

    UPD4: Also have one annoing issue: sometime, when exiting portal, players fall through exit-points block. If there are solid block underneath, then player can jump and continue travel. But if there are water/air/lava under exit block, players may fall through to their death. Solution are simple - set exit point one-block higher. It will be great option, if this vertical shift can be defined in config.

    Last edited Mar 18, 2015 by digitalr
  • Avatar of awendland awendland Mar 16, 2015 at 01:32 UTC - 0 likes

    @Shad0wL3m0n: Go

    That's very odd. Is there any console output related to WarpPortals?

  • Avatar of awendland awendland Mar 16, 2015 at 01:31 UTC - 1 like

    @frizzbee30: Go

    WarpPortals does have permission support. Taken from the changelog:

    New per-portal permission system can be enabled

    • Set 'portals>permission>checkIndividualPortalPermissions' to 'true' in the config file
    • This setting requires wildcard permission support for normal operation

    Per-portal permissions can now be set (eg, donor rank portals)

    • WarpPortals now check for if a player has "warpportals.enter.{PortalName}" permission before teleporting
    • By default ever player has "warpportals.enter.*", this can be changed and allows for donor rank portals and such
    • You can set whether players are told that they don't have permission, or make the portal "silent"
  • Avatar of awendland awendland Mar 16, 2015 at 01:26 UTC - 0 likes

    @samawhama: Go

    You can use /wppd to delete the portal and then recreate it with a new destination. As of now, no, destinations can not be made random.

  • Avatar of Shad0wL3m0n Shad0wL3m0n Mar 12, 2015 at 19:57 UTC - 0 likes

    Am I missing something really obvious? because the portals reset themselves every time the server reloads for some reason. I m using R: WarpPortals_v0563 for CB 1.7.2-R0.3 Mar 16, 2014 .

    Last edited Mar 12, 2015 by Shad0wL3m0n
  • Avatar of samawhama samawhama Mar 08, 2015 at 13:19 UTC - 0 likes

    Can I edit the destination of a portal once it has been placed? also, can I make the destination a random spot within a certain radius?

  • Avatar of frizzbee30 frizzbee30 Mar 08, 2015 at 11:45 UTC - 0 likes

    I know it's possible to set an overall permission to use, but is/will there be an option to control access to a specific portal by group, name etc? This woudl be a great help as a control entry point. ie some portals player a can enter, some player b can and some player a+b can.


Date created
Jul 12, 2013
Last update
Mar 07, 2015
Development stage
  • enUS
MIT License
Curse link
Recent files