<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>347</buildNumber><marked><SHA1>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</SHA1><branch><SHA1>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</SHA1><branch><SHA1>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</SHA1><branch><SHA1>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</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'><artifactsUrl>https://popicraft.net/jenkins/job/mcMMO/347/artifact</artifactsUrl><changesUrl>https://popicraft.net/jenkins/job/mcMMO/changes</changesUrl><displayUrl>https://popicraft.net/jenkins/job/mcMMO/347/</displayUrl><testsUrl>https://popicraft.net/jenkins/job/mcMMO/347/testReport</testsUrl></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>#347</displayName><duration>61290</duration><estimatedDuration>66335</estimatedDuration><fullDisplayName>mcMMO #347</fullDisplayName><id>347</id><inProgress>false</inProgress><keepLog>false</keepLog><number>347</number><queueId>221</queueId><result>SUCCESS</result><timestamp>1783811051582</timestamp><url>https://popicraft.net/jenkins/job/mcMMO/347/</url><builtOn>Builder</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/com/gmail/nossr50/util/player/NotificationManager.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/util/sounds/SkillUnlockSoundThrottleTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/util/sounds/SkillUnlockSoundThrottle.java</affectedPath><affectedPath>Changelog.txt</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTaskTest.java</affectedPath><commitId>f7bad80ff6f947e29ab6f655f21c654791904e09</commitId><timestamp>1783796885000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Only play the unlock sound once for batched rank unlock notifications

Mass level changes like /mmoedit all queue dozens of staggered unlock
notifications, each of which played the unlock sound. A per player
quiet window anchored on the last notification now lets the first
sound through and keeps the rest of the stream silent; the messages
themselves are unchanged. External callers of the existing
NotificationManager method keep the always-play behavior through a
new overload.
</comment><date>2026-07-11 12:08:05 -0700</date><id>f7bad80ff6f947e29ab6f655f21c654791904e09</id><msg>Only play the unlock sound once for batched rank unlock notifications</msg><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/util/player/NotificationManager.java</file></path><path><editType>add</editType><file>src/main/java/com/gmail/nossr50/util/sounds/SkillUnlockSoundThrottle.java</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTaskTest.java</file></path><path><editType>edit</editType><file>Changelog.txt</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/util/sounds/SkillUnlockSoundThrottleTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/test/java/com/gmail/nossr50/util/skills/SkillUnlockNotificationPacerTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/util/skills/RankUtils.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/listeners/SelfListener.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/util/skills/SkillUnlockNotificationPacer.java</affectedPath><commitId>615e5c8cae633c6679b32650643eeda0ff60d907</commitId><timestamp>1783810306000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Stream skill rank unlock notifications one at a time per player
</comment><date>2026-07-11 15:51:46 -0700</date><id>615e5c8cae633c6679b32650643eeda0ff60d907</id><msg>Stream skill rank unlock notifications one at a time per player</msg><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/listeners/SelfListener.java</file></path><path><editType>add</editType><file>src/test/java/com/gmail/nossr50/util/skills/SkillUnlockNotificationPacerTest.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/util/skills/RankUtils.java</file></path><path><editType>add</editType><file>src/main/java/com/gmail/nossr50/util/skills/SkillUnlockNotificationPacer.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/com/gmail/nossr50/listeners/AnvilInteraction.java</affectedPath><affectedPath>src/main/resources/locale/locale_en_US.properties</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/listeners/PlayerListenerSalvageInteractTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/listeners/PlayerListener.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/listeners/AnvilInteractionTest.java</affectedPath><commitId>6ac5834fb775f2f2928b290b0b87b8f81c841f5e</commitId><timestamp>1783810307000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Tell players which Salvage requirements they are missing at the salvage anvil
</comment><date>2026-07-11 15:51:47 -0700</date><id>6ac5834fb775f2f2928b290b0b87b8f81c841f5e</id><msg>Tell players which Salvage requirements they are missing at the salvage anvil</msg><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/listeners/PlayerListenerSalvageInteractTest.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/listeners/AnvilInteraction.java</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_en_US.properties</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/listeners/PlayerListener.java</file></path><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/listeners/AnvilInteractionTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/com/gmail/nossr50/util/blockmeta/McMMORegionBackupStore.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/mcMMO.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/util/blockmeta/McMMORegionBackupStoreTest.java</affectedPath><commitId>d305d5254a731a3fbecf01ae569a7a713486c3cc</commitId><timestamp>1783810331000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Announce region backups before the per-world backup log lines
</comment><date>2026-07-11 15:52:11 -0700</date><id>d305d5254a731a3fbecf01ae569a7a713486c3cc</id><msg>Announce region backups before the per-world backup log lines</msg><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/util/blockmeta/McMMORegionBackupStore.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/mcMMO.java</file></path><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/util/blockmeta/McMMORegionBackupStoreTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java</affectedPath><commitId>9cae4d9de7188ca1f715c8a9fe485d3352ea4751</commitId><timestamp>1783810331000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Fix XP command tab completion suggesting skill names for the value argument
</comment><date>2026-07-11 15:52:11 -0700</date><id>9cae4d9de7188ca1f715c8a9fe485d3352ea4751</id><msg>Fix XP command tab completion suggesting skill names for the value argument</msg><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/commands/experience/ExperienceCommand.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/resources/level_up_commands.yml</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/commands/levelup/LevelUpCommand.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/commands/levelup/LevelUpCommandTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/placeholders/PapiPlaceholders.java</affectedPath><commitId>610445ef99f33fcd958e5d7ee319c384f3d7dd47</commitId><timestamp>1783810331000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Resolve PlaceholderAPI placeholders in level up commands
</comment><date>2026-07-11 15:52:11 -0700</date><id>610445ef99f33fcd958e5d7ee319c384f3d7dd47</id><msg>Resolve PlaceholderAPI placeholders in level up commands</msg><path><editType>add</editType><file>src/main/java/com/gmail/nossr50/placeholders/PapiPlaceholders.java</file></path><path><editType>edit</editType><file>src/main/resources/level_up_commands.yml</file></path><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/commands/levelup/LevelUpCommandTest.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/commands/levelup/LevelUpCommand.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/listeners/PlayerListenerCommandAliasTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/util/commands/CommandRegistrationManager.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/commands/XprateCommand.java</affectedPath><affectedPath>src/test/java/com/gmail/nossr50/util/text/TextComponentFactoryTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/util/text/TextComponentFactory.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/listeners/PlayerListener.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/commands/skills/SkillGuideCommand.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/commands/levelup/LevelUpCommand.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/util/skills/SkillTools.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/datatypes/skills/PrimarySkillType.java</affectedPath><commitId>b3e818f78a3dfa8fa6ecd0f120fad2cf4e0ca065</commitId><timestamp>1783810349000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Show the capitalized Overhaul.Name skill names in player messages

