Overview
ZebraWorldTickets is a fully customizable Spigot plugin that manages teleportation tickets for seamless travel to the Nether and The End. It provides an easy way to monetize your server through premium teleportation services, with complete control over configuration, permissions, and in-game integration.
Features
- Teleportation Tickets:
Separate tickets for the Nether and The End with independent cooldowns and teleport countdowns.
- Full Customization:
Adjust ticket names, lore, item types, crafting recipes, cooldown durations, countdown timers, and teleport locations via the configuration file.
- Permission-Based Control:
Fine-tuned permission nodes for using tickets, accessing commands, and controlling world access.
- Monetization Opportunity:
Leverage the ticket system as a powerful tool for server monetization by offering premium teleportation features.
- Developer API:
Provides a simple API for other plugins to retrieve the ticket ItemStacks programmatically via Bukkit Services Manager.
- Integrated Metrics:
Uses bStats for monitoring plugin usage and server engagement
Installation
- Download and Install:
Place ZebraWorldTickets-1.0.jar into your server's plugins folder.
- Startup:
Start your server to generate a default config.yml in the plugins/ZebraWorldTickets directory.
- Configuration:
Edit config.yml to customize settings such as crafting recipes, cooldowns, teleport locations, and more.
Configuration
Code (YAML):
messages:
no-permission
:
"&7&l(&c&l!&7&l) &7You don't have permission to use this!"
already-in-world
:
"&7&l(&c&l!&7&l) &7You are already in this world!"
active-tp
:
"&7&l(&c&l!&7&l) &7You have an active teleportation"
cooldown
:
"&7&l(&c&l!&7&l) &7You have to wait &c<cooldown> seconds &7before using it again!"
tp-nether-title
:
"&7&lTeleportation in &c&l<seconds>"
tp-nether-subtitle
:
"&7Don't move!"
tp-nether-success
:
"&7&lTeleported to the &c&lNether"
tp-end-title
:
"&7&lTeleportation in &d&l<seconds>"
tp-end-subtitle
:
"&7Don't move!"
tp-end-success
:
"&7&lTeleported to the &d&lEnd"
tp-canceled
:
"&7&l(&c&l!&7&l) &7Teleportation canceled!"
give-tickets
:
"&7Successfully gave &c<amount> <world> &7tickets to &c<target>"
received-tickets
:
"&7You received &c<amount> <world> &7tickets from &c<player>"
invalid-world
:
"&7&l(&c&l!&7&l) &7Invalid world!"
player-not-found
:
"&7&l(&c&l!&7&l) &7Player not found!"
world-disabled
:
"&7&l(&c&l!&7&l) &7This world is currently disabled!"
world-enabled-success
:
"&aWorld: &7<world> &ahas been enabled!"
world-disabled-success
:
"&cWorld: &7<world> &chas been disabled!"
error
:
"&7&l(&c&l!&7&l) &7There's been an unknown error! Check your config.yml"
nether:
enabled
: true
cooldown
:
"5"
time-to-tp
:
"5"
item-name
:
"&c&lNether Ticket"
item-type
:
"PAPER"
item-lore1
:
""
item-lore2
:
"&6Use it to teleport to the: "
item-lore3
:
"&c&lNether"
item-lore4
:
"&7(Right click to use it)"
craftable
: false
crafting-slot1
:
"SMOOTH_STONE"
crafting-slot2
:
"SMOOTH_STONE"
crafting-slot3
:
"SMOOTH_STONE"
crafting-slot4
:
"SMOOTH_STONE"
crafting-slot5
:
"DIAMOND_BLOCK"
crafting-slot6
:
"SMOOTH_STONE"
crafting-slot7
:
"SMOOTH_STONE"
crafting-slot8
:
"SMOOTH_STONE"
crafting-slot9
:
"SMOOTH_STONE"
location:
==
: org.bukkit.Location
world
: world_nether
x
: 0.0
y
: 70.0
z
: 0.0
pitch
: 0.0
yaw
: 0.0
end:
enabled
: true
cooldown
:
"5"
time-to-tp
:
"5"
item-name
:
"&d&lEnd Ticket"
item-type
:
"PAPER"
item-lore1
:
""
item-lore2
:
"&eUse it to teleport to the: "
item-lore3
:
"&d&lEND"
item-lore4
:
"&7(Right click to use it)"
craftable
: false
crafting-slot1
:
"OBSIDIAN"
crafting-slot2
:
"OBSIDIAN"
crafting-slot3
:
"OBSIDIAN"
crafting-slot4
:
"OBSIDIAN"
crafting-slot5
:
"ENDER_PEARL"
crafting-slot6
:
"OBSIDIAN"
crafting-slot7
:
"OBSIDIAN"
crafting-slot8
:
"OBSIDIAN"
crafting-slot9
:
"OBSIDIAN"
location:
==
: org.bukkit.Location
world
: world_the_end
x
: 0.0
y
: 70.0
z
: 0.0
pitch
: 0.0
yaw
: 0.0
Commands
/worldtickets help
- Description:
Displays the help menu with detailed command information.
- Usage:
/worldtickets help
/worldtickets give <player> <world> [<amount>]
- Description:
Gives a specified number of teleportation tickets to a player. <world> should be either nether or end; if <amount> is omitted, it defaults to 1.
- Usage:
/worldtickets give Steve nether 2
/worldtickets enable <world>
- Description:
Enables teleportation for the specified world.
- Usage:
/worldtickets enable nether
/worldtickets disable <world>
- Description:
Disables teleportation for the specified world.
- Usage:
/worldtickets disable end
Permissions
- zebraworldtickets.usenetherticket
Allows players to use Nether tickets for teleportation.
- zebraworldtickets.useendticket
Allows players to use End tickets for teleportation.
- zebraworldtickets.help
Grants access to the /worldtickets help command.
- zebraworldtickets.give
Permits the use of /worldtickets give to distribute tickets.
- zebraworldtickets.enableworld
Allows enabling teleportation for a world via /worldtickets enable.
- zebraworldtickets.disableworld
Allows disabling teleportation for a world via /worldtickets disable.
- zebraworldtickets.enterbynetherportal
Allows entry into the Nether via a portal.
- zebraworldtickets.enterbyendportal
Allows entry into The End via a portal.
API Usage
ZebraWorldTickets exposes an API for other plugins to retrieve the ticket ItemStacks.
How to Use:
- Obtain the API Instance:
Code (Java):
import
org.bukkit.Bukkit
;
import
zebra.zebraWorldTickets.WorldTicketsAPI
;
// In your plugin:
WorldTicketsAPI ticketAPI
= Bukkit.
getServicesManager
(
).
load
(WorldTicketsAPI.
class
)
;
if
(ticketAPI
!=
null
)
{
// API is ready to use.
}
else
{
// Plugin may not be loaded.
}
2. Retrieve Tickets:
Code (Java):
ItemStack netherTicket
= ticketAPI.
getNetherTicket
(
)
;
ItemStack endTicket
= ticketAPI.
getEndTicket
(
)
;
Support
For further assistance, please contact the plugin author.