{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 341,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
            "branch" : [
              {
                "SHA1" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
            "branch" : [
              {
                "SHA1" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
        "branch" : [
          {
            "SHA1" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/mcMMO-Dev/mcMMO.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "mcMMO.jar",
      "fileName" : "mcMMO.jar",
      "relativePath" : "target/mcMMO.jar"
    },
    {
      "displayPath" : "original-mcMMO.jar",
      "fileName" : "original-mcMMO.jar",
      "relativePath" : "target/original-mcMMO.jar"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#341",
  "duration" : 160667,
  "estimatedDuration" : 135282,
  "executor" : None,
  "fullDisplayName" : "mcMMO #341",
  "id" : "341",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 341,
  "queueId" : 214,
  "result" : "SUCCESS",
  "timestamp" : 1783730948677,
  "url" : "https://popicraft.net/jenkins/job/mcMMO/341/",
  "builtOn" : "Builder",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerMasterAnglerTest.java",
          "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerAbilityGatesTest.java",
          "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerShakeTest.java",
          "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerProcessFishingTest.java",
          "src/test/java/com/gmail/nossr50/skills/fishing/FishingTest.java",
          "src/test/java/com/gmail/nossr50/skills/fishing/FishingDropsTest.java",
          "src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java",
          "src/test/java/com/gmail/nossr50/listeners/PlayerListenerFishingTest.java",
          "Changelog.txt"
        ],
        "commitId" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
        "timestamp" : 1783730108000,
        "author" : {
          "absoluteUrl" : "https://popicraft.net/jenkins/user/nossr50",
          "fullName" : "nossr50"
        },
        "authorEmail" : "nossr50@gmail.com",
        "comment" : "Fix McMMOPlayerShakeEvent never being fired and expand fishing test coverage\u000a\u000aThe Shake ability constructed McMMOPlayerShakeEvent but never dispatched\u000ait through the plugin manager, a gap dating back to 2013. Plugins\u000alistening for the event never received it, and its cancel/setDrop API\u000ahad no effect. The event now fires before the drop is spawned, so\u000acancelling it suppresses the drop, damage, and XP, and drops replaced\u000athrough the event are the ones that spawn.\u000a\u000aAlso adds unit coverage across the fishing code: the overfishing\u000adetection state machine and its bounding-box boundary, Master Angler\u000await-time math and hook processing, the Shake drop pipeline including\u000asheep shearing and inventory stealing, the processFishing reward\u000apipeline, subskill eligibility gates, cumulative-chance drop selection,\u000aand the listener wiring for treasure override, vanilla XP boost, Shake,\u000aand Ice Fishing.\u000a",
        "date" : "2026-07-10 17:35:08 -0700",
        "id" : "c6292f4b0c1fef620ce55a60082a3d69080fd459",
        "msg" : "Fix McMMOPlayerShakeEvent never being fired and expand fishing test coverage",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/java/com/gmail/nossr50/listeners/PlayerListenerFishingTest.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/java/com/gmail/nossr50/skills/fishing/FishingDropsTest.java"
          },
          {
            "editType" : "edit",
            "file" : "Changelog.txt"
          },
          {
            "editType" : "add",
            "file" : "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerMasterAnglerTest.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerProcessFishingTest.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerShakeTest.java"
          },
          {
            "editType" : "edit",
            "file" : "src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/java/com/gmail/nossr50/skills/fishing/FishingManagerAbilityGatesTest.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/java/com/gmail/nossr50/skills/fishing/FishingTest.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://popicraft.net/jenkins/user/nossr50",
      "fullName" : "nossr50"
    }
  ]
}