NexusWarps — Advanced Player Warp System icon

NexusWarps — Advanced Player Warp System -----

Player warps done right — GUI, ratings, SQLite/MySQL, multi-language & more.




NexusWarps
Official Documentation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Table of Contents


  1. Installation
  2. Configuration
  3. Messages & Language
  4. Commands
  5. Permissions
  6. Warp Limits
  7. Database Setup
  8. Protection Plugins
  9. PlaceholderAPI
  10. GUI Overview
  11. FAQ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Installation

Requirements:

  • Paper or Spigot 1.21+
  • Java 17+
Steps:

  1. Download NexusWarps-1.0.0.jar
  2. Drop it into your server's /plugins/ folder
  3. Start or restart your server
  4. The plugin will generate the following files automatically:
Code (Text):

plugins/
└── NexusWarps/
    ├── config.yml
    ├── nexuswarps.db      ← SQLite database (auto-created)
    └── lang/
        ├── en.yml         ← English
        └── es.yml         ← Spanish
 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2. Configuration

The main configuration file is config.yml. Below is a full breakdown of every option.
Language

Code (Text):

# Sets the language of all plugin messages.
# Must match a file name in the /lang/ folder (without .yml)
language: en
 
Database

Code (Text):

database:
  # Type: sqlite | mysql
  type: sqlite
 
Warp Limits

Code (Text):

warp-limits:
  nexuswarps.limit.default: 1
  nexuswarps.limit.vip: 2
  nexuswarps.limit.mvp: 3
  nexuswarps.limit.elite: 5
  nexuswarps.limit.legend: 10
# The highest value a player qualifies for is used.
# nexuswarps.limit.bypass = unlimited warps
 
Warp Settings

Code (Text):

warps:
  max-name-length: 24       # Maximum characters in a warp name
  min-name-length: 3        # Minimum characters in a warp name
  max-desc-length: 64       # Maximum characters in a description
  name-regex: '[a-zA-Z0-9_-]+' # Allowed characters in warp names
  teleport-delay: 3         # Seconds before teleporting (0 = instant)
  teleport-cooldown: 5      # Seconds between teleports (0 = no cooldown)
  allow-cross-world: true   # Allow teleporting to warps in other worlds
  create-cost: 0.0          # Cost to create a warp (requires Vault)
  teleport-cost: 0.0        # Cost to teleport to a warp (requires Vault)
 
GUI Settings

Code (Text):

gui:
  title: "&8&lNexus&r&6&lWarps &8» &7Browse"
  warps-per-page: 45        # Max 45
  default-sort: VISITS      # VISITS | RATING | NEWEST | NAME
  filler-material: GRAY_STAINED_GLASS_PANE
  prev-page-material: ARROW
  next-page-material: ARROW
  sort-material: HOPPER
  info-material: BOOK
  close-material: BARRIER
 
Protection Hooks

Code (Text):

hooks:
  worldguard:
    enabled: true
    require-ownership: true  # true = must own region, false = just be a member
  lands:
    enabled: true
    require-ownership: true
  griefprevention:
    enabled: true
    require-ownership: true
 
Logging

Code (Text):

logging:
  log-warp-changes: true   # Log warp creation/deletion to console
  log-teleports: false     # Log teleports to console
 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3. Messages & Language

All messages are stored in plugins/NexusWarps/lang/.
Changing the language:
Set the language option in config.yml to match the file name:
Code (Text):

language: es   # loads lang/es.yml
 
Adding a new language:

  1. Copy lang/en.yml to lang/fr.yml (or any language code)
  2. Translate all the values
  3. Set language: fr in config.yml
  4. Run /pwadmin reload
Color codes:
NexusWarps supports both standard Bukkit color codes and full hex colors in all messages.
Code (Text):

# Standard color codes
prefix: "&6[NexusWarps] "
# Hex colors
prefix: "&#00b4ff&lNexusWarps &8» "
 
Available placeholders in messages:
Code (Text):

{prefix}    - Plugin prefix
{player}    - Player name
{warp}      - Warp name
{owner}     - Warp owner name
{rating}    - Warp rating
{visits}    - Visit count
{world}     - World name
{max}       - Warp limit
{count}     - Current warp count
{delay}     - Teleport delay in seconds
{seconds}   - Cooldown seconds remaining
{cost}      - Action cost
{material}  - Material name
{old}       - Old warp name (rename)
{new}       - New warp name (rename)
 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4. Commands

