ModsJava
LinkBlocks
Create public, private, and personal teleport links with GUIs, effects, and more!
⬇ Download on HangarOpen in MCModsHubGet it on Google Play →# **✦ LinkBlocks ✦**
### Advanced Teleportation Your Way! / ¡Teletransporte Avanzado a Tu Manera!
*Public Warps, Private Links, Personal Player Teleports & More! (1.21+)*
##### Created by zRodoMzA
**### Overview / Descripción General**
english overview
Tired of complex warp plugins or limited vanilla portals? **LinkBlocks** offers a powerful, flexible, and intuitive solution to connect your Minecraft world like never before!
Create seamless **public transport networks** between key locations, offer secure **private teleport blocks** for ranks or staff areas, and empower your players to build their own **personal links** between bases or farms! All integrated with Vault economy, PlaceholderAPI support, intuitive GUIs, customizable effects, and a unique lost block recovery system.
**Why Choose LinkBlocks?**
* **Ultimate Flexibility:** Combines public warps (fixed coordinates), secure private links (item-based, owner/friend), and player-owned personal links (buyable, placeable) in ONE plugin.
* **Deep Customization:** Control everything! Player limits & cooldowns via permissions, individual block recovery costs, messages (multi-language!), sounds, particles, GUIs, and more via configuration.
* **Player Engagement:** Adds valuable utility, economy sinks (buying/recovering blocks), and social interaction (friends system for both global and personal blocks).
* **Admin Friendly:** Easy setup, clear commands (with `/lbs help`), detailed configuration files, and useful GUIs (including Lost & Found!).
* **Performance Focused:** Built with an internal caching system for block locations to ensure smooth teleports without lagging your 1.21+ server.
* **Secure:** Prevents item dropping and unauthorized removal of LinkBlocks from containers.
descripción general en español
¿Cansado de plugins de warps complejos o portales limitados? ¡**LinkBlocks** ofrece una solución potente, flexible e intuitiva para conectar tu mundo de Minecraft como nunca antes!
Crea fluidas redes de **transporte público** entre lugares clave, ofrece **bloques de teletransporte privados** y seguros para rangos o zonas de staff, y empodera a tus jugadores para construir sus propios **enlaces personales** entre bases o granjas. Todo integrado con economía Vault, soporte PlaceholderAPI, GUIs intuitivas, efectos personalizables y un sistema único de recuperación de bloques perdidos.
**¿Por Qué Elegir LinkBlocks?**
* **Flexibilidad Máxima:** Combina warps públicos (coordenadas fijas), enlaces privados seguros (basados en item, dueño/amigo) y enlaces personales propiedad del jugador (comprables, colocables) en UN SOLO plugin.
* **Personalización Profunda:** ¡Contrólalo todo! Límites y cooldowns de jugador vía permisos, costos de recuperación individuales por bloque, mensajes (¡multi-idioma!), sonidos, partículas, GUIs y más vía configuración.
* **Engancha a los Jugadores:** Añade utilidad valiosa, sumideros económicos (compra/recuperación de bloques) e interacción social (sistema de amigos para bloques globales Y personales).
* **Fácil para Admins:** Instalación sencilla, comandos claros (con `/lbs help`), archivos de configuración detallados y GUIs útiles (¡incluyendo recuperación de bloques perdidos!).
* **Enfocado en Rendimiento:** Construido con un sistema de caché interno para ubicaciones de bloques que asegura teletransportes fluidos sin laggear tu servidor 1.21+.
* **Seguro:** Previene el dropeo de items y la extracción no autorizada de LinkBlocks de contenedores.
**### Dependencies / Dependencias**
* **Vault:** [Required / Obligatorio](https://www.spigotmc.org/resources/vault.34315/) (+ Economy Plugin like EssentialsX, CMI, etc.)
* **PlaceholderAPI:** [Optional / Opcional](https://www.spigotmc.org/resources/placeholderapi.6245/) (For placeholders in messages / para placeholders en mensajes)
**### Installation / Instalación**
* Download the latest `LinkBlocks-X.Y.Z.jar`. / Descarga el último `LinkBlocks-X.Y.Z.jar`.
* Ensure Vault (+ Economy) and optionally PlaceholderAPI are installed on your 1.21+ Spigot/Paper server. / Asegúrate de tener Vault (+ Economía) y PlaceholderAPI (opcional) en tu servidor Spigot/Paper 1.21+.
* Place the LinkBlocks JAR in your `plugins` folder. / Coloca el JAR de LinkBlocks en tu carpeta `plugins`.
* Restart your server. / Reinicia tu servidor.
* Configure permissions, edit `config.yml` (especially `settings.lang`), and `messages_XX.yml`. Define blocks via commands or `config.yml`. Use `/lbs reload` after config edits! / Configura permisos, edita `config.yml` (especialmente `settings.lang`), y `messages_XX.yml`. Define bloques con comandos o en `config.yml`. ¡Usa `/lbs reload` tras editar la config!
**### Commands / Comandos**
(Main '/linkblocks' Alias principal: '/lbs')
click to show commands / clic para mostrar comandos
```
/lbs help - Shows the command list based on your permissions. / Muestra la lista de comandos según tus permisos.
/lbs create - Creates a PRIVATE global block entry (hold an item). / Crea entrada para bloque global PRIVADO (sostén item).
/lbs public create - Creates a PUBLIC global block entry (no item needed). / Crea entrada para bloque PÚBLICO.
/lbs delete - Deletes a global block definition (public or private). / Elimina definición de bloque global.
/lbs set1 - Defines point 1 (destination/link) for a global block. / Define punto 1 para bloque global.
/lbs set2 - Defines point 2 (return/link) for a global block. / Define punto 2 para bloque global.
/lbs give - Gives the item of a PRIVATE global block. / Da item de bloque global PRIVADO.
/lbs pgive - [Admin] Gives items for an already bought personal block. / [Admin] Da items de bloque personal YA COMPRADO.
/lbs list - Lists defined global blocks (indicates public/private). / Lista bloques globales definidos.
/lbs reload - Reloads configuration, messages, and caches. / Recarga configs, mensajes y cachés.
/lbs add - Adds a friend to your placed PRIVATE global block. / Añade amigo a tu bloque global PRIVADO.
/lbs remove - Removes a friend from your placed PRIVATE global block. / Quita amigo de tu bloque global PRIVADO.
/lbs leave - Leave access to another player's PRIVATE global block. / Abandona acceso a bloque global PRIVADO ajeno.
/lbs padd - Adds a friend to your PERSONAL block link. / Añade amigo a tu bloque PERSONAL.
/lbs premove - Removes a friend from your PERSONAL block link. / Quita amigo de tu bloque PERSONAL.
/lbs globalblocks - Opens the GUI for available PRIVATE global blocks. / Abre GUI bloques globales PRIVADOS.
/lbs personalblocks - Opens the shop GUI for personal blocks. / Abre tienda de bloques personales.
/lbs lostblocks - Opens the GUI to recover your lost blocks. / Abre GUI para recuperar bloques perdidos.
/lbs myblocks - Opens a GUI showing your placed/owned blocks and their status. / Abre GUI de tus bloques.
```
**### Permissions / Permisos**
click to show permissions / clic para mostrar permisos
**Admin (`linkblocks.admin`, default: op):** Grants access to all management commands and bypasses. Includes children:
* `linkblocks.admin.create`: Use `/lbs create`.
* `linkblocks.admin.public.create`: Use `/lbs public create`.
* `linkblocks.admin.delete`: Use `/lbs delete`.
* `linkblocks.admin.set1`: Use `/lbs set1`.
* `linkblocks.admin.set2`: Use `/lbs set2`.
* `linkblocks.admin.give`: Use `/lbs give`.
* `linkblocks.admin.pgive`: Use `/lbs pgive`.
* `linkblocks.admin.list`: Use `/lbs list`.
* `linkblocks.admin.reload`: Use `/lbs reload`.
* `linkblocks.admin.break`: Break other players' LinkBlocks (sends to lostblocks).
* `linkblocks.admin.bypass.global`: Use any private global block, ignoring owner/friends.
* `linkblocks.admin.bypass.personal`: Use any personal block, ignoring owner/friends and cooldown.
* `linkblocks.admin.bypass.chest`: Take other players' LinkBlocks from containers.
* `linkblocks.cooldown.personal.0`: Grants no cooldown for personal blocks.
* `linkblocks.personal.limit.99`: Grants a very high limit for personal blocks.
* (Also inherits all `linkblocks.player` permissions)
**Player (`linkblocks.player`, default: true):** Grants basic access. Includes children:
* `linkblocks.command.use`: Use `/lbs help` and the base command.
* `linkblocks.command.globalblocks`: Use `/lbs globalblocks`.
* `linkblocks.command.personalblocks`: Use `/lbs personalblocks`.
* `linkblocks.command.lostblocks`: Use `/lbs lostblocks`.
* `linkblocks.command.myblocks`: Use `/lbs myblocks`.
* `linkblocks.command.add`: Use `/lbs add` for own blocks.
* `linkblocks.command.remove`: Use `/lbs remove` for own blocks.
* `linkblocks.command.leave`: Use `/lbs leave`.
* `linkblocks.command.padd`: Use `/lbs padd` for own personal blocks.
* `linkblocks.command.premove`: Use `/lbs premove` for own personal blocks.
* `linkblocks.use.global`: Place and use obtained private global blocks.
* `linkblocks.use.personal`: Buy, place, and use personal blocks.
* `linkblocks.personal.limit.X`: (Assign ONE, e.g., `.limit.3` here) Sets the personal block limit if no higher permission is found. Should match `default_personal_block_limit` in config for the base group.
**Cooldown Permissions:**
* `linkblocks.cooldown.personal.X`: (Assign ONE, e.g., `.cooldown.5` to VIPs) Sets the personal block cooldown in seconds. Plugin uses the LOWEST number the player has permission for. If none, uses default from config.
**Limit Permissions:**
* `linkblocks.personal.limit.X`: (Assign ONE per rank, e.g., `.limit.4` to VIPs, `.limit.5` to MVIPs) Sets the maximum number of personal block TYPES the player can own. Plugin uses the HIGHEST number the player has permission for. If none, uses default from config.
### **Video Tutorial Español (¡Recomendado!)**

**### Configuration (config.yml) / Configuración**
click to show default config.yml / clic para mostrar config.yml por defecto
click to show default config.yml / clic para mostrar config.yml por defecto
```yaml
# ------------------------------------ #
# LinkBlocks Configuration #
# Version ~1.2.0 #
# ------------------------------------ #
# Prefix shown before plugin messages
prefix: "&8[&aLinkBlocks&8] &r"
# General plugin settings
settings:
# --- Language ---
lang: "en" # Language code to use (e.g., "es", "en"). Must match a messages_XX.yml file
# --- Cooldowns & Limits (Personal Blocks) ---
personal_block_cooldown: 10 # DEFAULT cooldown in seconds (if player lacks specific linkblocks.cooldown.personal.X permission)
min_cooldown_check: 0 # Minimum cooldown value to check for permissions (e.g., linkblocks.cooldown.personal.0 for no cooldown)
default_personal_block_limit: 3 # DEFAULT limit of personal block types a player can own (if player lacks specific linkblocks.personal.limit.X permission)
max_limit_check: 10 # Maximum limit value to check for permissions (will check up to linkblocks.personal.limit.10)
# --- Recovery (Lost Blocks) ---
default_lost_block_recovery_cost: 50.0 # Default recovery cost if a specific cost is not defined for the block type
# --- Global Blocks ---
global_block_cooldown: 5 # Cooldown in seconds for using ALL global blocks (public and private)
# --- GUIs ---
fill_empty_slots_gui: true # Fill empty GUI slots with the item below? (true/false)
fill_item_material: "GRAY_STAINED_GLASS_PANE" # Material used for filling empty slots
# --- Teleport Effects ---
teleport_sounds:
enabled: true # Enable sounds? (true/false)
volume: 1.0 # Volume (0.0 to 1.0+)
pitch: 1.0 # Pitch (0.5 to 2.0)
# Bukkit Sound Names: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
departure: "ENTITY_ENDERMAN_TELEPORT" # When leaving the TP location (private or public)
arrival: "ENTITY_PLAYER_LEVELUP" # When arriving at the TP destination (private or public)
# Optional: You can add return_departure and return_arrival for different sounds on PRIVATE global returns
# return_departure: "BLOCK_PORTAL_TRAVEL" # Sound when leaving global set2 (private)
# return_arrival: "BLOCK_BEACON_ACTIVATE" # Sound when arriving back at placed block (private)
teleport_particles:
enabled: true # Enable particles? (true/false)
# Bukkit Particle Names: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html
departure: # Particles on departure (private or public)
type: "PORTAL" # Particle Type
count: 40 # Amount/Count
offset_x: 0.5 # Spread (offset) X
offset_y: 0.8 # Spread (offset) Y
offset_z: 0.5 # Spread (offset) Z
speed: 0.1 # Speed/Extra data (often 0.0 for visual effects)
# data: null # Required for types like REDSTONE, BLOCK_DUST, ITEM_CRACK
arrival: # Particles on arrival (private or public)
type: "END_ROD"
count: 25
offset_x: 0.3
offset_y: 0.5
offset_z: 0.3
speed: 0.0
# data: null
# Optional: You can add 'return_departure' and 'return_arrival' sections for different private return particles
# --- Message section removed - Messages are now in messages_en.yml / messages_es.yml ---
# --- Global Block Definitions ---
global_blocks:
# Example PRIVATE Global Block
VipZone:
public: false # Is private
slot: 10 # Slot in /lbs globalblocks GUI
item_material: "GOLD_BLOCK" # Item Material
name: "&6VIP Access" # Item Display Name
lore:
- "&7Exclusive teleport to the"
- "&7VIP lounge."
- ""
- "&ePurchase Cost: &610000"
buy_cost: 10000.0 # Cost to buy it in the GUI
recovery_cost: 500.0 # <<< Cost to recover if lost
set1: # Destination (VIP Room)
world: "world"
x: 100.5
y: 75.0
z: -200.5
yaw: 90.0
pitch: 5.0
set2: # Return Point (Near VIP entrance)
world: "world"
x: 105.5
y: 75.0
z: -200.5
yaw: -90.0
pitch: 0.0
# Example PUBLIC Global Block
MarketShortcut:
public: true # Is public!
# slot, item_material, name, lore, buy_cost ARE IGNORED
recovery_cost: 0.0 # Recovery cost (0 as it shouldn't be lost)
set1: # Entry/Exit Point 1 (e.g., Near spawn)
world: "world"
x: -50.5
y: 64.0
z: 100.5
yaw: 0.0
pitch: 0.0
set2: # Entry/Exit Point 2 (e.g., Inside market)
world: "world"
x: 300.5
y: 68.0
z: 550.5
yaw: 180.0
pitch: 0.0
# --- Personal Block Definitions (for /lbs personalblocks shop) ---
personal_block_definitions:
pblock1:
slot: 10
buy_cost: 500.0
recovery_cost: 25.0 # <<< Specific recovery cost
shop_item_material: "ENDER_PEARL"
shop_item_name: "&aBasic Personal Link"
shop_item_lore:
- "&7Create your own quick"
- "&7teleport link."
- ""
- "&eCost: %cost%"
given_item_material: "OBSIDIAN"
given_item_name_set1: "&5Basic Link &8(&dEntry&8)"
given_item_name_set2: "&5Basic Link &8(&dExit&8)"
given_item_lore:
- "&7Place both blocks"
- "&7to activate your link."
- "&8ID: pblock1"
pblock2:
slot: 11
buy_cost: 1500.0
recovery_cost: 75.0 # <<< Specific recovery cost
shop_item_material: "ENDER_EYE"
shop_item_name: "&bAdvanced Personal Link"
# ... (rest of definition) ...
# --- GUI Settings ---
global_blocks_gui_settings:
title: "&1Available Global Blocks" # English default
size: 27
personal_blocks_gui_settings:
title: "&1Personal Block Shop" # English default
size: 27
lost_blocks_gui_settings:
title: "&4Recover Lost Blocks" # English default
size: 54
myblocks_gui_settings: # New GUI settings
title: "&3My LinkBlocks" # English default
size: 27 # Adjust size as needed
```
LinkBlocks is a free Minecraft Java mod. Compatible with Minecraft 1.21, 1.21.1, 1.21.2, 1.21.3 and newer. Downloaded 23 times (via Hangar). Download it and open it directly in the game.
Explore more