Skip to content

Changes

Started 2 days 7 hr ago
Took 1 min 24 sec on Builder

Summary

  1. Fix placed-block data loss when world height limits shrink (commit: 3d05c0b) (details)
  2. Warn instead of silently resetting unreadable placed-block chunk data (commit: 9acf67b) (details)
  3. Fix SubSkillEvent result modifier shrinking skill chances 100-fold (commit: 8ec5ef3) (details)
  4. Apply attack strength to skill RNG rolls for players without Lucky (commit: d083d93) (details)
  5. Fix cancelled level change events corrupting levels and crashing on unloaded players (commit: 4460e07) (details)
  6. Fix legacy potion name conversion corrupting modern REGENERATION names (commit: 41731c8) (details)
  7. Flag jockey riders with the same XP tracking as their spawned mount (commit: 4871b36) (details)
  8. Fix splash potions skipping saturation when other custom effects come first (commit: 99a6211) (details)
  9. Stop processing XP gains after WorldGuard denies them (commit: dae8f37) (details)
  10. Clean up fishing hand tracking when players quit (commit: 07347d2) (details)
  11. Ignore non-player owners in EntityTameEvent handling (commit: df03cac) (details)
  12. Untrack Call of the Wild summons when they die (commit: 84ac9d1) (details)
  13. Tidy TransientEntityTracker internals (commit: b862e44) (details)
  14. Fix Chimaera Wing underground penalty crashing for low-health players (commit: 08cb787) (details)
  15. Fix sound registry resolution and Cripple sound fallback (commit: 63d486d) (details)
  16. Fix patch version strings printing object references (commit: be18bbe) (details)
  17. Harden cold biome resolution against missing biomes (commit: af18395) (details)
  18. Fix console tab-completion for player names in mcMMO commands (commit: 07de5c4) (details)
  19. Skip healthbar name changes when the display type is disabled (commit: ce3b46d) (details)
  20. Make shutdown save tracking thread-safe for Folia (commit: d5dac2d) (details)
  21. Fix component grouping to honor the requested group size (commit: d66ad98) (details)
  22. Fix log filter hiding normal messages and crashing on null messages (commit: 2e4141e) (details)
  23. Use thread-local DecimalFormats for skill display formatting (commit: e68ef41) (details)
  24. Log upgrade tracking save failures through the plugin logger (commit: 65e6f40) (details)
  25. Fall back to legacy sound lookup when the registry class fails to initialize (commit: 8f1aae1) (details)
  26. Cache subskill unlock levels instead of re-reading rank config per check (commit: c7118fa) (details)
  27. Precompute permission node names for frequent checks (commit: 93e5650) (details)
  28. Read persistent mob flag config once instead of per check (commit: 6bd8a51) (details)
  29. Snapshot hot experience.yml settings instead of re-parsing per event (commit: 2ee06f4) (details)
  30. Snapshot hot config.yml settings instead of re-parsing per event (commit: 81359ff) (details)
  31. Reorder combat damage gates cheapest-first and drop duplicate checks (commit: 90a5983) (details)
  32. Exit block drop handling early when no mcMMO metadata is attached (commit: 02e6711) (details)
  33. Skip fake block damage events before world and region checks (commit: e430801) (details)
  34. Trim block place and break handlers of redundant snapshots and loops (commit: 5ebd538) (details)
  35. Fetch chunk entities once on unload and use single brewing stand map lookups (commit: 5c6559d) (details)
  36. Resolve McMMOPlayer once per event across hot listener paths (commit: 4a643dc) (details)
  37. Trim repeated work from hot ItemUtils checks (commit: b495114) (details)
  38. Stop rebuilding block lookup data on hot BlockUtils paths (commit: 7e9dd2a) (details)
  39. Lighten placed-block tracking lookups and chunk store memory (commit: 348ef94) (details)
  40. Reduce map traffic in FormulaManager level lookups (commit: a1f43be) (details)
  41. Read container and item metadata once per operation (commit: 594b8ab) (details)
  42. Cut per-event work in click, fishing, and command handlers (commit: 1a1bffd) (details)
  43. Snapshot per-roll and per-event config reads (commit: 6d44041) (details)
  44. Drop ModManager and deprecate unused public classes (commit: 97ba6db) (details)
  45. Clear out dead code and deprecate orphaned public members (commit: 804bc9a) (details)
  46. Finish the deprecation sweep for existing forRemoval batches (commit: 8521f93) (details)
  47. Fix Green Terra and Green Thumb ignoring dirt paths (commit: 7ce3de3) (details)
  48. Fix Super Breaker ignoring the modern copper block family (commit: a26bc85) (details)
  49. Add mangrove and cherry logs to the woodcutting drop list (commit: 2fd3e61) (details)
  50. Cull material names that never match and test the registers (commit: fdfc70d) (details)
  51. Guard MaterialMapStore set getters (commit: 50d99fd) (details)
  52. Drop compatibility shims obsoleted by the 1.20.5 floor (commit: ccbd598) (details)
  53. Introduce a shared listener guard preamble (commit: af1d82e) (details)
  54. Restructure melee combat dispatch and combat XP calculation (commit: 52b1197) (details)
  55. Deduplicate event firing and hardcore penalty skeletons (commit: 5e36895) (details)
  56. Consolidate the XP perk tiers into an ordered table (commit: 7fd0759) (details)
  57. Deduplicate milestone broadcasts in NotificationManager (commit: 85aa264) (details)
  58. Build scoreboard labels at init time instead of in a static initializer (commit: db55ce3) (details)
  59. Stop scoreboard teardown paths from constructing backends (commit: f6b43a6) (details)
  60. Fix handleLevelUp operator precedence scheduling redraws for hidden boards (commit: 9b33560) (details)
  61. Deprecate the never-working level-up scoreboard feature and its config keys (commit: 9f123b4) (details)
  62. Consolidate scoreboard enable/show methods behind a single helper (commit: bdcdea7) (details)
  63. Deduplicate scoreboard show logic and drop unreachable stats branch (commit: c288978) (details)
  64. Consolidate scoreboard task cancellation and make close-out exception-safe (commit: e459890) (details)
  65. Share the power level objective name across Bukkit scoreboard classes (commit: f84d0ac) (details)
  66. Remove cancelled XP bar hide tasks from the pending-task map (commit: f8b6b92) (details)
  67. Silence per-skill chat spam when disabling all XP bars at once (commit: 9f106b8) (details)
  68. Remove the dead LevelUp_Board and LevelUp_Time keys from config.yml (commit: 65d0f34) (details)
  69. Add placed-block round-trip and region segment growth tests (commit: 10db206) (details)
  70. Harden region file opening against corrupt headers and handle leaks (commit: e5db22e) (details)
  71. Log-and-degrade placed-block save failures at the manager boundary (commit: fadf970) (details)
  72. Polish backup store logging, clock threading, and merge resource handling (commit: 332ae33) (details)
  73. Make command registration data-driven with a single wiring path (commit: 90f5bc5) (details)
  74. Remove the dead mmocompat command and add registration coverage test (commit: b99c27a) (details)
  75. Consolidate text formatting helpers and refresh MOTD strings per display (commit: 1f0be8d) (details)
  76. Funnel sound send methods through one shared core (commit: d2a7639) (details)
  77. Guard subskill registration against duplicates and drop lazy map init (commit: e93c7ec) (details)
  78. Dedupe subskill checks, freeze subskill sets, accept English skill names on any locale (commit: 47219f8) (details)
  79. Trim mob metadata cleanup keys, lazy metadata flag value, fix attribute constants (commit: 6db314f) (details)
  80. Share a graceful reflective valueOf helper across version shims (commit: 1450f3a) (details)
  81. Flatten furnace fuel handler, dedupe item spawn methods, trim vector copies (commit: beec5a4) (details)
  82. Extract pure friendly-fire resolver and stop cancelling combust for unloaded data (commit: 6f6fb56) (details)
  83. Extract diet food mapping and eaten-hand resolution from the food listener (commit: 48b5e12) (details)
  84. Extract tracked-TNT owner resolution with tests (commit: 8618430) (details)
  85. Extract diminished-returns XP math into a tested pure formula (commit: 024ffd3) (details)
  86. Extract bonus-drop trust analysis into a tested helper (commit: 030dc36) (details)
  87. Extract repair/salvage anvil decision ladder into a tested resolver (commit: 606ba58) (details)
  88. Stop mutating fishing, interact, and block damage events at MONITOR priority (commit: 648a260) (details)
  89. Bump version to 2.3.000-SNAPSHOT (commit: 807cab1) (details)
  90. Condense the 2.3.000 changelog (commit: 9b76ac2) (details)