Aliases for /pw: /warp, /warps, /nexuswarp
Command
Description Permission
/pw Open the warp browser GUI nexuswarps.use
/pw <name> Teleport to a warp by name nexuswarps.teleport
/pw create <name> [description] Create a new warp at your location nexuswarps.create
/pw remove <name> Remove your warp nexuswarps.remove
/pw rename <name> <newName> Rename your warp nexuswarps.rename
/pw reset <name> Move warp to your current location nexuswarps.reset
/pw rate <name> <1-5> Rate a warp (cannot rate your own) nexuswarps.rate
/pw seticon <name> <material> Set the warp icon shown in the GUI nexuswarps.seticon
/pw desc <name> <text> Set or update a warp description nexuswarps.setdesc
/pwadmin reload Reload config and all language files nexuswarps.admin
/pwadmin forceremove <name> Force remove any warp on the server nexuswarps.admin
/pwadmin list [player] List all warps, optionally filter by player nexuswarps.admin
/pwadmin teleport <name> Teleport to any warp (bypasses delay) nexuswarps.admin
/pwadmin seticon <name> <material> Set icon for any warp nexuswarps.admin


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5. Permissions

Permission
Description Default
nexuswarps.use Use /pw command true
nexuswarps.create Create warps true
nexuswarps.remove Remove own warps true
nexuswarps.rename Rename own warps true
nexuswarps.reset Reset own warp location true
nexuswarps.rate Rate warps true
nexuswarps.teleport Teleport to warps true
nexuswarps.seticon Set own warp icon true
nexuswarps.setdesc Set own warp description true
nexuswarps.admin All admin commands op
nexuswarps.limit.bypass Unlimited warps op
nexuswarps.limit.default Default tier (1 warp) true
nexuswarps.limit.vip VIP tier (2 warps) false
nexuswarps.limit.mvp MVP tier (3 warps) false
nexuswarps.limit.elite Elite tier (5 warps) false
nexuswarps.limit.legend Legend tier (10 warps) false


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6. Warp Limits

Warp limits are permission-based. The highest limit a player qualifies for is used.
Example setup with LuckPerms:
Code (Text):

# Give VIP players the VIP limit
/lp group vip permission set nexuswarps.limit.vip true
# Give MVP players the MVP limit
/lp group mvp permission set nexuswarps.limit.mvp true
# Give a player unlimited warps
/lp user Steve permission set nexuswarps.limit.bypass true
 
Changing the limits in config.yml:
Code (Text):

warp-limits:
  nexuswarps.limit.default: 1
  nexuswarps.limit.vip: 2
  nexuswarps.limit.mvp: 3
  nexuswarps.limit.elite: 5
  nexuswarps.limit.legend: 10
 
You can add as many custom tiers as you want — just add a new permission and limit value, then assign the permission to a group in your permissions plugin.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7. Database Setup

SQLite (Default)

No setup required. The database file is created automatically at plugins/NexusWarps/nexuswarps.db.
Code (Text):

database:
  type: sqlite
 
MySQL

Recommended for large networks or servers that want a shared database.

  1. Create a database on your MySQL server (e.g. nexuswarps)
  2. Fill in your credentials in config.yml:
Code (Text):

database:
  type: mysql
  mysql:
    host: localhost
    port: 3306
    name: nexuswarps
    username: root
    password: yourpassword
    pool-size: 10
    use-ssl: false
 

  • Restart your server — tables are created automatically
Note: MySQL connector is automatically downloaded by Paper on first startup. No manual installation needed.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
8. Protection Plugins

NexusWarps integrates with WorldGuard, GriefPrevention and Lands to prevent players from creating warps on land they don't own. All hooks are optional — the plugin works fine without any of them.
How it works:
When a player runs /pw create or /pw reset, NexusWarps checks with every enabled protection plugin. If any of them deny the action, the warp is not created.
Configuration:
Code (Text):

