<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>341</buildNumber><marked><SHA1>c6292f4b0c1fef620ce55a60082a3d69080fd459</SHA1><branch><SHA1>c6292f4b0c1fef620ce55a60082a3d69080fd459</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>c6292f4b0c1fef620ce55a60082a3d69080fd459</SHA1><branch><SHA1>c6292f4b0c1fef620ce55a60082a3d69080fd459</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>c6292f4b0c1fef620ce55a60082a3d69080fd459</SHA1><branch><SHA1>c6292f4b0c1fef620ce55a60082a3d69080fd459</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/mcMMO-Dev/mcMMO.git</remoteUrl><scmName></scmName></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><artifact><displayPath>mcMMO.jar</displayPath><fileName>mcMMO.jar</fileName><relativePath>target/mcMMO.jar</relativePath></artifact><artifact><displayPath>original-mcMMO.jar</displayPath><fileName>original-mcMMO.jar</fileName><relativePath>target/original-mcMMO.jar</relativePath></artifact><building>false</building><displayName>#341</displayName><duration>160667</duration><estimatedDuration>135282</estimatedDuration><fullDisplayName>mcMMO #341</fullDisplayName><id>341</id><inProgress>false</inProgress><keepLog>false</keepLog><number>341</number><queueId>214</queueId><result>SUCCESS</result><timestamp>1783730948677</timestamp><url>https://popicraft.net/jenkins/job/mcMMO/341/</url><builtOn>Builder</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerMasterAnglerTest.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerAbilityGatesTest.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerShakeTest.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerProcessFishingTest.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/skills/fishing/FishingTest.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/skills/fishing/FishingDropsTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/listeners/PlayerListenerFishingTest.java</affectedPath><affectedPath>Changelog.txt</affectedPath><commitId>c6292f4b0c1fef620ce55a60082a3d69080fd459</commitId><timestamp>1783730108000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Fix McMMOPlayerShakeEvent never being fired and expand fishing test coverage

The Shake ability constructed McMMOPlayerShakeEvent but never dispatched
it through the plugin manager, a gap dating back to 2013. Plugins
listening for the event never received it, and its cancel/setDrop API
had no effect. The event now fires before the drop is spawned, so
cancelling it suppresses the drop, damage, and XP, and drops replaced
through the event are the ones that spawn.

Also adds unit coverage across the fishing code: the overfishing
detection state machine and its bounding-box boundary, Master Angler
wait-time math and hook processing, the Shake drop pipeline including
sheep shearing and inventory stealing, the processFishing reward
pipeline, subskill eligibility gates, cumulative-chance drop selection,
and the listener wiring for treasure override, vanilla XP boost, Shake,
and Ice Fishing.
</comment><date>2026-07-10 17:35:08 -0700</date><id>c6292f4b0c1fef620ce55a60082a3d69080fd459</id><msg>Fix McMMOPlayerShakeEvent never being fired and expand fishing test coverage</msg><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/listeners/PlayerListenerFishingTest.java</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/skills/fishing/FishingDropsTest.java</file></path><path><editType>edit</editType><file>Changelog.txt</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerMasterAnglerTest.java</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerProcessFishingTest.java</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerShakeTest.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerAbilityGatesTest.java</file></path><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/skills/fishing/FishingTest.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></culprit></freeStyleBuild>