Commit 3d05c0b9f521d48225809317dd338cd98c81ec4f by nossr50
Fix placed-block data loss when world height limits shrink
(commit: 3d05c0b)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/blockmeta/BitSetChunkStoreTest.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/BitSetChunkStore.java (diff)
Commit 9acf67b6e2aad3a2d99a0830c2abe76aa1106065 by nossr50
Warn instead of silently resetting unreadable placed-block chunk data
(commit: 9acf67b)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/HashChunkManager.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/BitSetChunkStore.java (diff)
Commit 8ec5ef3285021e5f8d7edc1d584e6de6d91a42fd by nossr50
Fix SubSkillEvent result modifier shrinking skill chances 100-fold
(commit: 8ec5ef3)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/random/ProbabilityUtil.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/random/ProbabilityUtilTest.java (diff)
Commit d083d933ca1b0cfe2e102c07a6ca496d3a6c99c3 by nossr50
Apply attack strength to skill RNG rolls for players without Lucky
(commit: d083d93)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/random/ProbabilityUtilTest.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/random/ProbabilityUtil.java (diff)
Commit 4460e076a7d729c6fb5c9dcc075f111319d7c567 by nossr50
Fix cancelled level change events corrupting levels and crashing on unloaded players
(commit: 4460e07)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/EventUtilsTest.java
The file was modifiedsrc/main/java/com/gmail/nossr50/util/EventUtils.java (diff)
Commit 41731c867d72b17ff931c3d81d264f59d1ece3dc by nossr50
Fix legacy potion name conversion corrupting modern REGENERATION names
(commit: 41731c8)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/PotionUtilTest.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/PotionUtil.java (diff)
Commit 4871b36b6a7d6e81c2d7825285b4010f8976ec49 by nossr50
Flag jockey riders with the same XP tracking as their spawned mount
(commit: 4871b36)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was addedsrc/test/java/com/gmail/nossr50/listeners/EntityListenerTest.java
Commit 99a6211c01e16126b2585805967bedd5d25b366f by nossr50
Fix splash potions skipping saturation when other custom effects come first
(commit: 99a6211)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was modifiedChangelog.txt (diff)
Commit dae8f37cf5ab00e4a187aebd489a088b836cad25 by nossr50
Stop processing XP gains after WorldGuard denies them
(commit: dae8f37)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/listeners/SelfListenerTest.java
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/SelfListener.java (diff)
Commit 07347d227824496c7499f1f9311319e0b137eb4c by nossr50
Clean up fishing hand tracking when players quit
(commit: 07347d2)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was addedsrc/test/java/com/gmail/nossr50/listeners/PlayerListenerQuitCleanupTest.java
Commit df03caceaa36cfce6697af77d04449d33b700611 by nossr50
Ignore non-player owners in EntityTameEvent handling
(commit: df03cac)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/listeners/EntityListenerTest.java (diff)
Commit 84ac9d1f8fcc8793aaf22da580b9047835cd0a9f by nossr50
Untrack Call of the Wild summons when they die
(commit: 84ac9d1)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/listeners/EntityListenerTest.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
Commit b862e449e08d4d154df15d0cf341312642b32f13 by nossr50
Tidy TransientEntityTracker internals
(commit: b862e44)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/TransientEntityTracker.java (diff)
Commit 08cb7872ca9ce28f552df9e337cc0607a5cbd845 by nossr50
Fix Chimaera Wing underground penalty crashing for low-health players
(commit: 08cb787)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/ChimaeraWingTest.java
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ChimaeraWing.java (diff)
Commit 63d486d81aae2bfcfe21cb1b063fa6cd56101098 by nossr50
Fix sound registry resolution and Cripple sound fallback
(commit: 63d486d)
The file was addedsrc/test/java/com/gmail/nossr50/util/sounds/SoundManagerTest.java
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/sounds/SoundManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/sounds/SoundRegistryUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/sounds/SoundType.java (diff)
Commit be18bbe830dcc01fee58ee15ae53573608ed7fff by nossr50
Fix patch version strings printing object references
(commit: be18bbe)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/platform/MinecraftGameVersionTest.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/platform/MajorMinorPatchVersion.java (diff)
Commit af18395d74def6663836d736366a2847d161e09c by nossr50
Harden cold biome resolution against missing biomes
(commit: af18395)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/adapter/BiomeAdapter.java (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/adapter/BiomeAdapterTest.java
The file was modifiedChangelog.txt (diff)
Commit 07de5c4ef8b20bfa41c4742250a1af5fbff7a00b by nossr50
Fix console tab-completion for player names in mcMMO commands
(commit: 07de5c4)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/commands/CommandUtilsTest.java
The file was modifiedsrc/main/java/com/gmail/nossr50/util/commands/CommandUtils.java (diff)
Commit ce3b46d88f21e1e3762796cbf12c23605cfd7b77 by nossr50
Skip healthbar name changes when the display type is disabled
(commit: ce3b46d)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/MobHealthbarUtilsTest.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MobHealthbarUtils.java (diff)
The file was modifiedChangelog.txt (diff)
Commit d5dac2d8de742910b51e13178ced453626b536cc by nossr50
Make shutdown save tracking thread-safe for Folia
(commit: d5dac2d)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/player/UserManager.java (diff)
Commit d66ad98698abba20d0390492589d29f43d164701 by nossr50
Fix component grouping to honor the requested group size
(commit: d66ad98)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/text/TextUtils.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/text/TextUtilsTest.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 2e4141e29f7650aa2b7c30b387b5f080d1084109 by nossr50
Fix log filter hiding normal messages and crashing on null messages
(commit: 2e4141e)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/LogFilter.java (diff)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/LogFilterTest.java
Commit e68ef41d22e7733366cf3dce8063e97c3087b37f by nossr50
Use thread-local DecimalFormats for skill display formatting
(commit: e68ef41)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/text/StringUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/random/ProbabilityUtil.java (diff)
Commit 65e6f40069c6fe0b220650e6c0ea7ca8158a07e1 by nossr50
Log upgrade tracking save failures through the plugin logger
(commit: 65e6f40)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/upgrade/UpgradeManager.java (diff)
Commit 8f1aae11ebc1a6a4bbc7041c385f83795b887229 by nossr50
Fall back to legacy sound lookup when the registry class fails to initialize
(commit: 8f1aae1)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/sounds/SoundRegistryUtils.java (diff)
Commit c7118fa6f9639d4a203c682f06a0b915d6b634f2 by nossr50
Cache subskill unlock levels instead of re-reading rank config per check
(commit: c7118fa)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/RankUtils.java (diff)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/skills/RankUtilsTest.java
Commit 93e56505f3cf1a6c79564a89e3b8c7885ea883ec by nossr50
Precompute permission node names for frequent checks
(commit: 93e5650)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/Permissions.java (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/PermissionsNodeFormatTest.java
Commit 6bd8a519d5cf63b91b6e2383754552e96370cfc4 by nossr50
Read persistent mob flag config once instead of per check
(commit: 6bd8a51)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MobMetadataUtils.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 2ee06f48e61e614d8aaf03ca849f6c47040deca9 by nossr50
Snapshot hot experience.yml settings instead of re-parsing per event
(commit: 2ee06f4)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 81359ffee9fe7e3b59bd2374c3c7ce5c2d4a989f by nossr50
Snapshot hot config.yml settings instead of re-parsing per event
(commit: 81359ff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/GeneralConfig.java (diff)
Commit 90a59838dc4ebbaa8306910d7259d26b780cff8c by nossr50
Reorder combat damage gates cheapest-first and drop duplicate checks
(commit: 90a5983)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
Commit 02e6711a1f7c98e84a18069efba6237d350840ae by nossr50
Exit block drop handling early when no mcMMO metadata is attached
(commit: 02e6711)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
Commit e4308015d5d6d253f885afa074e0b719aabad15f by nossr50
Skip fake block damage events before world and region checks
(commit: e430801)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 5ebd538ea81045bc64c93730b8bd474d304e4744 by nossr50
Trim block place and break handlers of redundant snapshots and loops
(commit: 5ebd538)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 5c6559d5a0b9422d6a81c89c9eca8883f116ecda by nossr50
Fetch chunk entities once on unload and use single brewing stand map lookups
(commit: 5c6559d)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/ChunkListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InventoryListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 4a643dcc81c5612e0fdeb4a2d2674f945d8634c9 by nossr50
Resolve McMMOPlayer once per event across hot listener paths

Event handlers that null-checked UserManager.getPlayer and then called
it again (sometimes several times) now resolve the McMMOPlayer a single
time and reuse it. Also hoists the NPC-interaction and attacker lookups
out of the applyAbilityAoE loop and gives NotificationManager a
single-lookup notification eligibility check.
(commit: 4a643dc)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/SelfListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InventoryListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/CombatUtils.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/player/NotificationManager.java (diff)
Commit b495114f99cb212ccb07f1ba18d86c54f72c56be by nossr50
Trim repeated work from hot ItemUtils checks

Enchantment presence checks now use ItemStack#containsEnchantment
instead of cloning ItemMeta twice per check, enchantment-by-name
lookups are remembered in a map instead of scanning the registry every
call, isSmelted gains a Material overload so furnace extraction stops
allocating a throwaway ItemStack, Chimaera Wing checks fetch ItemMeta
once, and getRandomEnchantment picks by index instead of shuffling the
treasure book's shared enchantment list on every enchanted-book catch.
(commit: b495114)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/ItemUtilsTest.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ItemUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InventoryListener.java (diff)
Commit 7e9dd2a844f4044d42ff37cda2fc427362fef40c by nossr50
Stop rebuilding block lookup data on hot BlockUtils paths

isPartOfTree reads the block type once instead of snapshotting the
BlockState (it runs on every block place and axe-readying raycast),
getTransparentBlocks returns a set built once at class load instead of
scanning every Material per call, and onEntityChangeBlock reuses the
snapshot it already took instead of capturing a second one.
(commit: 7e9dd2a)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/BlockUtils.java (diff)
Commit 348ef94d34712459c8c31105db8128faff2999f4 by nossr50
Lighten placed-block tracking lookups and chunk store memory

HashChunkManager coordinate keys become a record so map lookups on
every block check stop boxing through Objects.hash, and
BitSetChunkStore lets its BitSet grow on demand instead of
pre-allocating the full world height for every chunk, most of which
track few or no blocks.
(commit: 348ef94)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/BitSetChunkStore.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/HashChunkManager.java (diff)
Commit a1f43be3c1a2958063681ddaa7e994eceaa870d7 by nossr50
Reduce map traffic in FormulaManager level lookups

XP-to-next-level caches now use computeIfAbsent instead of a
containsKey/put/get triple per lookup, and calculateXPNeeded falls back
to the linear formula without recursing when handed an invalid formula
type.
(commit: a1f43be)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/experience/FormulaManager.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 594b8ab40f22bb2367d9afbeae6ac2aa943fb3a7 by nossr50
Read container and item metadata once per operation

Container ownership processing resolves the current owner a single
time instead of re-reading persistent data (and re-resolving the
OfflinePlayer) for the ownership check, the change, and the debug
message. ItemMetadataUtils methods fetch ItemMeta and the persistent
data value once each, and removing a super ability boost reuses one
meta copy and one Efficiency enchantment lookup.
(commit: 594b8ab)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ItemMetadataUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ContainerMetadataUtils.java (diff)
Commit 1a1bffd0c9720c9923c0d09b01d31ffbf30279ae by nossr50
Cut per-event work in click, fishing, and command handlers

Inventory clicks return before resolving player data unless the
inventory is a furnace or brewing stand, the fishing catch handler
reads the caught item type and the boosted XP value once, and
localized skill command aliases are looked up from a map built once
per locale generation instead of localizing every skill name on every
command. LocaleLoader gains a generation counter so the alias map
rebuilds after /mcmmoreloadlocale.
(commit: 1a1bffd)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InventoryListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/locale/LocaleLoader.java (diff)
Commit 6d440410796466dd86ade6516f0c96727ab7b769 by nossr50
Snapshot per-roll and per-event config reads

Skill chance rolls hit AdvancedConfig getMaximumProbability and
getMaxBonusLevel on every RNG check, rebuilding the advanced.yml key
string each time; the addresses are now memoized on SubSkillType like
the permission nodes, and the values live in EnumMaps reset by
loadKeys(). useAttackCooldown, the Archery force multiplier, and the
per-event ExploitFix toggles in experience.yml get the same one-read
treatment. The retro mode flag is now stored before AdvancedConfig
loads since its level scaling reads that flag while validating.
(commit: 6d44041)
The file was modifiedsrc/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/mcMMO.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/AdvancedConfig.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/experience/ExperienceConfig.java (diff)
Commit 97ba6dbe814b021749895ce0a11e5816b23c202d by nossr50
Drop ModManager and deprecate unused public classes

ModManager has been a fully commented-out file with zero references
for years, so it is deleted outright. NMSConstants, NMSVersion,
FixSpellingNetheriteUtil, SkillActivationType, and ObjectiveType have
no internal references but are public, so they follow the
deprecate-first policy and are annotated forRemoval instead of
deleted.
(commit: 97ba6db)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/nms/NMSVersion.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/nms/NMSConstants.java (diff)
The file was removedsrc/main/java/com/gmail/nossr50/util/ModManager.java
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ObjectiveType.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/FixSpellingNetheriteUtil.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillActivationType.java (diff)
Commit 804bc9a257ed577f27f10bcb8c7dac07d71e1a06 by nossr50
Clear out dead code and deprecate orphaned public members

Deletes zero-API-surface dead code: the commented-out Flux Mining,
custom-damage-metadata, item-share, firework shower, and 2014-era Misc
blocks, PlayerLevelUtils commented constructor, the unused private
SpawnOrbTask and hasHeadRoom helpers, an unused local in
getParticleLocation, and the onCraftItem handler whose body had no
remaining effect.

Public members with no remaining callers follow the deprecate-first
policy instead: playAbilityDisabledEffect (now a no-op),
SkillUtils.calculateLengthDisplayValues, both handleLuckyPerks
overloads, getModName, getKeyGetKey, convertPotionConfigName,
FORMATTED_SUBSKILL_NAMES, the size-limited spawnItemsFromCollection,
and the unused ItemUtils enchantment-check overloads.
(commit: 804bc9a)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InventoryListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ItemUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/Misc.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillTools.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/BlockUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/PerksUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/PotionUtil.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/player/PlayerLevelUtils.java (diff)
Commit 8521f9369418ae31a831c918b1bfd4bb6b2206cf by nossr50
Finish the deprecation sweep for existing forRemoval batches

The simulateBlockBreak overloads whose javadoc claimed deprecation
without the annotation now carry a real @Deprecated(forRemoval), and
all internal callers pass FakeBlockBreakEventType.FAKE explicitly.
AbilityDisableTask calls the McMMOPlayer overload of
callAbilityDeactivateEvent instead of the deprecated Player one it
already had the McMMOPlayer for, and CombatUtils loses a duplicate
MobHealthbarUtils import.
(commit: 8521f93)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/EventUtils.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/mining/MiningManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/CombatUtils.java (diff)
Commit 7ce3de3a32ece4ee691b4fa8accdbd793df0ab87 by nossr50
Fix Green Terra and Green Thumb ignoring dirt paths

The mossy whitelist still listed grass_path, which stopped existing
when Minecraft 1.17 renamed it to dirt_path, so the dirt path
conversion that Herbalism.convertGreenTerraBlocks already supports
could never trigger.
(commit: 7ce3de3)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MaterialMapStore.java (diff)
Commit a26bc85b412a810d4904f18f346cc41f21df47c0 by nossr50
Fix Super Breaker ignoring the modern copper block family

The pickaxe block whitelist listed the cut copper slabs and stairs
under their pre-1.17-release snapshot names (lightly_weathered_*,
semi_weathered_*), which were renamed to exposed/weathered/oxidized in
21w05a and have never matched since. The whitelist now carries the
current names for the copper block, cut copper, slab, and stair
families including waxed variants.
(commit: a26bc85)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MaterialMapStore.java (diff)
Commit 2fd3e61bac31cbfc5d28ec04ac5df084efa7ac7a by nossr50
Add mangrove and cherry logs to the woodcutting drop list

isWoodcuttingDrop categorizes drops for party item sharing but never
learned the mangrove and cherry logs; the stripped mangrove log was
present while its unstripped form was not. Item sharing is currently
disabled at the pickup handler, so this is parity work for when it
returns rather than a player-visible fix.
(commit: 2fd3e61)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ItemUtils.java (diff)
Commit fdfc70de9631158892007ece2ec847ba7cc1b063 by nossr50
Cull material names that never match and test the registers

twisted_vines_plant was a misspelling of twisting_vines_plant, so
twisting vines never got multi-block plant handling; the name is
corrected. Entries that cannot match any block or item in either
edition are removed: the pre-1.13 wood_/gold_ tool and armor names
(their wooden_/golden_ forms stay), copper_blocks, petrified_oak_stairs,
smooth_stone_stairs, and the cut sandstone stair variants that never
existed.

Bedrock-style identifiers stay on purpose for Bukkit-API servers with
Bedrock naming. A new MaterialMapStoreTest reflects over every register
and fails on any name that neither resolves to a real Material nor sits
on the documented Bedrock-alias or newer-than-test-API allowlists, so
future typos and stale names surface immediately.
(commit: fdfc70d)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/MaterialMapStoreTest.java
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MaterialMapStore.java (diff)
Commit 50d99fdc6b1bec4fa59bc0d2239d6c57ff95bc6a by nossr50
Guard MaterialMapStore set getters

getNetheriteArmor hands out a copy instead of the live register so
callers cannot corrupt it, and getNetheriteTools, which nothing calls,
is deprecated for removal.
(commit: 50d99fd)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MaterialMapStore.java (diff)
Commit ccbd598b6fc69280d7648682ed1fb408fc03aea3 by nossr50
Drop compatibility shims obsoleted by the 1.20.5 floor

PotionEffectUtil returns the HASTE and NAUSEA constants directly
instead of reflecting over legacy field names (its skipped tautological
tests are removed), EnchantmentMapper resolves each enchantment with a
single registry lookup through a shared helper instead of per-
enchantment legacy alias loops, the glow berries food case joins the
Farmers Diet switch it was special-cased around, the bone meal crop
check becomes an EnumSet and drops nether wart block (bone meal cannot
be used on it, and the old case let it clear placed-block tracking),
and armor stand detection compares EntityType instead of strings.
Mannequin stays string-matched since the entity type is newer than the
oldest supported API.
(commit: ccbd598)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/EnchantmentMapper.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/PotionEffectUtil.java (diff)
The file was removedsrc/test/java/com/gmail/nossr50/util/PotionEffectUtilTest.java
Commit af1d82e5e5da8a5fdfd0278dde07e7c1527b3dbb by nossr50
Introduce a shared listener guard preamble

ListenerGuards.resolveEligiblePlayer runs the standard handler gates in
cheapest-first order (world blacklist, WorldGuard main flag, player
data key, loaded profile) and hands back the McMMOPlayer or null.
Adopted by the block damage handlers, both fishing handlers, and the
item pickup handler, whose preambles matched it verbatim; handlers
with side effects in their gates keep their own logic.
(commit: af1d82e)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was addedsrc/main/java/com/gmail/nossr50/listeners/ListenerGuards.java
Commit 52b1197dae5adfb1c45a05523196d42ba0ed4ebf by nossr50
Restructure melee combat dispatch and combat XP calculation

resolveMeleeSkill resolves which skill claims a hit in the historical
predicate order and processMeleeCombat dispatches on the result,
replacing six copies of the trigger-toggle/permission/process pattern.
The spear branch no longer falls through into the sword branch thanks
to the resolver being first-match-wins; new parameterized tests lock
the routing. processCombatXP splits into isPvpXpIneligible,
calculatePvpBaseXP, and calculatePveBaseXP helpers.

The ability preparation branches in BlockListener drop their outer
Permissions checks; checkAbilityActivation performs the same check
before activating, so the outer copies only duplicated work and one
of them (Berserk) sat at the wrong precedence level inside the FISTS
condition.
(commit: 52b1197)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/CombatUtils.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/skills/CombatUtilsTest.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
Commit 5e368956eceadc8e3319208657184cf8206b7c33 by nossr50
Deduplicate event firing and hardcore penalty skeletons

EventUtils gains a generic callEvent helper that fires an event
through the plugin manager and returns it; the nineteen hand-rolled
dispatch lines now go through it. HardcoreManager resolves each
McMMOPlayer once, shares a putNoChange helper for the four zero-fill
branches, and the two is-enabled-for-any-skill loops collapse into one
predicate-based helper.
(commit: 5e36895)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/EventUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/HardcoreManager.java (diff)
Commit 7fd07597c9ed10ac971748164216ec97f126511a by nossr50
Consolidate the XP perk tiers into an ordered table

handleXpPerks resolves the fixed multiplier tiers through a
record-backed list checked strongest-first instead of an eight-branch
if chain; the custom boost keeps its special handling and every
permission node stays exactly as it was.
(commit: 7fd0759)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/PerksUtils.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 85aa264ca1ea3393b488e0ddf12f75b6bac590b1 by nossr50
Deduplicate milestone broadcasts in NotificationManager

processLevelUpBroadcasting and processPowerLevelUpBroadcasting shared
their audience/hover/send body almost line for line; both now collapse
their guards into a single early return and delegate to a shared
broadcastMilestone helper. sendNearbyPlayersInformation is deprecated
since it never messaged nearby players despite the name (its one
internal caller now calls sendPlayerInformation directly), and the
misleading could-cache TODO on the per-player broadcast predicate is
gone.
(commit: 85aa264)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/player/NotificationManager.java (diff)
Commit db55ce3fb863a1ec4fe84e9336fab5053888510f by nossr50
Build scoreboard labels at init time instead of in a static initializer
(commit: db55ce3)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/scoreboards/ScoreboardManagerTest.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapperStatsPowerLevelTest.java (diff)
The file was modifiedChangelog.txt (diff)
Commit f6b43a6f8b54dac6d9f130e729376ad6e0027c6e by nossr50
Stop scoreboard teardown paths from constructing backends
(commit: f6b43a6)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java (diff)
Commit 9b335606aa90595a33f71a92339c8f3ec4976d8e by nossr50
Fix handleLevelUp operator precedence scheduling redraws for hidden boards
(commit: 9b33560)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/scoreboards/ScoreboardManagerTest.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 9f123b485772a7f8f2c5ca5be30f96d140fd7c99 by nossr50
Deprecate the never-working level-up scoreboard feature and its config keys
(commit: 9f123b4)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/GeneralConfig.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/scoreboards/ScoreboardManagerTest.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/resources/config.yml (diff)
Commit bdcdea731b351eb9ffdf12e67193bc6bb4ae48c3 by nossr50
Consolidate scoreboard enable/show methods behind a single helper
(commit: bdcdea7)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java (diff)
The file was modifiedChangelog.txt (diff)
Commit c2889784a369db8a0e289b2837f53c7adc2bae33 by nossr50
Deduplicate scoreboard show logic and drop unreachable stats branch
(commit: c288978)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java (diff)
Commit e459890547c754d8f9a0d19be9c55ff848ff8877 by nossr50
Consolidate scoreboard task cancellation and make close-out exception-safe
(commit: e459890)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java (diff)
The file was modifiedChangelog.txt (diff)
Commit f84d0ac37a68a5a289722938e8d82373a92fcc52 by nossr50
Share the power level objective name across Bukkit scoreboard classes
(commit: f84d0ac)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/backend/BukkitScoreboardBackend.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/backend/BukkitPlayerBoard.java (diff)
Commit f8b6b92a6c06e8ab49dba0fe1ff259a75c798d86 by nossr50
Remove cancelled XP bar hide tasks from the pending-task map
(commit: f8b6b92)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 9f106b85230a1828fe9e127a63d5b1d2d4b82f90 by nossr50
Silence per-skill chat spam when disabling all XP bars at once
(commit: 9f106b8)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java (diff)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/experience/ExperienceBarManagerTest.java
Commit 65d0f340ae4f5cbf56530bf948ce2fbd6675233f by nossr50
Remove the dead LevelUp_Board and LevelUp_Time keys from config.yml
(commit: 65d0f34)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/resources/config.yml (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/GeneralConfig.java (diff)
Commit 10db2062d0d06085ec6c0f0b209c7471835d3a6b by nossr50
Add placed-block round-trip and region segment growth tests
(commit: 10db206)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/blockmeta/UserBlockTrackerTest.java (diff)
Commit e5db22e7ccbb11c3c2326f185befcbf3b9541aa0 by nossr50
Harden region file opening against corrupt headers and handle leaks
(commit: e5db22e)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/McMMOSimpleRegionFile.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/blockmeta/UserBlockTrackerTest.java (diff)
Commit fadf9701c995916f315c1bd4c7d4043e6bafaeb5 by nossr50
Log-and-degrade placed-block save failures at the manager boundary
(commit: fadf970)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/HashChunkManager.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 332ae33d6f3c8d2ba7e1c8211e31a3285b8cc5ae by nossr50
Polish backup store logging, clock threading, and merge resource handling
(commit: 332ae33)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/blockmeta/McMMORegionBackupStore.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/blockmeta/McMMORegionBackupStoreStressTest.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/util/blockmeta/McMMORegionBackupStoreTest.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 90f5bc55a02d56893d02cc9078ab353003a819c0 by nossr50
Make command registration data-driven with a single wiring path
(commit: 90f5bc5)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/commands/CommandRegistrationManager.java (diff)
Commit b99c27ac94fba5c1870433f86da1e25dafed20b9 by nossr50
Remove the dead mmocompat command and add registration coverage test
(commit: b99c27a)
The file was modifiedsrc/main/resources/plugin.yml (diff)
The file was addedsrc/test/java/com/gmail/nossr50/util/commands/CommandRegistrationManagerTest.java
The file was modifiedChangelog.txt (diff)
Commit 1f0be8d8359d4ab22bb7318182b71450ba2b92e5 by nossr50
Consolidate text formatting helpers and refresh MOTD strings per display
(commit: 1f0be8d)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/Motd.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/text/TextComponentFactory.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/text/ConfigStringUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/text/McMMOMessageType.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/text/StringUtils.java (diff)
Commit d2a76396d71539e831fa21fada5f864fee21c82c by nossr50
Funnel sound send methods through one shared core
(commit: d2a7639)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/sounds/SoundManager.java (diff)
The file was modifiedChangelog.txt (diff)
Commit e93c7ecf603bd55e84e8e30fe5fb04fd77bae496 by nossr50
Guard subskill registration against duplicates and drop lazy map init
(commit: e93c7ec)
The file was modifiedsrc/main/java/com/gmail/nossr50/mcMMO.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InteractionManager.java (diff)
Commit 47219f88bca1cd6358faf605ac9008f9e2f91e2b by nossr50
Dedupe subskill checks, freeze subskill sets, accept English skill names on any locale
(commit: 47219f8)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MaterialMapStore.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillTools.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillUtils.java (diff)
Commit 6db314f3216b327a656a2e26003b069748cfd2ba by nossr50
Trim mob metadata cleanup keys, lazy metadata flag value, fix attribute constants
(commit: 6db314f)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MetadataConstants.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/AttributeMapper.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/CombatUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/mcMMO.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
Commit 1450f3afce4665ffe961e86b401b5d1563eba5ca by nossr50
Share a graceful reflective valueOf helper across version shims
(commit: 1450f3a)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/main/java/com/gmail/nossr50/util/ReflectionUtils.java
The file was modifiedsrc/main/java/com/gmail/nossr50/util/adapter/BiomeAdapter.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/sounds/SoundManager.java (diff)
Commit beec5a48a4c1395d0bff85b8313d6114196d2c48 by nossr50
Flatten furnace fuel handler, dedupe item spawn methods, trim vector copies
(commit: beec5a4)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InventoryListener.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ItemUtils.java (diff)
Commit 6f6fb56b45555d05789f7222f69926f4fde4878c by nossr50
Extract pure friendly-fire resolver and stop cancelling combust for unloaded data
(commit: 6f6fb56)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was addedsrc/test/java/com/gmail/nossr50/listeners/FriendlyFireTest.java
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/listeners/EntityListenerTest.java (diff)
The file was addedsrc/main/java/com/gmail/nossr50/listeners/FriendlyFire.java
Commit 48b5e12014e2a16b3ffe55582124ad2b4fd1d1ff by nossr50
Extract diet food mapping and eaten-hand resolution from the food listener
(commit: 48b5e12)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was addedsrc/main/java/com/gmail/nossr50/listeners/DietFoods.java
The file was modifiedChangelog.txt (diff)
The file was addedsrc/test/java/com/gmail/nossr50/listeners/DietFoodsTest.java
Commit 861843093834e336243333eb6bcb184220e16206 by nossr50
Extract tracked-TNT owner resolution with tests
(commit: 8618430)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was addedsrc/test/java/com/gmail/nossr50/skills/mining/BlastMiningTest.java
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/mining/BlastMining.java (diff)
Commit 024ffd3654429d376ab259cb92ca714df1c85d8a by nossr50
Extract diminished-returns XP math into a tested pure formula
(commit: 024ffd3)
The file was addedsrc/main/java/com/gmail/nossr50/listeners/DiminishedReturns.java
The file was addedsrc/test/java/com/gmail/nossr50/listeners/DiminishedReturnsTest.java
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/SelfListener.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 030dc36c812dd36027801f56a6ecf41e62f359f0 by nossr50
Extract bonus-drop trust analysis into a tested helper
(commit: 030dc36)
The file was addedsrc/test/java/com/gmail/nossr50/listeners/BonusDropsTest.java
The file was addedsrc/main/java/com/gmail/nossr50/listeners/BonusDrops.java
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
Commit 606ba580c2ecd23d3ab5764560202a2dbc627f51 by nossr50
Extract repair/salvage anvil decision ladder into a tested resolver
(commit: 606ba58)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedChangelog.txt (diff)
The file was addedsrc/main/java/com/gmail/nossr50/listeners/AnvilInteraction.java
The file was addedsrc/test/java/com/gmail/nossr50/listeners/AnvilInteractionTest.java
Commit 648a2603ad20f217833e6dc0f2d6514bb7219fed by nossr50
Stop mutating fishing, interact, and block damage events at MONITOR priority
(commit: 648a260)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/BlockListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/EntityListener.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/PlayerListener.java (diff)
The file was modifiedsrc/test/java/com/gmail/nossr50/listeners/PlayerListenerSalvageInteractTest.java (diff)
The file was modifiedChangelog.txt (diff)
Commit 807cab15b74c079240fca440fe1b757edc72e8dc by nossr50
Bump version to 2.3.000-SNAPSHOT
(commit: 807cab1)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/EventUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillActivationType.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/CombatUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/nms/NMSConstants.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/listeners/InteractionManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ObjectiveType.java (diff)
The file was modifiedpom.xml (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/Misc.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/Motd.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/GeneralConfig.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/ParticleEffectUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MaterialMapStore.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/MetadataConstants.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/random/ProbabilityUtil.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/config/AdvancedConfig.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/FixSpellingNetheriteUtil.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/nms/NMSVersion.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/axes/AxesManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/PotionUtil.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/player/NotificationManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/PerksUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/spears/SpearsManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/skills/maces/MacesManager.java (diff)
The file was modifiedChangelog.txt (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/ItemUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillUtils.java (diff)
The file was modifiedsrc/main/java/com/gmail/nossr50/util/skills/SkillTools.java (diff)
Commit 9b76ac274d13f7165fb0dff410ed7144a4a4be11 by nossr50
Condense the 2.3.000 changelog
(commit: 9b76ac2)
The file was modifiedChangelog.txt (diff)