Spear ConfigСкачать
ВЕРСИИ (1)
release
Spear Config 1.0.0
1.0.029 июл. 2026 г.245Minecraft: 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Что нового
## [1.0.0]
### Breaking changes
- Replaced scalar `limits.<tier>` values with independent `enabled` and `amount` fields. An enabled amount of `0` now blocks every craft; disabling the tier's master switch makes it unlimited.
- Replaced scalar `cooldown.jab` and `cooldown.lunge` values with independent `enabled` and `seconds` fields. Zero is now a valid zero-second value instead of changing whether the cooldown is enabled.
- Replaced the global `announcements` boolean with independent `announcements.chat` and `announcements.title` switches, both enabled by default.
- Added automatic migration from the 0.1 schema: positive legacy limits and cooldowns become enabled, zero values become disabled, and the legacy announcement value is copied to both channels.
### Added
- Added `/spearconfig toggle limit <tier>`, `/spearconfig toggle cooldown <jab|lunge>`, and `/spearconfig toggle announcements <chat|title>` with full tab completion.
- Added exact integer entry through chat for every numeric GUI control, including `cancel`, validation, timeout handling, and return to the originating page.
- Added title announcements for successful crafts and newly reached tier limits.
- Added automated tests for 0.1-to-1.0 configuration migration.
### Changed
- Redesigned every category page around both horizontal and vertical symmetry, with values above the true center and matching switches below.
- Rebuilt the enchantment browser as paginated three-row book controls with readable names, five visual level indicators, per-enchantment allow switches, and the global enchanting switch on the final page.
- Removed click-spam numeric adjustments in favor of direct integer entry.
- Made every custom crafting-barrier name and lore line explicitly non-italic.
### Compatibility notes
- `CraftLimitListener` still changes `PrepareItemCraftEvent` results and cancels `CraftItemEvent` when an enabled limit would be exceeded; recipe or crafting plugins acting at the same priority may compete with it.
- `AttackCooldownListener` still cancels Paper's `PrePlayerAttackEntityEvent` and `EntityLungeEvent`; combat plugins or ProtocolLib listeners can be sensitive to event/listener ordering.
- `ChatInputManager` consumes an administrator's next `AsyncChatEvent` while exact numeric input is pending; chat-formatting or moderation plugins at other priorities may observe or compete with that cancelled message.
## [0.1.0]
### Added
- Seven tier-aware spear crafting limits with tracked counts, explanatory blocked-recipe barriers, successful-craft tracking, announcements, and online inventory/ender-chest/nested-shulker refreshes.
- Natural spear-drop suppression for zombies, husks, zombie villagers, zombie horse and camel husk encounters, piglins, and zombified piglins.
- Independent Paper-native jab and lunge cooldowns using `PrePlayerAttackEntityEvent` and `EntityLungeEvent`.
- Runtime discovery of spear-compatible enchantments through `Enchantment#canEnchantItem`, with allow-list and maximum-level enforcement at enchanting tables and anvils.
- Inventory-owner glow, tab-list color, dropped-item names, and interval-based position broadcasts using one shared color.
- Complete `/spearconfig` command tree, `/spearcfg` and `/scconfig` aliases, `spearconfig.admin`, and full argument tab completion.
- Symmetric 45-slot GUI with eight categories, consistent borders, centered controls, and uniform left/right/shift numeric adjustments.
- Java 25 Gradle build, Paper 26.1–26.2 metadata, default configuration, automated logic tests, and GPL-3.0-only project files.
### Compatibility notes
- `CraftLimitListener` changes `PrepareItemCraftEvent` results and cancels `CraftItemEvent` when limits would be exceeded; recipe or crafting plugins acting at the same priority may compete with it.
- `MobDropListener` filters `EntityDeathEvent#getDrops`; mob-loot plugins that rewrite drops later can reintroduce or override spear drops.
- `AttackCooldownListener` cancels Paper's `PrePlayerAttackEntityEvent` and `EntityLungeEvent`; combat plugins or ProtocolLib listeners can be sensitive to event/listener ordering.
- Colored glow uses the main scoreboard team `sc_wielders`; scoreboard, nameplate, or permissions plugins that manage player teams can override it or be temporarily displaced while a player owns a spear.