LinkBlocks - Advanced Teleport Blocks [1.21+] icon

LinkBlocks - Advanced Teleport Blocks [1.21+] -----

Create public, private, and personal teleport links with GUIs, effects, and more!



Update 1.1.0: Public Links, Permission Controls, Chest Security & Fixes
LinkBlocks Version 1.1.0 Update

This is a significant feature update for LinkBlocks! Thank you for your feedback during development.

>>> IMPORTANT - PLEASE READ! <<<
This update introduces new configuration options and requires new keys in your language files.
  • Add the new settings under the `settings:` section in your `config.yml` (see details below or on the main resource page).
  • Add the new message keys to your `messages_en.yml` and `messages_es.yml` files (see details below or on the main resource page).
  • Add the new permission nodes to your permissions plugin setup (see main resource page).
[HR][/HR]
✨ New Features
  • Public Global Blocks: Create direct teleport links between two admin-defined coordinates (`set1` <-> `set2`) usable by anyone! Use `/lbs public create <name>`, define points with `/lbs set1/set2 <name>`, then reload with `/lbs reload`. They don't use items and won't appear in `/lbs globalblocks`.
  • Permission-Based Limits: Control how many different personal block types players can own using permissions (e.g., `linkblocks.personal.limit.3`, `linkblocks.personal.limit.5`). Configurable default and maximum check range in `config.yml`.
  • Permission-Based Cooldowns: Assign different personal block cooldowns based on permissions (e.g., `linkblocks.cooldown.personal.5` for 5s, `linkblocks.cooldown.personal.0` for none). Configurable default and minimum check value in `config.yml`.
  • Global Block Cooldown: Added a configurable cooldown (default 5s) for using *all* global blocks (private and public) to prevent spam/loops (`settings.global_block_cooldown` in `config.yml`).
  • `/lbs help` Command: Displays available commands based on player permissions, with descriptions loaded from language files.
  • `/lbs leave` Command: Allows players who were added as friends to a private global block to remove their own access (`linkblocks.command.leave` permission).
  • Owner Info on Items: Private Global and Personal LinkBlock items now store and display the owner's name and UUID in NBT/Lore (added when given/bought).
  • No Dropping Items: Players can no longer drop LinkBlock items on the ground (`error.cannot_drop` message).
  • Chest Security:
    • Prevents players from taking LinkBlocks belonging to others from containers (Chests, Barrels, etc.) unless they have bypass permission (`linkblocks.admin.bypass.chest`). (`error.cannot_take_others_block` message).
    • When a container holding LinkBlocks is broken, the LinkBlocks inside are now sent to their owner's `/lbs lostblocks` instead of dropping (requires Owner NBT on the item). (`break.notification_chest_lost` message).

✅ Improvements & Fixes
  • **Context-Sensitive Return:** Returning from a global private `set2` location now correctly teleports the player back to the specific block instance they last used to reach `set1`.
  • **Language File System:** All user-facing messages are now loaded from `messages_en.yml` or `messages_es.yml` based on `settings.lang` in `config.yml`. (Removed `messages:` section from `config.yml`).
  • **Cache Reliability:** Fixed issues where the internal cache was not properly updated/cleared after breaking blocks, preventing teleports from stopping correctly.
  • **Public Block Logic:** Refined public block implementation (no item, uses fixed coordinates, ignored by `/give` and `/lbs globalblocks`).
  • **Lost Blocks Sync:** Fixed issue where lost blocks sometimes required a restart to appear in the GUI (`LostBlocksManager` now reloads file on get).
  • **Data Deletion:** Fixed issue where breaking blocks didn't fully remove all associated data from player files.
  • **Compilation Errors:** Fixed various compile errors related to method signatures (`createGlobalBlockEntry`, etc.).
  • General code cleanup and minor optimizations.

Required Configuration Changes
In `config.yml` -> `settings:` section, ADD/ENSURE these lines:

Code (YAML):

  lang
: "en" # Or "es" - Language to use
  # Default cooldown if no perm (personal blocks)
  personal_block_cooldown
: 10
  # Min cooldown value to check perms for (e.g., check for .cooldown.0)
  min_cooldown_check
: 0
  # Default limit if no perm (personal blocks)
  default_personal_block_limit
: 3
  # Max limit value to check perms for (e.g., check up to .limit.10)
  max_limit_check
: 10
  # Default recovery cost if not set per-block
  default_lost_block_recovery_cost
: 50.0
  # Cooldown for ALL global blocks (public/private)
  global_block_cooldown
: 5

[B ] [SIZE=4 ] New Message Keys [/SIZE ] [/B ]
Ensure your `messages_en.yml` and `messages_es.yml` contain the new keys added recently, including
: `usage.public_create`, `public_block_created`, `give.public_not_giveable`, `friend.public_no_friends`, `teleport_global_cooldown`, `buy.global.already_placed`, `error.cannot_drop`, `error.cannot_take_others_block`, `break.notification_chest_lost`, `usage.leave`, `leave.success`, `leave.notification`, `help.command_list_header`, and all `help.description.*` keys. (See previous responses or the default files in the JAR ).

[B ] [SIZE=4 ] New Permissions [/SIZE ] [/B ]
[LIST ]
[* ] `linkblocks.admin.public.create`
[* ] `linkblocks.command.leave`
[* ] `linkblocks.admin.bypass.chest` (Optional )
[* ] `linkblocks.personal.limit.X` (e.g., linkblocks.personal.limit.5 )
[* ] `linkblocks.cooldown.personal.X` (e.g., linkblocks.cooldown.personal.5 )
[/LIST ]

As always, please report any bugs or issues on the [URL=' [Link to your support page ]' ]resource discussion page or issue tracker [/URL ]. Thanks for using LinkBlocks!
----------, Mar 30, 2025
Resource Information
Author:
----------
Total Downloads: 56
First Release: Mar 28, 2025
Last Update: Apr 13, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings