gitextract_gdfuth62/ ├── .checkstyle/ │ ├── checkstyle.xml │ └── suppressions.xml ├── .editorconfig ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ └── workflows/ │ └── build.yml ├── .gitignore ├── LICENSE ├── LICENSE_HEADER ├── README.md ├── api/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ └── java/ │ └── net/ │ └── draycia/ │ └── carbon/ │ └── api/ │ ├── CarbonChat.java │ ├── CarbonChatProvider.java │ ├── CarbonServer.java │ ├── channels/ │ │ ├── ChannelPermissionResult.java │ │ ├── ChannelPermissionResultImpl.java │ │ ├── ChannelPermissions.java │ │ ├── ChannelRegistry.java │ │ └── ChatChannel.java │ ├── event/ │ │ ├── Cancellable.java │ │ ├── CarbonEvent.java │ │ ├── CarbonEventHandler.java │ │ ├── CarbonEventSubscriber.java │ │ ├── CarbonEventSubscription.java │ │ └── events/ │ │ ├── CarbonChannelRegisterEvent.java │ │ ├── CarbonChatEvent.java │ │ ├── CarbonPrivateChatEvent.java │ │ ├── ChannelSwitchEvent.java │ │ ├── PartyJoinEvent.java │ │ └── PartyLeaveEvent.java │ ├── users/ │ │ ├── CarbonPlayer.java │ │ ├── Party.java │ │ └── UserManager.java │ └── util/ │ ├── ChatComponentRenderer.java │ ├── InventorySlot.java │ ├── KeyedRenderer.java │ └── KeyedRendererImpl.java ├── build-logic/ │ ├── build.gradle.kts │ ├── settings.gradle.kts │ └── src/ │ └── main/ │ └── kotlin/ │ ├── CarbonPermissionsExtension.kt │ ├── CarbonPlatformExtension.kt │ ├── ConfigurablePluginsExt.kt │ ├── FetchLuckPermsDownloads.kt │ ├── FetchLuckPermsJar.kt │ ├── FileCopyTask.kt │ ├── carbon.base-conventions.gradle.kts │ ├── carbon.build-logic.gradle.kts │ ├── carbon.configurable-plugins.gradle.kts │ ├── carbon.permissions.gradle.kts │ ├── carbon.platform-conventions.gradle.kts │ ├── carbon.publishing-conventions.gradle.kts │ ├── carbon.shadow-platform.gradle.kts │ ├── constants.kt │ └── extensions.kt ├── build.gradle.kts ├── common/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ ├── java/ │ │ ├── com/ │ │ │ └── google/ │ │ │ └── inject/ │ │ │ └── assistedinject/ │ │ │ └── FactoryProvider3.java │ │ └── net/ │ │ └── draycia/ │ │ └── carbon/ │ │ └── common/ │ │ ├── CarbonChatInternal.java │ │ ├── CarbonCommonModule.java │ │ ├── CarbonPlatformModule.java │ │ ├── DataDirectory.java │ │ ├── PeriodicTasks.java │ │ ├── PlatformScheduler.java │ │ ├── RawChat.java │ │ ├── channels/ │ │ │ ├── CarbonChannelRegistry.java │ │ │ ├── ChannelPermissionsImpl.java │ │ │ ├── ConfigChannelSettings.java │ │ │ ├── ConfigChatChannel.java │ │ │ ├── PartyChatChannel.java │ │ │ └── messages/ │ │ │ ├── ConfigChannelMessageSource.java │ │ │ └── ConfigChannelMessages.java │ │ ├── command/ │ │ │ ├── CarbonCommand.java │ │ │ ├── CommandSettings.java │ │ │ ├── Commander.java │ │ │ ├── ExecutionCoordinatorHolder.java │ │ │ ├── ParserFactory.java │ │ │ ├── PlayerCommander.java │ │ │ ├── argument/ │ │ │ │ ├── CarbonPlayerParser.java │ │ │ │ └── PlayerSuggestions.java │ │ │ ├── commands/ │ │ │ │ ├── ClearChatCommand.java │ │ │ │ ├── ContinueCommand.java │ │ │ │ ├── DebugCommand.java │ │ │ │ ├── FilterCommand.java │ │ │ │ ├── HelpCommand.java │ │ │ │ ├── IgnoreCommand.java │ │ │ │ ├── IgnoreListCommand.java │ │ │ │ ├── JoinCommand.java │ │ │ │ ├── LeaveCommand.java │ │ │ │ ├── MuteCommand.java │ │ │ │ ├── MuteInfoCommand.java │ │ │ │ ├── NicknameCommand.java │ │ │ │ ├── PartyCommands.java │ │ │ │ ├── RealNameCommand.java │ │ │ │ ├── ReloadCommand.java │ │ │ │ ├── ReplyCommand.java │ │ │ │ ├── SpyCommand.java │ │ │ │ ├── ToggleMessagesCommand.java │ │ │ │ ├── UnignoreCommand.java │ │ │ │ ├── UnmuteCommand.java │ │ │ │ ├── UpdateUsernameCommand.java │ │ │ │ └── WhisperCommand.java │ │ │ └── exception/ │ │ │ ├── CommandCompleted.java │ │ │ └── ComponentException.java │ │ ├── config/ │ │ │ ├── ClearChatSettings.java │ │ │ ├── CommandConfig.java │ │ │ ├── ConfigHeader.java │ │ │ ├── ConfigManager.java │ │ │ ├── DatabaseSettings.java │ │ │ ├── IntegrationConfigContainer.java │ │ │ ├── MessagingSettings.java │ │ │ ├── PingSettings.java │ │ │ └── PrimaryConfig.java │ │ ├── event/ │ │ │ ├── CancellableImpl.java │ │ │ ├── CarbonEventHandlerImpl.java │ │ │ ├── CarbonEventSubscriptionImpl.java │ │ │ └── events/ │ │ │ ├── CarbonChatEventImpl.java │ │ │ ├── CarbonEarlyChatEvent.java │ │ │ ├── CarbonPrivateChatEventImpl.java │ │ │ ├── CarbonReloadEvent.java │ │ │ ├── ChannelRegisterEventImpl.java │ │ │ └── ChannelSwitchEventImpl.java │ │ ├── integration/ │ │ │ ├── Integration.java │ │ │ └── miniplaceholders/ │ │ │ ├── MiniPlaceholdersExpansion.java │ │ │ ├── MiniPlaceholdersIntegration.java │ │ │ └── MiniPlaceholdersUtil.java │ │ ├── listeners/ │ │ │ ├── ChatListenerInternal.java │ │ │ ├── DeafenHandler.java │ │ │ ├── FilterHandler.java │ │ │ ├── HyperlinkHandler.java │ │ │ ├── IgnoreHandler.java │ │ │ ├── ItemLinkHandler.java │ │ │ ├── Listener.java │ │ │ ├── MessagePacketHandler.java │ │ │ ├── MuteHandler.java │ │ │ ├── PartyChatSpyHandler.java │ │ │ ├── PartyPingHandler.java │ │ │ ├── PingHandler.java │ │ │ └── RadiusListener.java │ │ ├── messages/ │ │ │ ├── CarbonMessageRenderer.java │ │ │ ├── CarbonMessageSender.java │ │ │ ├── CarbonMessageSource.java │ │ │ ├── CarbonMessages.java │ │ │ ├── NotPlaceholder.java │ │ │ ├── Option.java │ │ │ ├── OptionTagResolver.java │ │ │ ├── PrefixedDelegateIterator.java │ │ │ ├── RenderForTagResolver.java │ │ │ ├── SourcedAudience.java │ │ │ ├── SourcedAudienceImpl.java │ │ │ ├── SourcedMessageSender.java │ │ │ ├── SourcedReceiverResolver.java │ │ │ ├── StandardPlaceholderResolverStrategyButDifferent.java │ │ │ ├── TagPermissions.java │ │ │ └── placeholders/ │ │ │ ├── BooleanPlaceholderResolver.java │ │ │ ├── ComponentPlaceholderResolver.java │ │ │ ├── IntPlaceholderResolver.java │ │ │ ├── KeyPlaceholderResolver.java │ │ │ ├── LongPlaceholderResolver.java │ │ │ ├── OptionPlaceholderResolver.java │ │ │ ├── StringPlaceholderResolver.java │ │ │ └── UUIDPlaceholderResolver.java │ │ ├── messaging/ │ │ │ ├── CarbonChatPacketHandler.java │ │ │ ├── MessagingManager.java │ │ │ ├── ServerId.java │ │ │ └── packets/ │ │ │ ├── CarbonPacket.java │ │ │ ├── ChatMessagePacket.java │ │ │ ├── DisbandPartyPacket.java │ │ │ ├── InvalidatePartyInvitePacket.java │ │ │ ├── LocalPlayerChangePacket.java │ │ │ ├── LocalPlayersPacket.java │ │ │ ├── PacketFactory.java │ │ │ ├── PartyChangePacket.java │ │ │ ├── PartyInvitePacket.java │ │ │ ├── SaveCompletedPacket.java │ │ │ └── WhisperPacket.java │ │ ├── serialisation/ │ │ │ └── gson/ │ │ │ ├── ChatChannelSerializerGson.java │ │ │ ├── LocaleSerializerConfigurate.java │ │ │ └── UUIDSerializerGson.java │ │ ├── users/ │ │ │ ├── Backing.java │ │ │ ├── CachingUserManager.java │ │ │ ├── CarbonPlayerCommon.java │ │ │ ├── ConsoleCarbonPlayer.java │ │ │ ├── MojangProfileResolver.java │ │ │ ├── NetworkUsers.java │ │ │ ├── PartyImpl.java │ │ │ ├── PartyInvites.java │ │ │ ├── PersistentUserProperty.java │ │ │ ├── PlatformUserManager.java │ │ │ ├── PlayerUtils.java │ │ │ ├── ProfileCache.java │ │ │ ├── ProfileResolver.java │ │ │ ├── UserManagerInternal.java │ │ │ ├── WrappedCarbonPlayer.java │ │ │ ├── db/ │ │ │ │ ├── DatabaseUserManager.java │ │ │ │ ├── QueriesLocator.java │ │ │ │ ├── argument/ │ │ │ │ │ ├── BinaryUUIDArgumentFactory.java │ │ │ │ │ ├── ComponentArgumentFactory.java │ │ │ │ │ └── KeyArgumentFactory.java │ │ │ │ └── mapper/ │ │ │ │ ├── BinaryUUIDColumnMapper.java │ │ │ │ ├── ComponentColumnMapper.java │ │ │ │ ├── KeyColumnMapper.java │ │ │ │ ├── NativeUUIDColumnMapper.java │ │ │ │ ├── PartyRowMapper.java │ │ │ │ └── PlayerRowMapper.java │ │ │ └── json/ │ │ │ └── JSONUserManager.java │ │ └── util/ │ │ ├── CarbonDependencies.java │ │ ├── ChannelUtils.java │ │ ├── CloudUtils.java │ │ ├── ColorUtils.java │ │ ├── ConcurrentUtil.java │ │ ├── DiscordRecipient.java │ │ ├── EmptyAudienceWithPointers.java │ │ ├── ExceptionLoggingScheduledThreadPoolExecutor.java │ │ ├── Exceptions.java │ │ ├── FastUuidSansHyphens.java │ │ ├── FileUtil.java │ │ ├── Pagination.java │ │ ├── PaginationHelper.java │ │ ├── SQLDrivers.java │ │ ├── Strings.java │ │ └── UpdateChecker.java │ └── resources/ │ ├── carbon-permissions.yml │ ├── locale/ │ │ ├── messages-de_AT.properties │ │ ├── messages-de_CH.properties │ │ ├── messages-de_DE.properties │ │ ├── messages-en_US.properties │ │ ├── messages-es_CL.properties │ │ ├── messages-es_ES.properties │ │ ├── messages-fi_FI.properties │ │ ├── messages-fr_CA.properties │ │ ├── messages-fr_FR.properties │ │ ├── messages-ja_JP.properties │ │ ├── messages-nl_NL.properties │ │ ├── messages-nn_NO.properties │ │ ├── messages-no_NO.properties │ │ ├── messages-pl_PL.properties │ │ ├── messages-pt_BR.properties │ │ ├── messages-ru_RU.properties │ │ ├── messages-tr_TR.properties │ │ ├── messages-uk_UA.properties │ │ ├── messages-zh_CN.properties │ │ └── messages-zh_TW.properties │ └── queries/ │ ├── clear-ignores.sql │ ├── clear-leftchannels.sql │ ├── clear-party-members.sql │ ├── drop-party-member.sql │ ├── drop-party.sql │ ├── insert-party-member.sql │ ├── insert-party.sql │ ├── insert-player.sql │ ├── migrations/ │ │ ├── h2/ │ │ │ ├── V1__create_tables.sql │ │ │ ├── V2__increase_nickname_size.sql │ │ │ ├── V3__parties.sql │ │ │ ├── V4__filters.sql │ │ │ ├── V5__tempmute.sql │ │ │ └── V6__tempmute.sql │ │ ├── mysql/ │ │ │ ├── V10__tempmute.sql │ │ │ ├── V1__create_tables.sql │ │ │ ├── V2__create_tables.sql │ │ │ ├── V3__fix_leftchannels.sql │ │ │ ├── V4__drop_usernames.sql │ │ │ ├── V5__add_dmtoggle.sql │ │ │ ├── V6__increase_nickname_size.sql │ │ │ ├── V7__parties.sql │ │ │ ├── V8__filters.sql │ │ │ └── V9__tempmute.sql │ │ └── postgresql/ │ │ ├── V10__tempmute.sql │ │ ├── V1__create_tables.sql │ │ ├── V2__create_tables.sql │ │ ├── V3__fix_leftchannels.sql │ │ ├── V4__drop_usernames.sql │ │ ├── V5__add_dmtoggle.sql │ │ ├── V6__increase_nickname_size.sql │ │ ├── V7__parties.sql │ │ ├── V8__filters.sql │ │ └── V9__tempmute.sql │ ├── save-ignores.sql │ ├── save-leftchannels.sql │ ├── select-ignores.sql │ ├── select-leftchannels.sql │ ├── select-party-members.sql │ ├── select-party.sql │ ├── select-player.sql │ └── update-player.sql ├── crowdin.yml ├── fabric/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ ├── java/ │ │ └── net/ │ │ └── draycia/ │ │ └── carbon/ │ │ └── fabric/ │ │ ├── CarbonChatFabric.java │ │ ├── CarbonChatFabricModule.java │ │ ├── CarbonFabricBootstrap.java │ │ ├── CarbonServerFabric.java │ │ ├── FabricMessageRenderer.java │ │ ├── FabricScheduler.java │ │ ├── MinecraftServerHolder.java │ │ ├── command/ │ │ │ ├── FabricCommander.java │ │ │ └── FabricPlayerCommander.java │ │ ├── listeners/ │ │ │ ├── FabricChatHandler.java │ │ │ └── FabricJoinQuitListener.java │ │ └── users/ │ │ ├── CarbonPlayerFabric.java │ │ └── FabricProfileResolver.java │ └── resources/ │ ├── carbonchat.mixins.json │ ├── data/ │ │ └── carbonchat/ │ │ └── chat_type/ │ │ └── chat.json │ └── pack.mcmeta ├── gradle/ │ ├── libs.versions.toml │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── paper/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ └── java/ │ └── net/ │ └── draycia/ │ └── carbon/ │ └── paper/ │ ├── CarbonChatPaper.java │ ├── CarbonChatPaperModule.java │ ├── CarbonPaperBootstrap.java │ ├── CarbonPaperLoader.java │ ├── CarbonServerPaper.java │ ├── PaperScheduler.java │ ├── command/ │ │ ├── PaperCommander.java │ │ └── PaperPlayerCommander.java │ ├── hooks/ │ │ ├── CarbonPAPIPlaceholders.java │ │ └── PAPIChatHook.java │ ├── integration/ │ │ ├── alessiodp_parties/ │ │ │ ├── AlessiodpPartiesIntegration.java │ │ │ └── AlessiodpPartiesPartyChannel.java │ │ ├── dsrv/ │ │ │ ├── DSRVIntegration.java │ │ │ └── DSRVListener.java │ │ ├── essxd/ │ │ │ ├── EssXDIntegration.java │ │ │ └── EssXDListener.java │ │ ├── fuuid/ │ │ │ ├── AbstractFactionsChannel.java │ │ │ ├── AllianceChannel.java │ │ │ ├── FactionChannel.java │ │ │ ├── FactionModChannel.java │ │ │ ├── FactionsIntegration.java │ │ │ └── TruceChannel.java │ │ ├── mcmmo/ │ │ │ ├── McmmoIntegration.java │ │ │ └── McmmoPartyChannel.java │ │ ├── plotsquared/ │ │ │ ├── PlotChannel.java │ │ │ └── PlotSquaredIntegration.java │ │ └── towny/ │ │ ├── AllianceChannel.java │ │ ├── NationChannel.java │ │ ├── ResidentListChannel.java │ │ ├── TownChannel.java │ │ └── TownyIntegration.java │ ├── listeners/ │ │ ├── PaperChatListener.java │ │ └── PaperPlayerJoinListener.java │ ├── messages/ │ │ ├── PaperMessageRenderer.java │ │ └── PlaceholderAPIMiniMessageParser.java │ └── users/ │ ├── CarbonPlayerPaper.java │ └── PaperProfileResolver.java ├── renovate.json ├── settings.gradle.kts ├── sponge/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ └── java/ │ └── net/ │ └── draycia/ │ └── carbon/ │ └── sponge/ │ ├── CarbonChatSponge.java │ ├── CarbonChatSpongeModule.java │ ├── CarbonServerSponge.java │ ├── SpongeMessageRenderer.java │ ├── SpongeUserManager.java │ ├── command/ │ │ ├── SpongeCommander.java │ │ └── SpongePlayerCommander.java │ ├── listeners/ │ │ ├── SpongeChatListener.java │ │ ├── SpongePlayerJoinListener.java │ │ └── SpongeReloadListener.java │ └── users/ │ └── CarbonPlayerSponge.java └── velocity/ ├── build.gradle.kts └── src/ └── main/ └── java/ └── net/ └── draycia/ └── carbon/ └── velocity/ ├── CarbonChatVelocity.java ├── CarbonChatVelocityModule.java ├── CarbonServerVelocity.java ├── CarbonVelocityBootstrap.java ├── VelocityMessageRenderer.java ├── command/ │ ├── VelocityCommander.java │ └── VelocityPlayerCommander.java ├── listeners/ │ ├── VelocityChatListener.java │ ├── VelocityListener.java │ ├── VelocityPlayerJoinListener.java │ └── VelocityPlayerLeaveListener.java └── users/ ├── CarbonPlayerVelocity.java └── VelocityProfileResolver.java