<surefireAggregatedReport _class='hudson.maven.reporters.SurefireAggregatedReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>69</totalCount><urlName>testReport</urlName><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>15</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1434/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1434</displayName><duration>10792</duration><estimatedDuration>12390</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-API #1434</fullDisplayName><id>1434</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1434</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1578181194770</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1434/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1434/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.095</duration><empty>false</empty><failCount>0</failCount><passCount>15</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.api.ServerConnectRequestTest</className><duration>0.002</duration><failedSince>0</failedSince><name>testDefaultConnectTimeout</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.ServerConnectRequestTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testNullReason</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.ServerConnectRequestTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testNullTarget</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.003</duration><name>net.md_5.bungee.api.ServerConnectRequestTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.003</duration><failedSince>0</failedSince><name>test[0]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[1]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.001</duration><failedSince>0</failedSince><name>test[2]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.001</duration><failedSince>0</failedSince><name>test[3]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[4]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[5]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[6]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[7]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.005</duration><name>net.md_5.bungee.util.AddressParseTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.CaseInsensitiveTest</className><duration>0.01</duration><failedSince>0</failedSince><name>testMaps</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.CaseInsensitiveTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testSets</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.011</duration><name>net.md_5.bungee.util.CaseInsensitiveTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.UUIDTest</className><duration>0.075</duration><failedSince>0</failedSince><name>testMany</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.UUIDTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testSingle</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.076</duration><name>net.md_5.bungee.util.UUIDTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>27</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-chat/1434/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1434</displayName><duration>14159</duration><estimatedDuration>12458</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Chat #1434</fullDisplayName><id>1434</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1434</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1578181194847</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-chat/1434/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java</affectedPath><affectedPath>chat/src/test/java/net/md_5/bungee/api/chat/ComponentsTest.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/KeybindComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/BaseComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/SelectorComponent.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/UserConnection.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/chat/TranslatableComponentSerializer.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/ScoreComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/TranslatableComponent.java</affectedPath><commitId>058d857d63a0d4b765bbd947413ede9267db2570</commitId><timestamp>1578181158000</timestamp><author><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></author><authorEmail>git@md-5.net</authorEmail><comment>Various improvements to chat API

* More versatile ComponentBuilder system
    - Allow creating a builder without an initial component
    - Duplicate the parts when component is created
    - Add getter for 'parts'
* Added cursor API for more fluid component modifying
* Don't legacy convert Titles on 1.11 or newer
* Simplify plain and legacy text converting code
    - Shares the addFormat method between all superclasses
    - Duplicate code in TranslatableComponent moved in separate method
