NTicketPortal
A modern ticket portal plugin that lets players create, track, and manage support tickets quickly and easily.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
NTicketPortal

Overview
NTicketPortal is a modern Minecraft portal-management plugin (Paper/Folia) that controls world access using fully configurable teleport settings, fully configurable teleport settings, and fully configurable teleport settings.
It is designed to be simple for staff and flexible for server owners. You can configure each world independently: portal availability, ticket requirements, opening hours, open/close console actions, and teleport destination.
NTicketPortal is a strong fit for survival, RPG, event, and economy servers where worlds such as Nether, End, or custom dimensions should be gated and controlled.
Features
- Configurable Messages – compatible with modern Paper/Folia environments. - Configurable Messages – tickets are bound to specific worlds and consumed on use. - Configurable Messages – material, CustomModelData, display name, lore, and glow effect. - Configurable Messages – separate open/close hours for each day of the week. - Configurable Messages – run console commands when a portal opens or closes. - Configurable Messages – quickly enable or disable a portal per world. - Configurable Messages – configure target teleport locations in-game. - Configurable Messages – configure multiple destinations in the `teleports` section. - Configurable Messages – customize player/admin messages directly in `config.yml`.

Installation & Usage
1. Put NTicketPortal into your server `plugins` folder. 2. Start the server once to generate configuration files. 3. Open and configure:
```text plugins/NTicketPortal/config.yml ```
4. Add your worlds in `teleports` and configure ticket/time rules. 5. Set a destination spawn for a world:
```text /nticketportal setspawn <world> ```
6. Give tickets to players:
```text /nticketportal give <world> <amount> <player> /nticketportal <player> <world> ```

Commands
| Command | Description | Permission | |---|---|---| | `/nticketportal give <world> <amount> <player>` | Gives a specific amount of tickets for a selected world. | `nticketportal.admin` | | `/nticketportal <player> <world>` | Shortcut command that gives 1 ticket. | `nticketportal.admin` | | `/nticketportal setspawn <world>` | Sets the destination teleport location for a world. | `nticketportal.admin` | | `/nticketportal toggle <world>` | Enables or disables the portal for a selected world. | `nticketportal.admin` |
How It Works
1. A player attempts to travel through a portal (Nether/End or plugin/command teleport). 2. The plugin validates whether that world portal is currently enabled and open by schedule. 3. If ticket mode is enabled, the player must hold a valid world-bound ticket in the main hand. 4. After validation, one ticket is consumed and the player is teleported to the configured location.

Example Configuration
config.yml
```yaml settings:
Timezone used for schedule checks
time: 'Europe/Warsaw'
teleports: world_the_end: enabled: true ticket: enabled: true item: material: PAPER modeldata: 10001 glow: true name: '<green>End Pass' lore: - '<white>Allows access to world_the_end' time: enabled: true actions: open: - say world_the_end portal is now OPEN! close: - say world_the_end portal is now CLOSED! days: MONDAY: { open: 8, close: 12 } TUESDAY: { open: 8, close: 12 } WEDNESDAY: { open: 8, close: 12 } THURSDAY: { open: 8, close: 12 } FRIDAY: { open: 8, close: 12 } SATURDAY: { open: 8, close: 12 } SUNDAY: { open: 8, close: 12 } teleport: enabled: true location: null ```

Support & Community
Need help, found a bug, or want to suggest a feature? Join the Discord server below. Feedback is reviewed and improvements are considered in future updates.