
Lifesteal Plugin
A fully customizable, production-grade Minecraft plugin that implements a complete lifesteal system with hearts, bans, revives, MySQL support, advanced crafting recipes, and full admin control — designed for scalable SMP servers.
Оцените первым
15.8K
16
Список изменений
New features
| Change | Description |
|---|---|
| Recipe preview system | Added a full in-game recipe preview system for the plugin’s custom items. Players no longer need to rely on chat messages, screenshots, or outside documentation to understand how to craft important items. The feature introduces a dedicated GUI-based workflow for browsing and previewing custom recipes directly inside Minecraft. |
/recipeview command | Added a new /recipeview command as the entry point for the recipe preview system. It supports targeted previewing as well as overview browsing, making the feature usable both for players who already know what they want to inspect and for players who are just exploring available custom recipes. |
| Heart recipe preview | Added a dedicated Heart recipe preview menu. This screen visually displays the configured 3×3 recipe layout, the crafted result, and supporting GUI information so players can immediately understand how the Heart item is made without needing external help. |
| Revive Beacon recipe preview | Added a dedicated Revive Beacon recipe preview menu. Just like the Heart preview, it presents the full crafting layout and output item in a clean GUI, making one of the plugin’s most important late-game items much easier to understand and communicate to players. |
| Recipe overview menu | Added an overview GUI accessible through /recipeview all. This acts as a recipe browser where players can see the available custom recipe categories in one place and open the exact recipe they want from there. It improves discoverability and makes the feature feel like a proper in-game interface instead of a command-only utility. |
| GUI navigation flow | Added menu navigation between overview and detailed recipe previews, including a dedicated back button in recipe screens. Players can now move through the recipe system naturally instead of reopening commands every time they want to inspect another item. |
| Localized recipe GUI | Added full language-system support for the recipe preview feature. GUI titles, labels, status text, instructions, back button text, ingredient labels, and error messages are now language-aware, allowing the feature to work properly across your translated language files instead of being locked to English. |
| Recipeview language namespace | Added a dedicated recipeview.* language section to organize all recipe-browser-related messages and GUI text. This makes the translation structure much cleaner and gives every language file a clear place for recipe preview strings without scattering them across unrelated sections. |
| Styled recipe interface | Added a more polished visual presentation for the recipe GUI, including custom-labeled interface items, a styled “Crafts Into” indicator, themed borders, and clearer UI separation between ingredients, output, and navigation. This makes the feature look intentional and server-ready instead of like a debug menu. |
| GUI sound feedback | Added sound feedback for menu open, recipe selection, returning to the overview, and denied/error states. This improves the feel of the recipe interface and gives players clearer feedback while navigating the new system. |
| Animated menu borders | Added a subtle animated border effect to the recipe menus. This gives the GUI a more premium feel and helps the feature stand out visually from a plain static inventory screen. |
| Runtime language switching | Improved the plugin so language changes can be tested by changing the configured language and reloading, rather than requiring a full server restart. This makes translation work much easier and allows faster iteration when maintaining many language files. |
Optimizations and internal improvements
| Change | Description |
|---|---|
| Recipe GUI now uses a cached text bundle | RecipeViewCommand was refactored to load GUI-related language strings into a single structured text bundle instead of repeatedly calling the language manager for the same keys throughout menu construction. This reduces repeated lookup work, makes the command cleaner, and centralizes fallback behavior. |
| Missing language-key spam greatly reduced | LangManager now tracks missing keys and logs each missing language key only once per load/reload cycle instead of spamming the console every time the key is requested. This is a major operational improvement, especially for your many-language setup where translation coverage may be incomplete during development. |
| Null/empty lang key warnings reduced | The language manager also limits repeated warnings for null or empty language-key requests. This keeps the console cleaner and makes real problems easier to notice when debugging. |
| Replacement warning noise reduced | Placeholder replacement validation inside LangManager now avoids repeatedly spamming the same malformed replacement-pair warning. This is small but useful when testing message formatting. |
| Language files now auto-sync on startup | LifestealSMP now syncs bundled language files into the plugin data folder during startup. Missing keys are copied from the bundled resources into existing language files without wiping user translations. This makes updates much safer when new features introduce new language keys. |
| Selected language can be resynced on demand | In addition to syncing all language files, the main plugin class now has support for syncing the selected language file path based on the configured language code. This improves maintainability and gives the plugin a cleaner language-update workflow. |
| Reload flow now refreshes recipes too | ReloadCommand was upgraded so reload no longer just refreshes config/lang data. It now also unregisters and re-registers recipes after config reload, ensuring recipe changes immediately take effect without a full restart. This is a practical runtime optimization for development and live tweaking. |
| Reload flow now syncs language files before language reload | On reload, language resources are now synchronized before the language manager is refreshed. That means newly added keys from bundled resources are available immediately after reload, which avoids stale-language states and reduces manual maintenance. |
| Correct reload permission handling | Reload command permission handling was tightened so it uses the correct reload-oriented permission path instead of mixing responsibilities with broader admin permissions. This is a cleaner separation of access control and avoids permission-model ambiguity. |
| Recipe preview is fully read-only | The GUI blocks top-inventory clicks, dangerous drag operations, shift-click behavior, hotbar swap abuse, and several inventory actions that could otherwise move items into or out of the preview. This prevents menu exploitation and makes the feature safer in production use. |
| Viewer-bound GUI ownership checks | Recipe GUI instances are associated with the player who opened them, and interactions from mismatched viewers are cancelled. This is a safety hardening step that prevents odd behavior with shared inventory references or unexpected interaction paths. |
| Animation lifecycle cleanup | The animated recipe GUI now starts and stops its scheduled animation tasks based on inventory open state, close events, and player quit events. This avoids leaving useless tasks running and prevents animation logic from leaking after the menu is no longer in use. |
| Back-button overwrite bug fixed | The recipe preview animation originally reused the same slot as the back button, causing the arrow to visually disappear while its click handler still worked. The border slot list was corrected so animated border repainting no longer overwrites the back button slot. This fixes both visual integrity and UI trustworthiness. |
| Recipe preview logic tied to recipe manager definitions | The recipe preview system reads from shared recipe definitions instead of acting like an unrelated mock GUI. This keeps visual previews aligned with the actual registered recipes and reduces drift between gameplay logic and presentation logic. |
| Command visibility model remains integrated | The plugin’s command registration and permission visibility caching still integrate the new /recipeview command into the same command-hiding and permission-aware visibility model used elsewhere in the plugin. This keeps the new feature consistent with the overall command UX. |
| Multi-language maintenance improved | Because the main plugin now syncs missing language keys and the language manager now falls back cleanly with reduced spam, you can translate files incrementally instead of needing every language file to be perfect immediately. This is a major maintainability improvement for a plugin with many translation targets. |
Файлы
lifestealsmp-1.7.0.jar(138.11 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.7.0
Загрузчики
BukkitPaperPurpurSpigot
Версии игры
1.21–26.2
Загрузок
1.3K
Дата публикации
27.06.2026
