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!