# TeleportCore
> A feature-rich teleportation behavior pack for Minecraft Bedrock Edition.
**Author:** chriz3656
**Version:** 1.1.0
**Min Engine Version:** 1.21.0
**Discord:** [discord.gg/GNStfvvdwP](https://discord.gg/GNStfvvdwP)
---
## Table of Contents
1. [Installation](#installation)
2. [Subpacks](#subpacks)
3. [The TP Menu Item](#the-tp-menu-item)
4. [Tags](#tags)
5. [Features](#features)
- [TPA Requests](#tpa-requests)
- [TPA Here Requests](#tpa-here-requests)
- [TPA Toggle](#tpa-toggle)
- [Warps](#warps)
- [Homes](#homes)
- [Random Teleport](#random-teleport)
- [Death Teleport](#death-teleport)
- [Respawnpoint](#respawnpoint)
- [Movement Countdown](#movement-countdown)
- [Credits Screen](#credits-screen)
6. [Manager Guide](#manager-guide)
- [Manage Warps](#manage-warps)
- [Manage Home Ranks](#manage-home-ranks)
- [Pack Configuration](#pack-configuration)
7. [Dynamic Properties](#dynamic-properties)
---
## Installation
1. Download the `.mcpack` file.
2. Open it — Minecraft will import it automatically.
3. When creating or editing a world go to **Behavior Packs** and activate **TeleportCore**.
4. Choose a subpack (see below).
5. Launch the world.
---
## Subpacks
| Subpack | Description |
|---|---|
| **Not Craftable** | The TP Menu cannot be crafted. Obtain via creative mode or `/give`. |
| **Craftable (Type B)** | Craft with 1 Stick in any crafting grid. Stick is **consumed**. |
| **Craftable (Type A)** | Craft with 1 Stick in any crafting grid. Stick is **returned**. |
---
## The TP Menu Item
- **Identifier:** `tpc:tp_menu`
- **Icon:** Compass
- **Stack Size:** 1
- **Cooldown:** 0.5 seconds
- **Has enchantment glint:** Yes
```
/give @s tpc:tp_menu
```
---
## Tags
| Tag | Purpose |
|---|---|
| `tpcManager` | Full access to settings, warps, home ranks, pack config. Bypasses movement countdown. **Case sensitive. Cannot be renamed.** |
| `tpcBlacklist` | Blocks a player from using the TP Menu. Default name — configurable in Pack Config. |
| `tpc:tpaBlocked` | Player has blocked incoming TPA requests. Applied via the TPA Toggle button. |
| `tpc:underMovementCountdown` | Applied automatically during a countdown. **Do not add/remove manually.** |
Home rank tags are custom — defined by managers in the Home Ranks configuration.
---
## Features
### TPA Requests
Send a teleport request to another online player. If accepted, you teleport to them.
1. Open TP Menu → **Send a TP Request** → **TPA**
2. Search for a player by name
3. Select them from results
4. A countdown starts (if enabled) — don't move
5. The target receives a notification and can **Accept** or **Decline**
6. On accept, you are teleported to them
---
### TPA Here Requests
Request another player to teleport to **you** instead.
1. Open TP Menu → **Send a TP Request** → **TPA Here**
2. Search and select a player
3. If they accept, **they** teleport to **you**
Incoming requests show the request type (TPA or TPA Here) clearly.
---
### TPA Toggle
Block or unblock all incoming TPA and TPA Here requests.
- Open TP Menu → **TPA Requests: ON/OFF** to toggle
- When blocked: senders are shown a message that you are not accepting requests
- `tpcManager` players can still send requests regardless of your toggle
- Also accessible from the Incoming Requests screen
---
### Warps
Global teleport destinations set by managers.
- Open TP Menu → **Warps**
- Select a warp and wait for the countdown
- Public warps are visible to all players
- Private warps are only visible to `tpcManager` players
---
### Homes
Personal saved locations. Players can set, teleport to, and delete homes.
- Open TP Menu → **My Homes**
- Tap **+ Set New Home** to save your current location with a name
- Tap any home to teleport to it or delete it
- Home limits are controlled by rank tags (see [Manage Home Ranks](#manage-home-ranks))
- Default limit is configurable in Pack Configuration
**Home limit rules:**
- Players with no rank tag use the default home limit
- Players with rank tags get the highest limit among all their matching rank tags
- A limit of `0` means unlimited homes
---
### Random Teleport
Teleports you to a random safe location in the Overworld.
- Open TP Menu → **Random Teleport**
- A safe surface block is found within the configured RTP range (default ±5000 from 0,0)
- Lava and water surfaces are avoided
- **20 minute cooldown** per player
- `tpcManager` players bypass the cooldown
- RTP range is configurable in Pack Configuration
---
### Death Teleport
Teleports you back to your last death location.
- Open TP Menu → **Teleport to Death**
- Shows coordinates and dimension before confirming
- **One-time use** — the location is cleared after teleporting
- A new death location is saved each time you die
- Resistance effect applied on arrival
---
### Respawnpoint
Teleports you to your personal spawn point (or world spawn if none is set).
- Appears at the top of the Warps menu when enabled
- Can be enabled/disabled in Pack Configuration
- The icon is configurable
---
### Movement Countdown
Before teleporting, players must stand still for a configured number of seconds.
- Duration: 0–30 seconds (0 disables it)
- Moving cancels the action
- An `end_chest` particle plays above you during the countdown
- `tpcManager` players bypass the countdown entirely
- Applies to: TPA requests, TPA Here, warp TP, home TP, death TP, RTP
---
### Credits Screen
- Open TP Menu → **About TeleportCore**
- Shows pack name, version, author, and Discord link
---
## Manager Guide
Give yourself the `tpcManager` tag to access settings:
```
/tag @s add tpcManager
```
Open the TP Menu — a **Settings** button will appear at the bottom.
---
### Manage Warps
**Settings → Manage Warps → + New Warp**
| Field | Description |
|---|---|
| Warp Name | Displayed in the warps menu |
| Position XYZ | Pre-filled with your current position |
| Rotation XY | Direction players face on arrival |
| Dimension | Overworld, Nether, or The End |
| Private | If on, only managers can see and use this warp |
Then select an icon from the preset grid.
**Edit or Delete:** Select any existing warp from the list and modify fields or toggle delete.
---
### Manage Home Ranks
**Settings → Manage Home Ranks**
Define custom rank tags and the number of homes players with that tag can have.
**+ New Rank fields:**
| Field | Description |
|---|---|
| Tag Name | The exact tag players must have (case sensitive) |
| Home Limit | Number of homes allowed. `0` = Unlimited |
**Example setup:**
| Tag | Limit | Notes |
|---|---|---|
| *(no tag)* | 1 | Default — set in Pack Config |
| `tpc:vip` | 3 | `/tag <player> add tpc:vip` |
| `tpc:mvp` | 5 | `/tag <player> add tpc:mvp` |
| `tpc:admin` | 0 | Unlimited homes |
Players with multiple rank tags automatically get the highest applicable limit.
---
### Pack Configuration
**Settings → Pack Configuration**
| Setting | Default | Description |
|---|---|---|
| Blacklist Tag | `tpcBlacklist` | Tag that blocks players from using the TP Menu |
| Movement Countdown for TP Requests | On | Enables standing-still countdown before TP actions |
| Respawnpoint Warp | On | Shows personal respawnpoint button in Warps menu |
| Respawnpoint Icon | `textures/items/bed_red` | Icon for the respawnpoint button |
| Movement Countdown Duration | 5s | Seconds players must stand still (0 = disabled) |
| RTP Max Range | 5000 | Max blocks from 0,0 for random teleport |
| Default Home Limit | 1 | Homes allowed for players with no rank tag |
---
## Dynamic Properties
| Property | Contents |
|---|---|
| `tpc:packSettings` | Pack configuration JSON |
| `tpc:warpRegistry` | Array of warp objects |
| `tpc:homes:<playerName>` | Array of home objects per player |
| `tpc:lastDeath:<playerName>` | Last death location per player (cleared on use) |
| `tpc:rtp:<playerName>` | Timestamp of last random TP (for cooldown) |
---
*TeleportCore v1.1.0 by chriz3656 — discord.gg/GNStfvvdwP*