</comment><date>2020-01-05 10:39:18 +1100</date><id>058d857d63a0d4b765bbd947413ede9267db2570</id><msg>Various improvements to chat API</msg><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/SelectorComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/BaseComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/ScoreComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/TranslatableComponent.java</file></path><path><editType>edit</editType><file>module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/chat/TranslatableComponentSerializer.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/KeybindComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/UserConnection.java</file></path><path><editType>edit</editType><file>chat/src/test/java/net/md_5/bungee/api/chat/ComponentsTest.java</file></path></item></changeSet><culprit><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></culprit><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-chat/1434/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.127</duration><empty>false</empty><failCount>0</failCount><passCount>27</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.005</duration><failedSince>0</failedSince><name>testComponentGettingExceptions</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testToLegacyFromLegacy</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.002</duration><failedSince>0</failedSince><name>testLegacyComponentBuilderAppend</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.1</duration><failedSince>0</failedSince><name>testTranslateComponent</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBasicComponent</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.011</duration><failedSince>0</failedSince><name>testScore</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.003</duration><failedSince>0</failedSince><name>testLoopComplex</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testLoopSimple</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilder</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testComponentBuilderCursor</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testRepeatedError</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testRepeated</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderAppendLegacy</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testComponentParting</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testInvalidColorCodes</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testDummyRetaining</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderClone</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderReset</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testEmptyComponentBuilder</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderAppendMixedComponents</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testLegacyConverter</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testBuilderAppend</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderFormatRetention</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testComponentBuilderCursorInvalidPos</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testFormatRetentionCopyFormatting</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testFormattingOnlyTextConversion</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.127</duration><name>net.md_5.bungee.api.chat.ComponentsTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.api.chat.TranslatableComponentTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testMissingPlaceholdersAdded</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.0</duration><name>net.md_5.bungee.api.chat.TranslatableComponentTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>5</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1434/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1434</displayName><duration>7527</duration><estimatedDuration>10473</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Config #1434</fullDisplayName><id>1434</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1434</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1578181194872</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1434/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1434/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.103</duration><empty>false</empty><failCount>0</failCount><passCount>5</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.config.DefaultConfigurationTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testDefaultValues</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.0</duration><name>net.md_5.bungee.config.DefaultConfigurationTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.config.YamlConfigurationTest</className><duration>0.063</duration><failedSince>0</failedSince><name>testNumberedKeys</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.YamlConfigurationTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testNull</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.YamlConfigurationTest</className><duration>0.037</duration><failedSince>0</failedSince><name>testConfig</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.YamlConfigurationTest</className><duration>0.003</duration><failedSince>0</failedSince><name>testMapAddition</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.103</duration><name>net.md_5.bungee.config.YamlConfigurationTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>3</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1434/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1434</displayName><duration>6594</duration><estimatedDuration>9617</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Event #1434</fullDisplayName><id>1434</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1434</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1578181194897</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1434/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1434/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.0060000005</duration><empty>false</empty><failCount>0</failCount><passCount>3</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.event.EventBusTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testNestedEvents</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.001</duration><name>net.md_5.bungee.event.EventBusTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.event.EventPriorityTest</className><duration>0.004</duration><failedSince>0</failedSince><name>testPriority</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.004</duration><name>net.md_5.bungee.event.EventPriorityTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.event.UnregisteringListenerTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testPriority</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.001</duration><name>net.md_5.bungee.event.UnregisteringListenerTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>5</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1434/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1434</displayName><duration>14783</duration><estimatedDuration>11397</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Native #1434</fullDisplayName><id>1434</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1434</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1578181195275</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1434/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1434/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>7.261</duration><empty>false</empty><failCount>0</failCount><passCount>5</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.219</duration><failedSince>0</failedSince><name>testJDK</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>4.188</duration><failedSince>0</failedSince><name>testJDKBenchmark</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.002</duration><failedSince>0</failedSince><name>testNative</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>2.095</duration><failedSince>0</failedSince><name>testNativeBenchmark</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>6.504</duration><name>net.md_5.bungee.NativeCipherTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.NativeZlibTest</className><duration>0.757</duration><failedSince>0</failedSince><name>doTest</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.757</duration><name>net.md_5.bungee.NativeZlibTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>1</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-protocol/1434/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1434</displayName><duration>11174</duration><estimatedDuration>15099</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Protocol #1434</fullDisplayName><id>1434</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1434</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1578181195197</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-protocol/1434/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-protocol/1434/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.004</duration><empty>false</empty><failCount>0</failCount><passCount>1</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.protocol.packet.PluginMessageTest</className><duration>0.004</duration><failedSince>0</failedSince><name>testModerniseChannel</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.004</duration><name>net.md_5.bungee.protocol.packet.PluginMessageTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>13</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1434/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1434</displayName><duration>11499</duration><estimatedDuration>6352</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Proxy #1434</fullDisplayName><id>1434</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1434</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1578181195223</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1434/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java</affectedPath><affectedPath>chat/src/test/java/net/md_5/bungee/api/chat/ComponentsTest.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/KeybindComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/BaseComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/SelectorComponent.java</affectedPath><affectedPath>proxy/src/main/java/net/md_5/bungee/UserConnection.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/chat/TranslatableComponentSerializer.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/ScoreComponent.java</affectedPath><affectedPath>chat/src/main/java/net/md_5/bungee/api/chat/TranslatableComponent.java</affectedPath><commitId>058d857d63a0d4b765bbd947413ede9267db2570</commitId><timestamp>1578181158000</timestamp><author><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></author><authorEmail>git@md-5.net</authorEmail><comment>Various improvements to chat API

* More versatile ComponentBuilder system
    - Allow creating a builder without an initial component
    - Duplicate the parts when component is created
    - Add getter for 'parts'
* Added cursor API for more fluid component modifying
* Don't legacy convert Titles on 1.11 or newer
* Simplify plain and legacy text converting code
    - Shares the addFormat method between all superclasses
    - Duplicate code in TranslatableComponent moved in separate method
</comment><date>2020-01-05 10:39:18 +1100</date><id>058d857d63a0d4b765bbd947413ede9267db2570</id><msg>Various improvements to chat API</msg><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/SelectorComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/BaseComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/ScoreComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/TranslatableComponent.java</file></path><path><editType>edit</editType><file>module/cmd-server/src/main/java/net/md_5/bungee/module/cmd/server/CommandServer.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/chat/TranslatableComponentSerializer.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/KeybindComponent.java</file></path><path><editType>edit</editType><file>chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java</file></path><path><editType>edit</editType><file>proxy/src/main/java/net/md_5/bungee/UserConnection.java</file></path><path><editType>edit</editType><file>chat/src/test/java/net/md_5/bungee/api/chat/ComponentsTest.java</file></path></item></changeSet><culprit><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></culprit><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1434/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>1.405</duration><empty>false</empty><failCount>0</failCount><passCount>13</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.ThrottleTest</className><duration>0.064</duration><failedSince>0</failedSince><name>testThrottle</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.064</duration><name>net.md_5.bungee.ThrottleTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.076</duration><failedSince>0</failedSince><name>testRun</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.503</duration><failedSince>0</failedSince><name>testScheduleAndRepeat</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.753</duration><failedSince>0</failedSince><name>testCancel</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>1.332</duration><name>net.md_5.bungee.scheduler.SchedulerTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.008</duration><failedSince>0</failedSince><name>testGoodAddAll</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testGoodAddAll1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testGoodAdd1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testBadAdd1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testGoodAdd</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBadAddAll1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBadAdd</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testSizeOneAdd</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBadAddAll</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.009</duration><name>net.md_5.bungee.util.BoundedArrayListTest</name><properties></properties></suite></result></childReport></surefireAggregatedReport>