hooks:
  worldguard:
    enabled: true
    require-ownership: true  # false = member is enough, true = must be owner
  lands:
    enabled: true
    require-ownership: true
  griefprevention:
    enabled: true
    require-ownership: true
 
Wilderness behavior:
If a location has no region/claim/land, it is always allowed regardless of settings.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
9. PlaceholderAPI

NexusWarps registers its own PlaceholderAPI expansion automatically if PlaceholderAPI is installed.
Placeholder
Description Example Output
%nexuswarps_count% Total warps on the server 42
%nexuswarps_player_count% Warps owned by the player 2
%nexuswarps_player_limit% Max warps the player can have 5
%nexuswarps_top_name_1% Name of warp ranked #1 by visits SpawnShop
%nexuswarps_top_visits_1% Visit count of warp ranked #1 1204
%nexuswarps_top_rating_1% Rating of warp ranked #1 4.8
%nexuswarps_top_owner_1% Owner of warp ranked #1 Steve
%nexuswarps_warp_<name>_visits% Visits of a specific warp 320
%nexuswarps_warp_<name>_rating% Rating of a specific warp 4.2
%nexuswarps_warp_<name>_owner% Owner of a specific warp Alex
%nexuswarps_warp_<name>_exists% Whether a warp exists true
%nexuswarps_warp_<name>_desc% Description of a specific warp Best shop on the server!

Note: Replace <name> with the actual warp name. Replace 1 in top placeholders with any number from 1 to 10.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10. GUI Overview

The GUI is opened with /pw or by clicking a warp in chat.
Layout:
Code (Text):

┌───────────────────────────────────────────────────────┐
│  [Warp] [Warp] [Warp] [Warp] [Warp] [Warp] [Warp]   │
│  [Warp] [Warp] [Warp] [Warp] [Warp] [Warp] [Warp]   │
│  [Warp] [Warp] [Warp] [Warp] [Warp] [Warp] [Warp]   │
│  [Warp] [Warp] [Warp] [Warp] [Warp] [Warp] [Warp]   │
│  [Warp] [Warp] [Warp] [Warp] [Warp] [Warp] [Warp]   │
│  [◀ Prev] [░░░] [Sort] [░░░] [Info] [░░░] [Next ▶]  │
└───────────────────────────────────────────────────────┘
 
Warp item tooltip shows:

  • Warp name (gold, bold)
  • Owner name
  • Description (if set)
  • Star rating with average score
  • Total visit count
  • World name
Special effects:

  • Warps with 4.5+ stars and 3+ ratings display a glowing enchantment effect
Sort modes (cycle with the Sort button):

  • Most Visited — highest visit count first
  • Highest Rated — highest average rating first
  • Newest — most recently created first
  • A-Z — alphabetical order
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11. FAQ

Q: The plugin loaded but warps aren't saving after restart.

A: Make sure the plugins/NexusWarps/ folder has write permissions. Check console for any database errors on startup.
Q: Can I migrate from SQLite to MySQL?

A: Not automatically yet. You can manually export the SQLite database and import it into MySQL, then switch the type in config.yml.
Q: Players can create warps in other people's regions.

A: Make sure the relevant hook is enabled in config.yml and the protection plugin is installed and working. Run /pwadmin reload after making changes.
Q: How do I give a player unlimited warps?

A: Give them the permission nexuswarps.limit.bypass.
Q: Can I use hex colors in warp descriptions?

A: Not in warp descriptions entered by players — only in the lang files by admins. Player input is not parsed for colors for security reasons.
Q: The GUI title shows color codes instead of colors.

A: Make sure you're using Paper instead of plain Spigot. Paper has proper Adventure API support for inventory titles.
Q: /pwadmin reload doesn't reload the database.

A: Correct — reload only refreshes config.yml, language files and the warp cache. To change database settings a full server restart is required.
Q: Can I add my own language?

A: Yes! Copy lang/en.yml, rename it to your language code (e.g. lang/de.yml), translate all values, then set language: de in config.yml and run /pwadmin reload.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Still need help? Join our Discord:
discord.gg/RDvw427bqC
NexusWarps © 2026 catfarhan — All Rights Reserved
Resource Information
Author:
----------
Total Downloads: 2
First Release: Mar 13, 2026
Last Update: Mar 13, 2026
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings