▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/LightPlus
LightPlus

LightPlus

A Simple Plugin that Adds Functions to Light Blocks in Survival

Оцените первым
165
1
Все версииLightPlus 1.2.0

LightPlus 1.2.0

Release31.08.2026

Список изменений

[1.2.0] - 2026-08-31

Added

  • Sound effects for light-block level switching, and all four LightPlus sounds (place, break, level change, level off) are now fully configurable under a new sounds section in config.yml — each with its own sound key, volume and pitch, plus a master sounds.enabled toggle and per-sound muting via an empty sound. The level-change sound still slides its pitch up with brightness, now anchored to the configured pitch at level 15.
  • Land protection support. Placing, removing and adjusting light blocks now respects land/region protection plugins. Block break/place already flowed through standard Bukkit events; the interaction-driven paths (right-click level rotation, shift-right-click adjacent placement, left-click removal) now dispatch a simulated block break/place event and abort if a protection plugin cancels it. Works with WorldGuard, GriefPrevention, GriefDefender, Residence, Towny, Lands, PlotSquared, BentoBox (and its skyblock forks), and any other plugin that cancels BlockBreakEvent / BlockPlaceEvent. Toggle it under the new land_protection.enabled option (default true). Added the corresponding plugins to softdepend.
  • /lightplus give <player> [level] [amount] (permission lightplus.give, default op) to hand a player leveled light items — level 0-15 (default 15), amount 1-64 (default 1) — with tab completion for the sub-command, player names and common values.
  • Per-player and per-world light-level caps. The highest lightplus.maxlevel.<0-15> permission node a player holds is the brightest level they may set (right-click adjust, shift-place, and placing a stored-level item all clamp to it); players with no node fall back to limits.default_max_level. limits.world_max_levels.<world> caps a level per world, and the effective limit is the lower of the two. lightplus.maxlevel.bypass (default op) removes all caps. /lightplus give is not clamped.
  • actions section in config.yml to individually disable the extra interactions: adjust_level (right-click level cycle), place_adjacent (shift-right-click place), left_click_break (left-click removal), and pick_block. A disabled action falls back to vanilla behaviour.
  • Pick-block support: middle-clicking a placed light block in Creative gives a light item at that block's exact level (vanilla would give the default level). actions.pick_block, on by default.
  • Sneak + scroll to step a placed light block's level up/down one at a time (looking at it, holding a light item). Unlike right-click it clamps at 0 and the player's max instead of wrapping. actions.scroll_level, on by default.
  • Configurable messages.prefix — a MiniMessage snippet (a LightPlus » gradient tag by default) prepended automatically to every chat message. Use the %prefix% token to place it manually or add it to an action-bar line.
  • Per-language messages. With messages.follow_client_locale (on by default), each player gets the string from messages.locales.<their client language> when one exists (keyed by full locale like zh_tw or just the language zh), otherwise the English default. Console always gets the default. Ships example Traditional Chinese (zh_tw) entries.
  • /lightplus help (also shown with no arguments) — a formatted, gradient-headed command panel with click-to-type and hover text, listing only the sub-commands the sender can use.
  • /lightplus version — a panel showing plugin version, author, server/Minecraft version, Folia support, detected land-protection plugins, and metrics backends.
  • MessageService.sendLines for multi-line MiniMessage output that keeps click/hover interactivity (sends Components instead of legacy strings).
  • Named light items. The item config section gives crafted / dropped / given light items a MiniMessage display name (%level% token) and lore; item.custom_name: false restores the plain vanilla item. Different-level items already didn't stack; the name just makes the level readable.
  • Modrinth update check. On startup LightPlus asks the Modrinth API (off-thread, never blocking startup) for the latest release and compares it three ways: up to date, an update is available (logged + lightplus.update join notice), or the running build is ahead of the latest release (/lightplus version shows "dev build"). Configured under update_check (enabled, notify_on_join); the project id is hard-coded. Message key messages.update_available (%current% / %latest% / %url%).
  • Optional light-block decay (decay config section, off by default). When on, a player-placed light block is removed decay.after_seconds later; a repeating sweep clears expired blocks on their region thread. Pending lights are persisted to decay-data.yml (decay.persist, default on) — saved on shutdown and every ~60s, reloaded shortly after start — so they still decay across a restart. lightplus.decay.exempt (default op) places permanent lights; breaking a light by hand cancels its pending decay.
  • PlaceholderAPI expansion (identifier lightplus, registered only when PlaceholderAPI is installed): %lightplus_version%, %lightplus_lights_placed%, %lightplus_lights_mined%, %lightplus_update_available%, %lightplus_latest_version%, %lightplus_pending_decay%, and the player placeholders %lightplus_max_level%, %lightplus_holding_light%, %lightplus_held_level%.
  • WorldGuard lightplus-use region flag (StateFlag, default allow). Setting it to deny in a region blocks every LightPlus light-block action there — adjust, place, shift-place and both break paths — regardless of build permission, and independently of the land_protection.enabled toggle. Registered in onLoad; requires the flag registry, so it needs a server restart to take effect (not /reload). The WorldGuard API is a provided dependency (EngineHub repo) and is not shaded.

Changed

  • Added a README.md (build / test / run-server docs) and a JUnit 5 test suite — mvn test, also run by mvn package — covering the update-check version comparison and light-level clamping.
  • Metrics initialisation (bStats + FastStats) is wrapped so a metrics failure logs a warning instead of aborting plugin enable.
  • Rewrote config.yml comments to explain the reasoning behind every option (how the land-protection check works, what volume above 1.0 does, pitch ranges, recipe shape rules, level-cap resolution, message tokens).
  • Sound settings, land protection, action toggles and level limits are read live, so /lightplus reload applies them without a restart.
  • Expanded plugin.yml command and permission descriptions.
  • The /lightplus command no longer carries a blanket lightplus.reload requirement; each sub-command checks its own permission, so lightplus.give can be granted independently.

Fixed

  • MiniMessage messages containing a <gradient:#hex:#hex> (such as the new prefix) rendered as literal <gradient::> text — the legacy &#RRGGBB converter was rewriting the hex colours inside the tag. It now only rewrites hex when prefixed with &.
  • registerCraftLightRecipe could throw and abort plugin enable when an upgraded config.yml predated the crafting_recipe section (the shape resolved from jar defaults while items did not, producing an unmapped-symbol recipe). Recipe building is now validated up front — row count/length, single-character keys, valid materials, and every shape symbol having an items entry — and wrapped so any failure logs a warning and skips the recipe instead of disabling the plugin.

Файлы

LightPlus-1.2.0-all.jar(184.17 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.2.0

Загрузчики

Folia
Paper
Purpur

Версии игры

1.21–26.2

Загрузок

9

Дата публикации

31.08.2026

Загрузил

ID версии

Главная