Skip to content

Changes

Started 4 days 0 hr ago
Took 48 sec on Builder

Summary

  1. Add -DskipDockerTests=true flag to skip Testcontainers SQL tests (commit: 397d6de) (details)
  2. Fix Woodcutting/Excavation bonus drops bypassing BlockDropItemEvent (commit: ce021db) (details)
  3. Fix Minecraft version detection failing on Spigot servers (commit: 11225a2) (details)
Commit 397d6de36ce0f9578612a6a1aa98039dcfb0257b by nossr50
Add -DskipDockerTests=true flag to skip Testcontainers SQL tests
(commit: 397d6de)
The file was modifiedpom.xml (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/database/SQLDatabaseManagerTest.java (diff)
Commit ce021dbe129c912820f28649d6c4050ed80abe13 by nossr50
Fix Woodcutting/Excavation bonus drops bypassing BlockDropItemEvent

Woodcutting (Harvest Lumber, Clean Cuts) and Excavation treasure drops
previously spawned items directly via world.dropItem(), bypassing
BlockDropItemEvent entirely. This made them invisible to Telekinesis-style
enchant plugins (ExcellentEnchants, EcoEnchants, etc.).

Woodcutting fix: processBonusDropCheck() now calls BlockUtils.markDropsAsBonus()
for normal breaks, routing bonus drops through the existing BlockDropItemEvent
metadata pipeline. Tree Feller retains the direct-spawn path since it sets
blocks to AIR without firing BlockDropItemEvent.

Excavation fix: treasure rolls are now performed inside onBlockDropItemEvent()
via ExcavationManager.rollAndCollectTreasureDrops(). The returned ItemStacks
are spawned and injected into event.getItems(), exposing them to the full
Bukkit event pipeline. GigaDrillBreaker's 3x roll count is preserved. The
old processExcavationBonusesOnBlock(treasure, location) path is kept as a
deprecated fallback for external API callers.
(commit: ce021db)
The file was modifiedsrc/test/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingTest.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/excavation/ExcavationManager.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/skills/excavation/ExcavationTest.java (diff)
Commit 11225a2f55412618512c1ee0a0d87ba895060e08 by nossr50
Fix Minecraft version detection failing on Spigot servers

The old regex required a trailing [-_] after the version digits, which worked
for getBukkitVersion() strings (e.g. '1.21.4-R0.1-SNAPSHOT') but silently
failed on Spigot's Bukkit.getVersion() format ('git-Spigot-12345-abcdef
(MC: 1.21.4)') since '1.21.4)' has no trailing dash or underscore. Version
resolved to 0.0.0, causing Tricky Trials potions (isAtLeast 1.21.0 check)
to be incorrectly skipped on every Spigot server.

MinecraftGameVersionFactory now uses two patterns:
- Primary: extracts from the '(MC: X.Y.Z)' segment that CraftBukkit always
  embeds in Bukkit.getVersion() — handles Spigot, old Paper, and Paper 26+
- Fallback: original regex for strings without '(MC: ...)' such as
  getBukkitVersion()-style strings

Tests updated with @Nested classes covering both paths, including explicit
Spigot format cases and Paper 26+ versioning (26.1.2-60-b4682bf format).
(commit: 11225a2)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/platform/MinecraftGameVersionTest.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MinecraftGameVersionFactory.java (diff)
The file was modifiedChangelog.txt (diff)