SkillTools.getLocalizedSkillName now reads the Overhaul.Name locale
entries; the all-caps SkillName values move behind the new
SkillTools.getHeaderBannerSkillName, which stylized headers,
scoreboards, and skill command matching keep using.
</comment><date>2026-07-11 15:52:29 -0700</date><id>b3e818f78a3dfa8fa6ecd0f120fad2cf4e0ca065</id><msg>Show the capitalized Overhaul.Name skill names in player messages</msg><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/commands/XprateCommand.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardManager.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/datatypes/skills/PrimarySkillType.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/listeners/PlayerListener.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/util/commands/CommandRegistrationManager.java</file></path><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/util/text/TextComponentFactoryTest.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/util/skills/SkillTools.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/util/text/TextComponentFactory.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/commands/skills/SkillGuideCommand.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/commands/levelup/LevelUpCommand.java</file></path><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/listeners/PlayerListenerCommandAliasTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/resources/locale/locale_zh_TW.properties</affectedPath><affectedPath>src/main/resources/locale/locale_cy.properties</affectedPath><affectedPath>src/main/resources/locale/locale_ja_JP.properties</affectedPath><affectedPath>src/main/resources/locale/locale_pt_BR.properties</affectedPath><affectedPath>src/main/resources/locale/locale_fr.properties</affectedPath><affectedPath>src/main/resources/locale/locale_cs_CZ.properties</affectedPath><affectedPath>src/main/resources/locale/locale_pl.properties</affectedPath><affectedPath>src/main/resources/locale/locale_en_US.properties</affectedPath><affectedPath>src/main/resources/locale/locale_hu_HU.properties</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java</affectedPath><affectedPath>src/main/resources/locale/locale_es.properties</affectedPath><affectedPath>src/main/resources/locale/locale_fi.properties</affectedPath><affectedPath>src/main/resources/locale/locale_it.properties</affectedPath><affectedPath>src/main/resources/locale/locale_de.properties</affectedPath><affectedPath>src/main/resources/locale/locale_lt_LT.properties</affectedPath><affectedPath>src/main/resources/locale/locale_ru.properties</affectedPath><affectedPath>src/main/resources/locale/locale_zh_CN.properties</affectedPath><affectedPath>src/main/resources/locale/locale_ko.properties</affectedPath><affectedPath>src/main/resources/locale/locale_th_TH.properties</affectedPath><affectedPath>src/main/resources/locale/locale_sv.properties</affectedPath><affectedPath>src/main/resources/locale/locale_nl.properties</affectedPath><affectedPath>src/main/resources/locale/locale_da.properties</affectedPath><commitId>8fa961000e1093a19f6476fb20bc4f45997451b4</commitId><timestamp>1783810366000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Remove the Hylian Luck message and dead locale entries from shipped locales
</comment><date>2026-07-11 15:52:46 -0700</date><id>8fa961000e1093a19f6476fb20bc4f45997451b4</id><msg>Remove the Hylian Luck message and dead locale entries from shipped locales</msg><path><editType>edit</editType><file>src/main/resources/locale/locale_cs_CZ.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_da.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_fr.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_ja_JP.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_nl.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_sv.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_zh_CN.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_lt_LT.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_zh_TW.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_ru.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_cy.properties</file></path><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_hu_HU.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_de.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_es.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_pl.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_ko.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_th_TH.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_it.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_pt_BR.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_fi.properties</file></path><path><editType>edit</editType><file>src/main/resources/locale/locale_en_US.properties</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/test/java/com/gmail/nossr50/placeholders/PapiExpansionRoutingTest.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/placeholders/SkillNamePlaceholder.java</affectedPath><affectedPath>src/main/java/com/gmail/nossr50/placeholders/PapiExpansion.java</affectedPath><commitId>0c8337ba930637cb88a27dc79aff592b4b3fe5d3</commitId><timestamp>1783810366000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Add PlaceholderAPI placeholders for localized skill names
</comment><date>2026-07-11 15:52:46 -0700</date><id>0c8337ba930637cb88a27dc79aff592b4b3fe5d3</id><msg>Add PlaceholderAPI placeholders for localized skill names</msg><path><editType>edit</editType><file>src/main/java/com/gmail/nossr50/placeholders/PapiExpansion.java</file></path><path><editType>edit</editType><file>src/test/java/com/gmail/nossr50/placeholders/PapiExpansionRoutingTest.java</file></path><path><editType>add</editType><file>src/main/java/com/gmail/nossr50/placeholders/SkillNamePlaceholder.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>Changelog.txt</affectedPath><commitId>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</commitId><timestamp>1783810366000</timestamp><author><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName></author><authorEmail>nossr50@gmail.com</authorEmail><comment>Update changelog
</comment><date>2026-07-11 15:52:46 -0700</date><id>35ec12e447cea347d11c675f2ebe6b8cf5a147d6</id><msg>Update changelog</msg><path><editType>edit</editType><file>Changelog.txt</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://popicraft.net/jenkins/user/nossr50</absoluteUrl><fullName>nossr50</fullName><id>nossr50</id></culprit></freeStyleBuild>