From 428eea508f549eb360f0b266c43db66e3d135152 Mon Sep 17 00:00:00 2001
From: "niklas.nieberler"
Date: Sun, 20 Aug 2023 14:08:58 +0200
Subject: [PATCH] Component support in sendActionBar
---
.github/workflows/gradle-build.yml | 73 +++
.gitignore | 79 +++
Jenkinsfile | 58 +++
LICENSE | 21 +
README.md | 243 +++++++++
build.gradle | 168 +++++++
gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes
gradle/wrapper/gradle-wrapper.properties | 26 +
gradlew | 191 +++++++
gradlew.bat | 89 ++++
settings.gradle | 63 +++
simplecloud-api/build.gradle | 39 ++
.../kotlin/eu/thesimplecloud/api/CloudAPI.kt | 68 +++
.../kotlin/eu/thesimplecloud/api/ICloudAPI.kt | 144 ++++++
.../api/cachelist/AbstractCacheList.kt | 54 ++
.../api/cachelist/ICacheList.kt | 136 +++++
.../cachelist/ICacheObjectUpdateExecutor.kt | 77 +++
.../api/cachelist/manager/CacheListManager.kt | 41 ++
.../cachelist/manager/ICacheListManager.kt | 41 ++
.../value/AbstractCacheValueUpdater.kt | 42 ++
.../api/cachelist/value/ICacheValue.kt | 43 ++
.../api/cachelist/value/ICacheValueUpdater.kt | 40 ++
.../api/client/NetworkComponentReference.kt | 51 ++
.../api/client/NetworkComponentType.kt | 35 ++
.../api/command/ICommandSender.kt | 64 +++
.../api/config/AbstractJsonLibConfigLoader.kt | 55 +++
.../config/AbstractMultipleConfigLoader.kt | 65 +++
.../api/config/IConfigLoader.kt | 43 ++
.../thesimplecloud/api/config/IFileHandler.kt | 42 ++
.../api/depedency/DependenciesInformation.kt | 28 ++
.../api/directorypaths/DirectoryPaths.kt | 43 ++
.../api/dto/PlayerLoginRequestResult.kt | 34 ++
.../group/CloudServiceGroupCreatedEvent.kt | 35 ++
.../api/event/group/CloudServiceGroupEvent.kt | 34 ++
.../group/CloudServiceGroupUpdatedEvent.kt | 35 ++
.../player/CloudPlayerCommandExecuteEvent.kt | 53 ++
.../player/CloudPlayerDisconnectEvent.kt | 49 ++
.../api/event/player/CloudPlayerEvent.kt | 28 ++
.../api/event/player/CloudPlayerLoginEvent.kt | 49 ++
.../event/player/CloudPlayerMessageEvent.kt | 26 +
.../player/CloudPlayerRegisteredEvent.kt | 31 ++
.../player/CloudPlayerServerConnectEvent.kt | 46 ++
.../player/CloudPlayerServerConnectedEvent.kt | 32 ++
.../player/CloudPlayerUnregisteredEvent.kt | 33 ++
.../event/player/CloudPlayerUpdatedEvent.kt | 33 ++
.../CloudPlayerPermissionCheckEvent.kt | 45 ++
.../player/permission/PermissionState.kt | 33 ++
.../service/CloudServiceConnectedEvent.kt | 30 ++
.../api/event/service/CloudServiceEvent.kt | 28 ++
.../service/CloudServiceInvisibleEvent.kt | 30 ++
.../service/CloudServiceRegisteredEvent.kt | 30 ++
.../event/service/CloudServiceStartedEvent.kt | 31 ++
.../service/CloudServiceStartingEvent.kt | 31 ++
.../service/CloudServiceUnregisteredEvent.kt | 30 ++
.../event/service/CloudServiceUpdatedEvent.kt | 30 ++
.../SynchronizedListObjectRemovedEvent.kt | 28 ++
.../SynchronizedListObjectUpdatedEvent.kt | 28 ++
.../sync/object/GlobalPropertyUpdatedEvent.kt | 28 ++
.../api/event/wrapper/WrapperEvent.kt | 28 ++
.../api/event/wrapper/WrapperUpdatedEvent.kt | 28 ++
.../api/eventapi/BasicEventManager.kt | 139 ++++++
.../api/eventapi/CloudEventHandler.kt | 28 ++
.../api/eventapi/ICancellable.kt | 40 ++
.../eu/thesimplecloud/api/eventapi/IEvent.kt | 28 ++
.../api/eventapi/IEventExecutor.kt | 36 ++
.../api/eventapi/IEventManager.kt | 73 +++
.../thesimplecloud/api/eventapi/IListener.kt | 29 ++
.../api/eventapi/ISynchronizedEvent.kt | 29 ++
.../api/eventapi/exception/EventException.kt | 29 ++
.../api/exception/NoSuchPlayerException.kt | 26 +
.../api/exception/NoSuchServiceException.kt | 25 +
.../api/exception/NoSuchWorldException.kt | 26 +
.../api/exception/PlayerConnectException.kt | 29 ++
.../api/exception/SerializationException.kt | 26 +
.../UnreachableComponentException.kt | 29 ++
.../api/extension/ClientManagerExtension.kt | 53 ++
.../api/external/ICloudModule.kt | 42 ++
.../api/language/ILanguageManager.kt | 61 +++
.../api/language/LanguageManager.kt | 55 +++
.../api/language/LanguagePlaceholder.kt | 37 ++
.../api/language/LanguageProperty.kt | 59 +++
.../api/language/LoadedLanguageFile.kt | 39 ++
.../api/listenerextension/AdvancedListener.kt | 103 ++++
.../AdvancedListenerExtension.kt | 32 ++
.../listenerextension/IAdvancedListener.kt | 68 +++
.../api/location/GroupLocation.kt | 84 ++++
.../api/location/ServiceLocation.kt | 128 +++++
.../api/location/SimpleLocation.kt | 80 +++
.../api/location/TemplateLocation.kt | 75 +++
.../api/message/IMessageChannel.kt | 65 +++
.../api/message/IMessageChannelManager.kt | 50 ++
.../api/message/IMessageListener.kt | 34 ++
.../eu/thesimplecloud/api/message/Message.kt | 33 ++
.../api/message/MessageChannel.kt | 84 ++++
.../api/message/MessageChannelManager.kt | 91 ++++
.../api/network/component/IAuthenticatable.kt | 39 ++
.../network/component/INetworkComponent.kt | 49 ++
.../api/network/component/ManagerComponent.kt | 50 ++
.../packets/PacketIOExecuteFunction.kt | 51 ++
.../api/network/packets/PacketIOPing.kt | 40 ++
.../packets/event/PacketIOCallEvent.kt | 42 ++
.../packets/language/PacketIOLanguage.kt | 56 +++
.../packets/message/PacketIOChannelMessage.kt | 45 ++
...acketIOCloudPlayerForceCommandExecution.kt | 47 ++
.../player/PacketIOConnectCloudPlayer.kt | 52 ++
.../player/PacketIOGetAllOnlinePlayers.kt | 36 ++
.../packets/player/PacketIOGetCloudPlayer.kt | 56 +++
.../player/PacketIOGetNetworkOnlineCount.kt | 40 ++
.../player/PacketIOGetOfflinePlayer.kt | 48 ++
.../player/PacketIOGetPlayerLocation.kt | 45 ++
.../packets/player/PacketIOGetPlayerPing.kt | 28 ++
.../PacketIOGetPlayersConnectedToService.kt | 50 ++
.../PacketIOGetRegisteredPlayerCount.kt | 40 ++
.../packets/player/PacketIOKickCloudPlayer.kt | 45 ++
.../player/PacketIOPlayerHasPermission.kt | 45 ++
.../player/PacketIOSaveOfflinePlayer.kt | 46 ++
.../PacketIOSendMessageToCloudPlayer.kt | 54 ++
.../player/PacketIOSendPlayerToLobby.kt | 44 ++
.../player/PacketIOSendTablistToPlayer.kt | 57 +++
.../player/PacketIOSendTitleToCloudPlayer.kt | 62 +++
.../player/PacketIOSetCloudPlayerUpdates.kt | 51 ++
.../packets/player/PacketIOTeleportPlayer.kt | 50 ++
.../packets/screen/PacketIOExecuteCommand.kt | 59 +++
.../packets/service/PacketIOCopyService.kt | 51 ++
.../service/PacketIOStartCloudService.kt | 42 ++
.../service/PacketIOStopCloudService.kt | 44 ++
.../service/PacketIOWrapperStartService.kt | 43 ++
.../PacketIOCloudServiceGroupData.kt | 54 ++
.../PacketIOCreateServiceGroup.kt | 37 ++
.../serviceversion/PacketIOServiceVersions.kt | 50 ++
.../cachelist/PacketIOUpdateCacheObject.kt | 72 +++
.../PacketIOGetAllCachedListProperties.kt | 47 ++
.../sync/list/PacketIORemoveListProperty.kt | 54 ++
.../sync/list/PacketIOUpdateListProperty.kt | 54 ++
.../sync/object/PacketIOGetGlobalProperty.kt | 54 ++
.../object/PacketIORemoveGlobalProperty.kt | 43 ++
.../object/PacketIOUpdateGlobalProperty.kt | 48 ++
.../api/parser/ITypeFromClassParser.kt | 38 ++
.../thesimplecloud/api/parser/ITypeParser.kt | 41 ++
.../parser/jsondata/IJsonDataTypeParser.kt | 29 ++
.../api/parser/jsondata/JsonDataParser.kt | 33 ++
.../api/parser/string/IStringTypeParser.kt | 28 ++
.../api/parser/string/StringParser.kt | 71 +++
.../parser/string/typeparser/BooleanParser.kt | 40 ++
.../typeparser/CloudLobbyGroupParser.kt | 35 ++
.../typeparser/CloudProxyGroupParser.kt | 35 ++
.../typeparser/CloudServerGroupParser.kt | 35 ++
.../typeparser/CloudServiceGroupParser.kt | 35 ++
.../string/typeparser/CloudServiceParser.kt | 35 ++
.../parser/string/typeparser/DoubleParser.kt | 41 ++
.../parser/string/typeparser/FloatParser.kt | 41 ++
.../api/parser/string/typeparser/IntParser.kt | 41 ++
.../string/typeparser/TemplateParser.kt | 34 ++
.../string/typeparser/WrapperInfoParser.kt | 34 ++
.../api/player/AbstractCloudPlayerManager.kt | 94 ++++
.../api/player/ICloudPlayerUpdater.kt | 51 ++
.../api/player/IOfflineCloudPlayer.kt | 86 ++++
.../api/player/OfflineCloudPlayer.kt | 94 ++++
.../api/player/PlayerMessageQueue.kt | 61 +++
.../api/player/PlayerServerConnectState.kt | 37 ++
.../api/player/SimpleCloudPlayer.kt | 53 ++
.../player/connection/ConnectionResponse.kt | 55 +++
.../player/connection/DefaultPlayerAddress.kt | 33 ++
.../connection/DefaultPlayerConnection.kt | 44 ++
.../api/player/connection/IPlayerAddress.kt | 37 ++
.../player/connection/IPlayerConnection.kt | 62 +++
.../api/player/impl/CloudPlayer.kt | 146 ++++++
.../api/player/impl/CloudPlayerUpdater.kt | 75 +++
.../api/player/text/CloudText.kt | 77 +++
.../api/player/text/CloudTextBuilder.kt | 97 ++++
.../thesimplecloud/api/property/IProperty.kt | 38 ++
.../api/property/IPropertyMap.kt | 88 ++++
.../thesimplecloud/api/property/Property.kt | 88 ++++
.../api/screen/ICommandExecutable.kt | 36 ++
.../api/screen/ICommandExecuteManager.kt | 32 ++
.../api/service/ICloudService.kt | 261 ++++++++++
.../api/service/ICloudServiceManager.kt | 83 ++++
.../api/service/ICloudServiceUpdater.kt | 37 ++
.../api/service/ICloudServiceVariables.kt | 101 ++++
.../api/service/ServiceState.kt | 52 ++
.../thesimplecloud/api/service/ServiceType.kt | 63 +++
.../impl/AbstractCloudServiceManager.kt | 101 ++++
.../api/service/impl/DefaultCloudService.kt | 203 ++++++++
.../impl/DefaultCloudServiceUpdater.kt | 112 +++++
.../IServiceStartConfiguration.kt | 79 +++
.../ServiceStartConfiguration.kt | 95 ++++
.../start/future/IServiceStartPromise.kt | 87 ++++
.../start/future/ServiceStartPromise.kt | 234 +++++++++
.../service/version/IServiceVersionHandler.kt | 81 +++
.../api/service/version/ServiceVersion.kt | 38 ++
.../service/version/ServiceVersionHandler.kt | 92 ++++
.../loader/CombinedServiceVersionLoader.kt | 41 ++
.../version/loader/IServiceVersionLoader.kt | 40 ++
.../loader/LocalServiceVersionHandler.kt | 58 +++
.../version/loader/ServiceVersionWebLoader.kt | 63 +++
.../service/version/type/MinecraftEdition.kt | 35 ++
.../service/version/type/ServiceAPIType.kt | 51 ++
.../version/type/ServiceVersionType.kt | 43 ++
.../api/servicegroup/ICloudServiceGroup.kt | 124 +++++
.../servicegroup/ICloudServiceGroupManager.kt | 248 ++++++++++
.../servicegroup/ICloudServiceGroupUpdater.kt | 32 ++
.../ICloudServiceGroupVariables.kt | 141 ++++++
.../grouptype/ICloudLobbyGroup.kt | 45 ++
.../grouptype/ICloudProxyGroup.kt | 45 ++
.../grouptype/ICloudServerGroup.kt | 37 ++
.../updater/ICloudLobbyGroupUpdater.kt | 40 ++
.../updater/ICloudProxyGroupUpdater.kt | 40 ++
.../impl/AbstractCloudServiceGroupManager.kt | 72 +++
.../servicegroup/impl/AbstractServiceGroup.kt | 145 ++++++
.../servicegroup/impl/DefaultLobbyGroup.kt | 96 ++++
.../servicegroup/impl/DefaultProxyGroup.kt | 95 ++++
.../servicegroup/impl/DefaultServerGroup.kt | 83 ++++
.../impl/updater/DefaultLobbyGroupUpdater.kt | 42 ++
.../impl/updater/DefaultProxyGroupUpdater.kt | 43 ++
.../updater/DefaultServiceGroupUpdater.kt | 132 +++++
.../list/AbstractSynchronizedObjectList.kt | 89 ++++
.../api/sync/list/ISynchronizedObjectList.kt | 65 +++
.../manager/ISynchronizedObjectListManager.kt | 71 +++
.../manager/SynchronizedObjectListManager.kt | 74 +++
.../api/sync/object/GlobalPropertyHolder.kt | 129 +++++
.../api/sync/object/IGlobalPropertyHolder.kt | 35 ++
.../thesimplecloud/api/template/ITemplate.kt | 45 ++
.../api/template/ITemplateManager.kt | 41 ++
.../api/template/ITemplateUpdater.kt | 37 ++
.../api/template/ITemplateVariables.kt | 71 +++
.../api/template/impl/DefaultTemplate.kt | 78 +++
.../template/impl/DefaultTemplateManager.kt | 61 +++
.../template/impl/DefaultTemplateUpdater.kt | 80 +++
.../api/utils/ClassExtension.kt | 32 ++
.../api/utils/ConfigurationFileEditor.kt | 118 +++++
.../api/utils/DatabaseExclude.kt | 36 ++
.../thesimplecloud/api/utils/EnumExtension.kt | 34 ++
.../eu/thesimplecloud/api/utils/FileFinder.kt | 52 ++
.../api/utils/ManifestLoader.kt | 41 ++
.../eu/thesimplecloud/api/utils/Nameable.kt | 32 ++
.../api/utils/NoArgsFunction.kt | 35 ++
.../api/utils/ObjectSerializer.kt | 69 +++
.../api/utils/StringIterableExtension.kt | 34 ++
.../eu/thesimplecloud/api/utils/ZipUtils.kt | 79 +++
.../api/utils/time/TimeAmountMeasurer.kt | 48 ++
.../api/utils/time/Timestamp.kt | 61 +++
.../api/wrapper/IWrapperInfo.kt | 94 ++++
.../api/wrapper/IWrapperInfoUpdater.kt | 92 ++++
.../api/wrapper/IWrapperManager.kt | 53 ++
.../api/wrapper/impl/DefaultWrapperInfo.kt | 112 +++++
.../wrapper/impl/DefaultWrapperInfoUpdater.kt | 99 ++++
.../api/wrapper/impl/DefaultWrapperManager.kt | 71 +++
.../api/eventapi/AdvancedListenerTest.kt | 96 ++++
.../api/eventapi/EmptyMockCloudAPIImpl.kt | 96 ++++
.../api/eventapi/EventApiTest.kt | 105 ++++
.../ServiceVersionHandlerTest.kt | 189 +++++++
simplecloud-base/build.gradle | 67 +++
.../base/core/jvm/JvmArgument.kt | 34 ++
.../base/core/jvm/JvmArgumentsConfig.kt | 33 ++
.../base/manager/commands/ClearCommand.kt | 39 ++
.../base/manager/commands/CopyCommand.kt | 63 +++
.../base/manager/commands/CreateCommand.kt | 91 ++++
.../base/manager/commands/DeleteCommand.kt | 115 +++++
.../base/manager/commands/EditCommand.kt | 316 ++++++++++++
.../base/manager/commands/ExecuteCommand.kt | 51 ++
.../base/manager/commands/InfoCommand.kt | 96 ++++
.../base/manager/commands/ListCommand.kt | 100 ++++
.../base/manager/commands/ReloadCommand.kt | 152 ++++++
.../base/manager/commands/ScreenCommand.kt | 82 +++
.../base/manager/commands/ShutdownCommand.kt | 46 ++
.../manager/commands/ShutdownGroupCommand.kt | 53 ++
.../base/manager/commands/StartCommand.kt | 60 +++
.../manager/commands/StartStaticCommand.kt | 68 +++
...GroupParameterCommandSuggestionProvider.kt | 52 ++
...apperParameterCommandSuggestionProvider.kt | 53 ++
.../config/JvmArgumentsConfigLoader.kt | 42 ++
.../config/encryption/KeyConfigLoader.kt | 41 ++
.../config/mongo/DatabaseConfigLoader.kt | 47 ++
.../config/template/TemplatesConfig.kt | 29 ++
.../config/template/TemplatesConfigLoader.kt | 34 ++
.../config/updater/ModuleUpdaterConfig.kt | 33 ++
.../updater/ModuleUpdaterConfigLoader.kt | 56 +++
.../AbstractOfflineCloudPlayerHandler.kt | 43 ++
.../database/DatabaseConnectionInformation.kt | 34 ++
.../base/manager/database/DatabaseType.kt | 38 ++
.../database/IOfflineCloudPlayerHandler.kt | 56 +++
.../MongoOfflineCloudPlayerHandler.kt | 133 +++++
.../database/SQLOfflineCloudPlayerHandler.kt | 166 +++++++
.../database/aes/AdvancedEncryption.kt | 64 +++
.../events/CloudPlayerLoginRequestEvent.kt | 43 ++
.../CloudServiceGroupFileHandler.kt | 69 +++
.../manager/filehandler/WrapperFileHandler.kt | 59 +++
.../base/manager/impl/CloudAPIImpl.kt | 97 ++++
.../impl/CloudServiceGroupManagerImpl.kt | 72 +++
.../manager/impl/CloudServiceManagerImpl.kt | 104 ++++
.../manager/impl/CommandExecuteManagerImpl.kt | 56 +++
.../base/manager/impl/EventManagerImpl.kt | 41 ++
.../base/manager/impl/TemplateManagerImpl.kt | 61 +++
.../base/manager/impl/WrapperManagerImpl.kt | 41 ++
.../ingamecommands/IngameCommandUpdater.kt | 51 ++
.../manager/language/LanguageManagerImpl.kt | 52 ++
.../base/manager/listener/CloudListener.kt | 83 ++++
.../manager/listener/ModuleEventListener.kt | 54 ++
.../packets/PacketInCloudClientLogin.kt | 81 +++
.../packets/PacketInGetTabSuggestions.kt | 56 +++
.../network/packets/PacketInScreenMessage.kt | 52 ++
.../network/packets/PacketOutJvmArguments.kt | 45 ++
.../packets/PacketOutReloadExistingModules.kt | 33 ++
.../packets/PacketOutSetWrapperName.kt | 35 ++
.../player/PacketInCreateCloudPlayer.kt | 73 +++
.../player/PacketInPlayerConnectToServer.kt | 61 +++
.../player/PacketInPlayerExecuteCommand.kt | 51 ++
.../player/PacketInPlayerLoginRequest.kt | 45 ++
.../player/PacketInTeleportOtherService.kt | 53 ++
.../player/PacketOutGetPlayerOnlineStatus.kt | 46 ++
.../packets/template/PacketInGetTemplates.kt | 58 +++
.../base/manager/packet/IPacketRegistry.kt | 60 +++
.../base/manager/packet/PacketRegistry.kt | 46 ++
.../manager/player/LoadOfflineCloudPlayer.kt | 37 ++
.../player/PlayerUnregisterScheduler.kt | 66 +++
.../exception/OfflinePlayerLoadException.kt | 26 +
.../base/manager/service/IServiceHandler.kt | 49 ++
.../base/manager/service/ServiceHandler.kt | 219 ++++++++
.../ManagerServiceVersionHandler.kt | 70 +++
.../manager/setup/CreateDefaultLobbyGroup.kt | 41 ++
.../manager/setup/CreateDefaultProxyGroup.kt | 41 ++
.../base/manager/setup/ServiceVersionSetup.kt | 95 ++++
.../base/manager/setup/WrapperSetup.kt | 97 ++++
.../setup/database/DatabaseConnectionSetup.kt | 107 ++++
.../DatabaseTypeSetupAnswerProvider.kt | 40 ++
.../manager/setup/groups/DefaultGroupSetup.kt | 63 +++
.../manager/setup/groups/LobbyGroupSetup.kt | 192 +++++++
.../setup/groups/LobbyGroupSetupWithJava.kt | 42 ++
.../manager/setup/groups/ProxyGroupSetup.kt | 195 ++++++++
.../manager/setup/groups/ServerGroupSetup.kt | 181 +++++++
.../setup/groups/ServerGroupSetupWithJava.kt | 37 ++
.../GroupTemplateSetupAnswerProvider.kt | 42 ++
.../GroupWrapperSetupAnswerProvider.kt | 43 ++
.../ProxyVersionTypeSetupAnswerProvider.kt | 43 ++
.../ServerVersionTypeSetupAnswerProvider.kt | 43 ++
.../provider/ServiceAPITypeAnswerProvider.kt | 40 ++
.../ServiceJavaCommandAnswerProvider.kt | 34 ++
.../base/manager/startup/Manager.kt | 263 ++++++++++
.../base/manager/startup/ProfileFile.kt | 58 +++
.../server/AbstractCloudConnectionHandler.kt | 55 +++
.../CommunicationConnectionHandlerImpl.kt | 81 +++
.../startup/server/ManagerAccessHandler.kt | 44 ++
.../startup/server/ServerHandlerImpl.kt | 43 ++
.../server/TemplateConnectionHandlerImpl.kt | 33 ++
.../update/converter/ConversionException.kt | 27 +
.../update/converter/Converter_2_0_To_2_1.kt | 43 ++
.../update/converter/Converter_2_2_To_2_3.kt | 69 +++
.../update/converter/Converter_2_3_To_2_4.kt | 83 ++++
.../update/converter/Converter_2_4_To_2_5.kt | 44 ++
.../update/converter/IVersionConverter.kt | 38 ++
.../converter/VersionConversionManager.kt | 101 ++++
.../base/wrapper/impl/CloudAPIImpl.kt | 86 ++++
.../impl/CloudServiceGroupManagerImpl.kt | 51 ++
.../wrapper/impl/CloudServiceManagerImpl.kt | 80 +++
.../wrapper/impl/CommandExecuteManagerImpl.kt | 57 +++
.../base/wrapper/impl/EventManagerImpl.kt | 42 ++
.../logger/LoggerMessageListenerImpl.kt | 44 ++
.../network/packets/PacketInJvmArguments.kt | 46 ++
.../packets/PacketInReloadExistingModules.kt | 35 ++
.../network/packets/PacketInSetWrapperName.kt | 45 ++
.../packets/template/PacketOutGetTemplates.kt | 30 ++
.../wrapper/process/CloudServiceProcess.kt | 238 +++++++++
.../process/CloudServiceProcessManager.kt | 42 ++
.../wrapper/process/ICloudServiceProcess.kt | 52 ++
.../process/ICloudServiceProcessManager.kt | 61 +++
.../base/wrapper/process/ProcessCopier.kt | 109 ++++
.../filehandler/LoadedServiceVersion.kt | 51 ++
.../process/filehandler/ServiceDirectory.kt | 171 +++++++
.../filehandler/ServiceVersionJarLoader.kt | 44 ++
.../filehandler/SingleServiceVersionLoader.kt | 97 ++++
.../process/queue/CloudServiceProcessQueue.kt | 91 ++++
.../IServiceConfigurator.kt | 36 ++
.../ServiceConfiguratorManager.kt | 44 ++
.../DefaultBungeeConfigurator.kt | 45 ++
.../DefaultServerConfigurator.kt | 49 ++
.../DefaultVelocityConfigurator.kt | 45 ++
.../wrapper/startup/ConnectionHandlerImpl.kt | 45 ++
.../base/wrapper/startup/CpuUsageUpdater.kt | 63 +++
.../base/wrapper/startup/PortManager.kt | 82 +++
.../base/wrapper/startup/Wrapper.kt | 234 +++++++++
.../src/main/resources/files/bukkit.yml | 43 ++
.../src/main/resources/files/config.yml | 50 ++
.../src/main/resources/files/server-icon.png | Bin 0 -> 2073 bytes
.../main/resources/files/server.properties | 58 +++
.../src/main/resources/files/spigot.yml | 133 +++++
.../src/main/resources/files/velocity.toml | 95 ++++
.../src/main/resources/manager.json | 19 +
.../src/main/resources/wrapper.json | 19 +
simplecloud-client/build.gradle | 29 ++
.../packets/PacketOutCloudClientLogin.kt | 42 ++
.../client/packets/PacketOutScreenMessage.kt | 43 ++
simplecloud-dependency-loader/build.gradle | 23 +
.../AdvancedDependencyDownloader.kt | 68 +++
.../loader/dependency/DependencyLoader.kt | 112 +++++
.../loader/dependency/DependencyLoaderMain.kt | 53 ++
.../loader/dependency/DependencyResolver.kt | 88 ++++
.../dependency/LauncherDependencyLoader.kt | 60 +++
simplecloud-launcher/build.gradle | 70 +++
.../startup/ClassLoaderValidatorMain.java | 47 ++
.../launcher/startup/WrapperRamWriter.kt | 34 ++
.../application/ApplicationClassLoader.kt | 62 +++
.../application/ApplicationStarter.kt | 67 +++
.../application/CloudApplicationType.kt | 32 ++
.../launcher/application/ICloudApplication.kt | 28 ++
.../launcher/commands/CreateJavaVersion.kt | 40 ++
.../launcher/commands/HelpCommand.kt | 66 +++
.../launcher/commands/StopCommand.kt | 47 ++
.../launcher/commands/VersionCommand.kt | 45 ++
.../launcher/config/java/JavaVersion.kt | 34 ++
.../config/java/JavaVersionConfigLoader.kt | 33 ++
.../config/launcher/LauncherConfig.kt | 33 ++
.../config/launcher/LauncherConfigLoader.kt | 34 ++
.../launcher/console/ConsoleCompleter.kt | 66 +++
.../launcher/console/ConsoleManager.kt | 115 +++++
.../launcher/console/ConsoleSender.kt | 78 +++
.../launcher/console/IConsoleManager.kt | 37 ++
.../launcher/console/command/CommandData.kt | 68 +++
.../console/command/CommandManager.kt | 327 ++++++++++++
.../console/command/CommandParameterData.kt | 34 ++
.../launcher/console/command/CommandType.kt | 36 ++
.../console/command/ICommandHandler.kt | 32 ++
.../console/command/annotations/Command.kt | 45 ++
.../command/annotations/CommandArgument.kt | 41 ++
.../command/annotations/CommandSubPath.kt | 35 ++
.../CloudPlayerCommandSuggestionProvider.kt | 40 ++
.../EmptyCommandSuggestionProvider.kt | 39 ++
.../provider/ICommandSuggestionProvider.kt | 44 ++
.../ServiceCommandSuggestionProvider.kt | 40 ++
.../ServiceGroupCommandSuggestionProvider.kt | 40 ++
.../ServiceStateCommandSuggestionProvider.kt | 34 ++
.../TemplateCommandSuggestionProvider.kt | 40 ++
.../WrapperCommandSuggestionProvider.kt | 40 ++
.../launcher/console/setup/ISetup.kt | 26 +
.../launcher/console/setup/SetupManager.kt | 232 +++++++++
.../setup/annotations/SetupCancelled.kt | 28 ++
.../setup/annotations/SetupFinished.kt | 28 ++
.../setup/annotations/SetupQuestion.kt | 35 ++
.../provider/BooleanSetupAnswerProvider.kt | 39 ++
.../provider/EmptySetupAnswerProvider.kt | 39 ++
.../setup/provider/ISetupAnswerProvider.kt | 42 ++
.../provider/TemplateSetupAnswerProvider.kt | 40 ++
.../provider/WrapperSetupAnswerProvider.kt | 40 ++
.../launcher/event/command/CommandEvent.kt | 28 ++
.../event/command/CommandExecuteEvent.kt | 42 ++
.../event/command/CommandRegisteredEvent.kt | 27 +
.../event/command/CommandUnregisteredEvent.kt | 27 +
.../launcher/event/module/ModuleEvent.kt | 28 ++
.../event/module/ModuleLoadedEvent.kt | 28 ++
.../event/module/ModuleUnloadedEvent.kt | 28 ++
.../exception/CommandRegistrationException.kt | 32 ++
.../launcher/exception/DependencyException.kt | 26 +
.../exception/module/ModuleLoadException.kt | 30 ++
.../launcher/extension/IterableExtension.kt | 46 ++
.../launcher/external/ExtensionLoader.kt | 46 ++
.../launcher/external/module/LoadedModule.kt | 45 ++
.../module/LoadedModuleFileContent.kt | 32 ++
.../external/module/ModuleClassLoader.kt | 77 +++
.../external/module/ModuleCopyType.kt | 56 +++
.../external/module/ModuleFileContent.kt | 50 ++
.../external/module/handler/IModuleHandler.kt | 114 +++++
.../external/module/handler/ModuleHandler.kt | 207 ++++++++
.../handler/ModuleLanguageFileLoader.kt | 85 ++++
.../module/handler/ModuleListLoader.kt | 127 +++++
.../module/handler/ModuleUpdateInstaller.kt | 58 +++
.../handler/RecursiveDependencyChecker.kt | 60 +++
.../module/handler/UnsafeModuleLoader.kt | 82 +++
.../module/handler/UnsafeModuleUnloader.kt | 68 +++
.../external/module/update/UpdateMethod.kt | 43 ++
.../module/update/UpdaterFileContent.kt | 36 ++
.../external/module/updater/ModuleUpdater.kt | 61 +++
.../launcher/language/LanguageFileLoader.kt | 115 +++++
.../launcher/logging/AnsiColorHelper.kt | 64 +++
.../logging/ILoggerMessageListener.kt | 29 ++
.../launcher/logging/LogType.kt | 35 ++
.../launcher/logging/LoggerProvider.kt | 233 +++++++++
.../launcher/screens/IScreen.kt | 47 ++
.../launcher/screens/IScreenManager.kt | 81 +++
.../launcher/screens/ScreenImpl.kt | 43 ++
.../launcher/screens/ScreenManagerImpl.kt | 89 ++++
.../launcher/screens/session/ScreenSession.kt | 60 +++
.../launcher/setups/AutoIpSetup.kt | 71 +++
.../thesimplecloud/launcher/setups/IpSetup.kt | 53 ++
.../launcher/setups/JavaSetup.kt | 64 +++
.../launcher/setups/LanguageSetup.kt | 47 ++
.../launcher/setups/StartSetup.kt | 57 +++
.../ApplicationTypeSetupAnswerProvider.kt | 39 ++
.../provider/LanguageSetupAnswerProvider.kt | 39 ++
.../launcher/startup/Launcher.kt | 246 +++++++++
.../launcher/startup/LauncherMain.kt | 34 ++
.../startup/LauncherStartArguments.kt | 43 ++
.../launcher/updater/AbstractUpdater.kt | 66 +++
.../launcher/updater/BaseUpdater.kt | 47 ++
.../launcher/updater/IUpdater.kt | 73 +++
.../launcher/updater/RunnerUpdater.kt | 105 ++++
.../launcher/updater/UpdateExecutor.kt | 32 ++
.../launcher/utils/FileCopier.kt | 68 +++
.../launcher/utils/IpValidator.kt | 41 ++
.../launcher/utils/WebsiteContentLoader.kt | 43 ++
.../src/main/resources/language/de.json | 197 ++++++++
.../src/main/resources/language/en.json | 198 ++++++++
.../thesimplecloud/EmptyMockCloudAPIImpl.kt | 98 ++++
.../launcher/external/ModuleListLoaderTest.kt | 130 +++++
.../thesimplecloud/mockmodule/ModuleMain.kt | 33 ++
simplecloud-modules/build.gradle | 22 +
.../simplecloud-module-chat-tab/build.gradle | 40 ++
.../module/prefix/manager/PrefixModule.kt | 50 ++
.../prefix/manager/command/ChatTabCommand.kt | 51 ++
.../prefix/manager/config/ChatTabConfig.kt | 64 +++
.../config/ChatTabModuleConfigPersistence.kt | 51 ++
.../manager/config/TablistInformation.kt | 37 ++
.../prefix/service/bungee/BungeePluginMain.kt | 32 ++
.../prefix/service/spigot/BukkitPluginMain.kt | 61 +++
.../service/spigot/listener/ChatListener.kt | 72 +++
.../service/spigot/listener/CloudListener.kt | 53 ++
.../service/spigot/listener/JoinListener.kt | 51 ++
.../service/tablist/ProxyTablistHelper.kt | 47 ++
.../prefix/service/tablist/TablistHelper.kt | 111 +++++
.../service/velocity/VelocityPluginMain.kt | 36 ++
.../src/main/resources/bungee.yml | 6 +
.../src/main/resources/languages/de.json | 6 +
.../src/main/resources/languages/en.json | 6 +
.../src/main/resources/module.json | 10 +
.../src/main/resources/plugin.yml | 7 +
.../src/main/resources/updater.json | 6 +
.../src/main/resources/velocity-plugin.json | 9 +
.../build.gradle | 34 ++
.../module/cloudflare/CloudFlareModule.kt | 88 ++++
.../cloudflare/config/domain/DomainConfig.kt | 42 ++
.../config/domain/DomainConfigLoader.kt | 39 ++
.../cloudflare/config/proxy/ProxyConfig.kt | 41 ++
.../config/proxy/ProxyConfigLoader.kt | 39 ++
.../domain/CloudFlareDomainHelper.kt | 168 +++++++
.../listener/CloudFlareSingleGroupListener.kt | 68 +++
.../src/main/resources/languages/de.json | 5 +
.../src/main/resources/languages/en.json | 5 +
.../src/main/resources/module.json | 19 +
.../src/main/resources/updater.json | 6 +
.../build.gradle | 32 ++
.../module/hubcommand/HubCommand.kt | 53 ++
.../module/hubcommand/HubCommandModule.kt | 38 ++
.../hubcommand/config/HubCommandConfig.kt | 34 ++
.../config/HubCommandConfigLoader.kt | 39 ++
.../src/main/resources/module.json | 10 +
.../src/main/resources/updater.json | 6 +
.../build.gradle | 32 ++
.../internalwrapper/InternalWrapperModule.kt | 109 ++++
.../setup/InternalWrapperMemorySetup.kt | 59 +++
.../src/main/resources/languages/de.json | 3 +
.../src/main/resources/languages/en.json | 3 +
.../src/main/resources/module.json | 10 +
.../src/main/resources/updater.json | 6 +
.../simplecloud-module-notify/build.gradle | 34 ++
.../module/notify/CloudListener.kt | 106 ++++
.../module/notify/NotifyModule.kt | 70 +++
.../module/notify/config/Config.kt | 36 ++
.../module/notify/config/DefaultConfig.kt | 42 ++
.../src/main/resources/module.json | 10 +
.../src/main/resources/updater.json | 6 +
.../simplecloud-module-npc/build.gradle | 38 ++
.../npc/lib/config/InventorySettingsConfig.kt | 11 +
.../module/npc/lib/config/NPCModuleConfig.kt | 12 +
.../npc/lib/config/NPCModuleConfigHandler.kt | 50 ++
.../module/npc/lib/config/NPCsConfig.kt | 14 +
.../module/npc/lib/config/npc/CloudNPCData.kt | 17 +
.../module/npc/lib/config/npc/LocationData.kt | 11 +
.../module/npc/lib/config/npc/NPCItem.kt | 6 +
.../module/npc/lib/config/npc/SkinData.kt | 6 +
.../npc/lib/config/npc/action/Action.kt | 7 +
.../npc/lib/config/npc/action/NPCAction.kt | 3 +
.../lib/config/npc/settings/MobNPCSettings.kt | 6 +
.../lib/config/npc/settings/NPCSettings.kt | 8 +
.../config/npc/settings/PlayerNPCSettings.kt | 11 +
.../module/npc/lib/extension/String.kt | 28 ++
.../module/npc/lib/type/MaterialType.kt | 5 +
.../module/npc/lib/type/MobType.kt | 5 +
.../module/npc/module/NPCModule.kt | 79 +++
.../npc/module/command/CloudNPCCommand.kt | 237 +++++++++
.../npc/module/command/CreateNpcCommand.kt | 134 +++++
.../module/command/EditGeneralNpcCommand.kt | 280 +++++++++++
...CloudNPCActionCommandSuggestionProvider.kt | 11 +
.../CloudNPCIDCommandSuggestionProvider.kt | 12 +
.../CloudNPCIDMobCommandSuggestionProvider.kt | 12 +
...oudNPCIDPlayerCommandSuggestionProvider.kt | 12 +
...oudNPCItemListCommandSuggestionProvider.kt | 18 +
...loudNPCMobTypeCommandSuggestionProvider.kt | 21 +
...WithoutProxiesCommandSuggestionProvider.kt | 26 +
.../module/npc/module/skin/SkinHandler.kt | 135 +++++
.../module/npc/plugin/NPCPlugin.kt | 64 +++
.../npc/plugin/inventory/InventoryData.kt | 10 +
.../npc/plugin/inventory/InventoryHandler.kt | 111 +++++
.../npc/plugin/listener/CloudListener.kt | 33 ++
.../npc/plugin/listener/InventoryListener.kt | 49 ++
.../listener/PlayerConnectionListener.kt | 43 ++
.../module/npc/plugin/npc/ServerNPCHandler.kt | 83 ++++
.../npc/plugin/npc/type/AbstractServerNPC.kt | 147 ++++++
.../module/npc/plugin/npc/type/MobNPC.kt | 123 +++++
.../module/npc/plugin/npc/type/PlayerNPC.kt | 116 +++++
.../module/npc/plugin/npc/type/ServerNPC.kt | 10 +
.../src/main/resources/languages/de.json | 35 ++
.../src/main/resources/languages/en.json | 35 ++
.../src/main/resources/module.json | 10 +
.../src/main/resources/plugin.yml | 9 +
.../src/main/resources/updater.json | 6 +
.../build.gradle | 41 ++
.../module/permission/IPermissionPool.kt | 40 ++
.../permission/PermissionCheckListener.kt | 39 ++
.../PermissionPlayerUpdatedEventCaller.kt | 46 ++
.../module/permission/PermissionPool.kt | 66 +++
.../permission/entity/IPermissionEntity.kt | 79 +++
.../permission/entity/PermissionEntity.kt | 47 ++
.../group/PermissionGroupDeletedEvent.kt | 33 ++
.../event/group/PermissionGroupEvent.kt | 36 ++
.../group/PermissionGroupUpdatedEvent.kt | 33 ++
.../event/player/PermissionPlayerEvent.kt | 36 ++
.../player/PermissionPlayerUpdatedEvent.kt | 33 ++
.../permission/group/IPermissionGroup.kt | 70 +++
.../permission/group/PermissionGroup.kt | 59 +++
.../group/manager/IPermissionGroupManager.kt | 60 +++
.../group/manager/PermissionGroupManager.kt | 83 ++++
.../permission/manager/CloudListener.kt | 56 +++
.../manager/PermissionFilesPriorityUpdater.kt | 52 ++
.../permission/manager/PermissionModule.kt | 91 ++++
.../manager/command/PermissionCommand.kt | 467 ++++++++++++++++++
...ermissionGroupCommandSuggestionProvider.kt | 41 ++
.../config/PermissionGroupConfigsLoader.kt | 52 ++
.../manager/config/PermissionModuleConfig.kt | 34 ++
.../config/PermissionModuleConfigLoader.kt | 40 ++
.../packet/PacketInGetDefaultGroupName.kt | 40 ++
.../packet/PacketOutGetDefaultGroupName.kt | 41 ++
.../permission/permission/Permission.kt | 73 +++
.../permission/player/IPermissionPlayer.kt | 113 +++++
.../player/OfflinePlayerExtension.kt | 34 ++
.../permission/player/PermissionPlayer.kt | 81 +++
.../player/PlayerPermissionGroupInfo.kt | 28 ++
.../manager/IPermissionPlayerManager.kt | 70 +++
.../service/bungee/BungeeListener.kt | 47 ++
.../service/bungee/BungeePluginMain.kt | 36 ++
.../spigot/BukkitCloudPermissibleBase.kt | 66 +++
.../service/spigot/SpigotListener.kt | 60 +++
.../service/spigot/SpigotPluginMain.kt | 38 ++
.../service/spigot/util/ReflectionUtils.kt | 47 ++
.../velocity/VelocityPermissionProvider.kt | 56 +++
.../service/velocity/VelocityPluginMain.kt | 50 ++
.../src/main/resources/bungee.yml | 6 +
.../src/main/resources/languages/de.json | 26 +
.../src/main/resources/languages/en.json | 26 +
.../src/main/resources/module.json | 10 +
.../src/main/resources/plugin.yml | 11 +
.../src/main/resources/updater.json | 6 +
.../src/main/resources/velocity-plugin.json | 9 +
.../permission/PermissionTest.kt | 71 +++
.../build.gradle | 24 +
.../manager/PlaceholdersModule.kt | 13 +
.../placeholders/spigot/BukkitPluginMain.kt | 28 ++
.../placeholders/spigot/StringExtension.kt | 108 ++++
.../spigot/placeholderapi/PlaceholderHook.kt | 24 +
.../src/main/resources/module.json | 10 +
.../src/main/resources/plugin.yml | 15 +
.../src/main/resources/updater.json | 6 +
.../simplecloud-module-proxy/build.gradle | 38 ++
.../module/proxy/config/Config.kt | 43 ++
.../module/proxy/config/DefaultConfig.kt | 87 ++++
.../module/proxy/config/MotdConfiguration.kt | 37 ++
.../proxy/config/ProxyGroupConfiguration.kt | 37 ++
.../proxy/config/TablistConfiguration.kt | 35 ++
.../module/proxy/extensions/ListExtension.kt | 34 ++
.../proxy/manager/GroupCreateListener.kt | 60 +++
.../manager/MaintenanceToggleListener.kt | 93 ++++
.../module/proxy/manager/ProxyModule.kt | 88 ++++
.../proxy/manager/commands/ProxyCommand.kt | 102 ++++
.../manager/converter/ConfigConverter.kt | 43 ++
.../converter/MiniMessageConfigConverter.kt | 68 +++
.../converter/convert3to4/MessageConverter.kt | 75 +++
.../convert3to4/SingleColorCodeReplacer.kt | 54 ++
.../convert3to4/SpecialColorCodeReplacer.kt | 82 +++
.../module/proxy/service/ProxyHandler.kt | 153 ++++++
.../proxy/service/bungee/BungeePluginMain.kt | 96 ++++
.../service/bungee/listener/BungeeListener.kt | 153 ++++++
.../service/velocity/VelocityPluginMain.kt | 85 ++++
.../velocity/listener/VelocityListener.kt | 151 ++++++
.../src/main/resources/languages/de.json | 8 +
.../src/main/resources/languages/en.json | 8 +
.../src/main/resources/module.json | 10 +
.../src/main/resources/plugin.yml | 8 +
.../src/main/resources/updater.json | 6 +
.../src/main/resources/velocity-plugin.json | 9 +
.../simplecloud-module-rest/build.gradle | 46 ++
.../thesimplecloud/module/rest/RestModule.kt | 64 +++
.../module/rest/annotation/RequestBody.kt | 33 ++
.../module/rest/annotation/RequestMapping.kt | 37 ++
.../module/rest/annotation/RequestParam.kt | 36 ++
.../rest/annotation/RequestPathParam.kt | 35 ++
.../module/rest/annotation/RequestType.kt | 42 ++
.../module/rest/annotation/RequestingUser.kt | 33 ++
.../module/rest/annotation/RestController.kt | 36 ++
.../module/rest/annotation/WebExclude.kt | 33 ++
.../module/rest/auth/AuthService.kt | 120 +++++
.../module/rest/auth/JwtProvider.kt | 59 +++
.../thesimplecloud/module/rest/auth/Roles.kt | 39 ++
.../rest/auth/controller/AuthController.kt | 56 +++
.../module/rest/auth/controller/LoginDto.kt | 34 ++
.../module/rest/auth/user/User.kt | 39 ++
.../rest/auth/user/permission/Permission.kt | 66 +++
.../permission/entity/IPermissionEntity.kt | 75 +++
.../permission/entity/PermissionEntity.kt | 46 ++
.../module/rest/config/RestConfig.kt | 36 ++
.../module/rest/config/RestConfigLoader.kt | 39 ++
.../rest/controller/ControllerHandler.kt | 101 ++++
.../module/rest/controller/IController.kt | 31 ++
.../rest/controller/IExceptionHelper.kt | 39 ++
.../rest/controller/RequestMethodData.kt | 48 ++
.../rest/defaultcontroller/UserController.kt | 72 +++
.../rest/defaultcontroller/dto/CommandDto.kt | 33 ++
.../rest/defaultcontroller/dto/ErrorDto.kt | 45 ++
.../rest/defaultcontroller/dto/PathDto.kt | 33 ++
.../rest/defaultcontroller/dto/ResultDto.kt | 33 ++
.../filemanager/FileManagerController.kt | 111 +++++
.../group/ServiceGroupActionController.kt | 57 +++
.../group/ServiceGroupController.kt | 134 +++++
.../player/PlayerActionController.kt | 38 ++
.../player/PlayerController.kt | 59 +++
.../service/ServiceActionController.kt | 66 +++
.../service/ServiceController.kt | 70 +++
.../template/TemplateController.kt | 77 +++
.../uptime/UptimeController.kt | 45 ++
.../version/VersionController.kt | 45 ++
.../wrapper/WrapperController.kt | 81 +++
.../exception/ElementAlreadyExistException.kt | 31 ++
.../rest/exception/NullResultException.kt | 31 ++
.../rest/javalin/JavalinRequestHandler.kt | 85 ++++
.../module/rest/javalin/RestServer.kt | 121 +++++
.../rest/javalin/SingleRequestProcessor.kt | 141 ++++++
.../rest/util/ContextClassLoaderChanger.kt | 41 ++
.../src/main/resources/languages/de.json | 3 +
.../src/main/resources/languages/en.json | 3 +
.../src/main/resources/module.json | 29 ++
.../src/main/resources/updater.json | 6 +
.../build.gradle | 21 +
.../api/AbstractServiceViewer.kt | 46 ++
.../api/ServiceViewGroupManager.kt | 103 ++++
.../api/ServiceViewManager.kt | 69 +++
.../api/ServiceSelectionTest.kt | 46 ++
.../simplecloud-module-sign/build.gradle | 26 +
.../module/sign/lib/SignModuleConfig.kt | 78 +++
.../module/sign/lib/group/GroupLayouts.kt | 46 ++
.../sign/lib/group/GroupLayoutsContainer.kt | 54 ++
.../module/sign/lib/layout/LayoutType.kt | 43 ++
.../module/sign/lib/layout/SignFrame.kt | 32 ++
.../module/sign/lib/layout/SignLayout.kt | 50 ++
.../sign/lib/layout/SignLayoutContainer.kt | 53 ++
.../settings/CloudSignSettingsContainer.kt | 10 +
.../module/sign/lib/sign/CloudSign.kt | 38 ++
.../sign/lib/sign/CloudSignContainer.kt | 60 +++
.../module/sign/manager/SignModule.kt | 72 +++
.../manager/SignModuleConfigPersistence.kt | 130 +++++
.../sign/manager/command/SignCommand.kt | 83 ++++
.../module/sign/service/BukkitCloudSign.kt | 135 +++++
.../module/sign/service/BukkitPluginMain.kt | 138 ++++++
.../module/sign/service/Placeholder.kt | 34 ++
.../module/sign/service/SignAPI.kt | 65 +++
.../sign/service/SignServiceViewManager.kt | 53 ++
.../sign/service/command/CloudSignsCommand.kt | 129 +++++
.../event/BukkitCloudSignAddedEvent.kt | 33 ++
.../service/event/BukkitCloudSignEvent.kt | 36 ++
.../event/BukkitCloudSignRemovedEvent.kt | 33 ++
.../event/BukkitCloudSignUpdatedEvent.kt | 33 ++
.../sign/service/listener/InteractListener.kt | 54 ++
.../src/main/resources/languages/de.json | 6 +
.../src/main/resources/languages/en.json | 6 +
.../src/main/resources/module.json | 10 +
.../src/main/resources/plugin.yml | 13 +
.../src/main/resources/updater.json | 6 +
.../build.gradle | 44 ++
.../module/statistics/StatisticsModule.kt | 98 ++++
.../rest/timed/TimedValueController.kt | 75 +++
.../module/statistics/timed/Timed.kt | 41 ++
.../module/statistics/timed/TimedValue.kt | 39 ++
.../timed/TimedValueCollectorManager.kt | 77 +++
.../timed/collector/CPUUsageTimedCollector.kt | 49 ++
.../timed/collector/ITimedValueCollector.kt | 41 ++
.../timed/collector/MemoryTimedCollector.kt | 50 ++
.../collector/PlayerCountTimedCollector.kt | 50 ++
.../listener/CloudServiceStartListener.kt | 48 ++
.../timed/listener/PlayerConnectListener.kt | 48 ++
.../timed/store/ITimedValueStore.kt | 101 ++++
.../timed/store/MongoTimedValueStore.kt | 81 +++
.../timed/store/SQLTimedValueStore.kt | 119 +++++
.../src/main/resources/module.json | 12 +
.../src/main/resources/updater.json | 6 +
.../simplecloud-module-support/build.gradle | 32 ++
.../module/support/lib/DumpFile.kt | 63 +++
.../module/support/lib/DumpFileCreator.kt | 20 +
.../module/support/lib/config/UploadConfig.kt | 18 +
.../support/lib/config/UploadConfigLoader.kt | 16 +
.../support/lib/creator/GroupFileCreator.kt | 40 ++
.../support/lib/creator/ServiceFileCreator.kt | 36 ++
.../lib/creator/ServiceVersionFileCreator.kt | 30 ++
.../support/lib/creator/WrapperFileCreator.kt | 30 ++
.../module/support/manager/SupportModule.kt | 22 +
.../support/manager/command/DumpCommand.kt | 32 ++
.../support/manager/handler/UploadHandler.kt | 50 ++
.../src/main/resources/module.json | 10 +
.../src/main/resources/temp/dump-file.txt | 23 +
.../src/main/resources/temp/group.txt | 14 +
.../src/main/resources/temp/service.txt | 10 +
.../src/main/resources/temp/static-jars.txt | 4 +
.../src/main/resources/temp/wrapper.txt | 4 +
simplecloud-plugin/build.gradle | 49 ++
.../plugin/ICloudServicePlugin.kt | 37 ++
.../plugin/extension/LocationExtension.kt | 54 ++
.../plugin/extension/PlayerExtensions.kt | 64 +++
.../plugin/extension/SyncExtension.kt | 41 ++
.../plugin/impl/CloudAPIImpl.kt | 88 ++++
.../impl/CloudServiceGroupManagerImpl.kt | 50 ++
.../plugin/impl/CloudServiceManagerImpl.kt | 50 ++
.../plugin/impl/CommandExecuteManagerImpl.kt | 43 ++
.../plugin/impl/EventManagerImpl.kt | 42 ++
.../player/AbstractCloudPlayerManagerProxy.kt | 41 ++
.../AbstractServiceCloudPlayerManager.kt | 118 +++++
.../plugin/listener/CloudListener.kt | 51 ++
.../packets/PacketInGetPlayerOnlineStatus.kt | 52 ++
.../packets/PacketOutCreateCloudPlayer.kt | 37 ++
.../packets/PacketOutGetTabSuggestions.kt | 48 ++
.../packets/PacketOutPlayerConnectToServer.kt | 37 ++
.../packets/PacketOutPlayerExecuteCommand.kt | 39 ++
.../packets/PacketOutPlayerLoginRequest.kt | 33 ++
.../packets/PacketOutTeleportOtherService.kt | 40 ++
.../thesimplecloud/plugin/proxy/CancelType.kt | 35 ++
.../plugin/proxy/ICloudProxyPlugin.kt | 34 ++
.../plugin/proxy/ProxyEventHandler.kt | 253 ++++++++++
.../proxy/bungee/BungeeComponentExtensions.kt | 38 ++
.../plugin/proxy/bungee/CloudBungeePlugin.kt | 191 +++++++
.../plugin/proxy/bungee/LobbyConnector.kt | 46 ++
.../proxy/bungee/ReconnectHandlerImpl.kt | 43 ++
.../proxy/bungee/command/BungeeCommand.kt | 61 +++
.../proxy/bungee/listener/BungeeListener.kt | 173 +++++++
.../listener/CloudPlayerDisconnectListener.kt | 42 ++
.../proxy/velocity/CloudVelocityPlugin.kt | 164 ++++++
.../plugin/proxy/velocity/LobbyConnector.kt | 50 ++
.../velocity/commands/VelocityCommand.kt | 78 +++
.../listener/CloudPlayerDisconnectListener.kt | 44 ++
.../velocity/listener/VelocityListener.kt | 182 +++++++
.../plugin/server/CloudSpigotPlugin.kt | 90 ++++
.../plugin/server/ICloudServerPlugin.kt | 28 ++
.../server/listener/ReloadCommandBlocker.kt | 65 +++
.../plugin/server/listener/SpigotListener.kt | 100 ++++
.../plugin/startup/CloudPlugin.kt | 155 ++++++
.../plugin/startup/ConnectionHandlerImpl.kt | 39 ++
.../plugin/startup/UsedMemoryUpdater.kt | 60 +++
.../src/main/resources/bungee.yml | 5 +
.../src/main/resources/plugin.yml | 9 +
.../src/main/resources/velocity-plugin.json | 9 +
simplecloud-runner/build.gradle | 32 ++
.../runner/RunnerClassLoader.kt | 34 ++
.../runner/RunnerClassLoaderInitMain.kt | 80 +++
.../runner/RunnerFileProvider.kt | 37 ++
.../dependency/AdvancedCloudDependency.kt | 125 +++++
.../runner/dependency/CloudDependency.kt | 42 ++
.../dependency/DependencyLoaderStartup.kt | 76 +++
.../dependency/SimpleDependencyDownloader.kt | 43 ++
.../thesimplecloud/runner/utils/Downloader.kt | 46 ++
.../runner/utils/WebContentLoader.kt | 58 +++
simplecloud-updater/build.gradle | 29 ++
.../thesimplecloud/updater/UpdaterMain.java | 83 ++++
start-files/start.bat | 1 +
start-files/start.sh | 23 +
866 files changed, 50214 insertions(+)
create mode 100644 .github/workflows/gradle-build.yml
create mode 100644 .gitignore
create mode 100644 Jenkinsfile
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 build.gradle
create mode 100644 gradle/wrapper/gradle-wrapper.jar
create mode 100644 gradle/wrapper/gradle-wrapper.properties
create mode 100644 gradlew
create mode 100644 gradlew.bat
create mode 100644 settings.gradle
create mode 100644 simplecloud-api/build.gradle
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/CloudAPI.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/ICloudAPI.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/AbstractCacheList.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/ICacheList.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/ICacheObjectUpdateExecutor.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/manager/CacheListManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/manager/ICacheListManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/value/AbstractCacheValueUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/value/ICacheValue.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/cachelist/value/ICacheValueUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/client/NetworkComponentReference.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/client/NetworkComponentType.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/command/ICommandSender.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/config/AbstractJsonLibConfigLoader.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/config/AbstractMultipleConfigLoader.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/config/IConfigLoader.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/config/IFileHandler.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/depedency/DependenciesInformation.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/directorypaths/DirectoryPaths.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/dto/PlayerLoginRequestResult.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/group/CloudServiceGroupCreatedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/group/CloudServiceGroupEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/group/CloudServiceGroupUpdatedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerCommandExecuteEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerDisconnectEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerLoginEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerMessageEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerRegisteredEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerServerConnectEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerServerConnectedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerUnregisteredEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/CloudPlayerUpdatedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/permission/CloudPlayerPermissionCheckEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/player/permission/PermissionState.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceConnectedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceInvisibleEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceRegisteredEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceStartedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceStartingEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceUnregisteredEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/service/CloudServiceUpdatedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/sync/list/SynchronizedListObjectRemovedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/sync/list/SynchronizedListObjectUpdatedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/sync/object/GlobalPropertyUpdatedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/wrapper/WrapperEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/event/wrapper/WrapperUpdatedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/BasicEventManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/CloudEventHandler.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/ICancellable.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/IEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/IEventExecutor.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/IEventManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/IListener.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/ISynchronizedEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/eventapi/exception/EventException.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/exception/NoSuchPlayerException.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/exception/NoSuchServiceException.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/exception/NoSuchWorldException.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/exception/PlayerConnectException.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/exception/SerializationException.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/exception/UnreachableComponentException.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/extension/ClientManagerExtension.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/external/ICloudModule.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/language/ILanguageManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/language/LanguageManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/language/LanguagePlaceholder.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/language/LanguageProperty.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/language/LoadedLanguageFile.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/listenerextension/AdvancedListener.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/listenerextension/AdvancedListenerExtension.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/listenerextension/IAdvancedListener.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/location/GroupLocation.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/location/ServiceLocation.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/location/SimpleLocation.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/location/TemplateLocation.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/message/IMessageChannel.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/message/IMessageChannelManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/message/IMessageListener.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/message/Message.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/message/MessageChannel.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/message/MessageChannelManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/component/IAuthenticatable.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/component/INetworkComponent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/component/ManagerComponent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/PacketIOExecuteFunction.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/PacketIOPing.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/event/PacketIOCallEvent.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/language/PacketIOLanguage.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/message/PacketIOChannelMessage.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOCloudPlayerForceCommandExecution.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOConnectCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetAllOnlinePlayers.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetNetworkOnlineCount.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetOfflinePlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetPlayerLocation.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetPlayerPing.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetPlayersConnectedToService.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOGetRegisteredPlayerCount.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOKickCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOPlayerHasPermission.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOSaveOfflinePlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOSendMessageToCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOSendPlayerToLobby.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOSendTablistToPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOSendTitleToCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOSetCloudPlayerUpdates.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/player/PacketIOTeleportPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/screen/PacketIOExecuteCommand.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/service/PacketIOCopyService.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/service/PacketIOStartCloudService.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/service/PacketIOStopCloudService.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/service/PacketIOWrapperStartService.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/servicegroup/PacketIOCloudServiceGroupData.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/servicegroup/PacketIOCreateServiceGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/serviceversion/PacketIOServiceVersions.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/sync/cachelist/PacketIOUpdateCacheObject.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/sync/list/PacketIOGetAllCachedListProperties.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/sync/list/PacketIORemoveListProperty.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/sync/list/PacketIOUpdateListProperty.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/sync/object/PacketIOGetGlobalProperty.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/sync/object/PacketIORemoveGlobalProperty.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/network/packets/sync/object/PacketIOUpdateGlobalProperty.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/ITypeFromClassParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/ITypeParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/jsondata/IJsonDataTypeParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/jsondata/JsonDataParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/IStringTypeParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/StringParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/BooleanParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/CloudLobbyGroupParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/CloudProxyGroupParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/CloudServerGroupParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/CloudServiceGroupParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/CloudServiceParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/DoubleParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/FloatParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/IntParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/TemplateParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/parser/string/typeparser/WrapperInfoParser.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/AbstractCloudPlayerManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/ICloudPlayerUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/IOfflineCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/OfflineCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/PlayerMessageQueue.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/PlayerServerConnectState.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/SimpleCloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/connection/ConnectionResponse.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/connection/DefaultPlayerAddress.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/connection/DefaultPlayerConnection.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/connection/IPlayerAddress.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/connection/IPlayerConnection.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/impl/CloudPlayer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/impl/CloudPlayerUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/text/CloudText.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/player/text/CloudTextBuilder.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/property/IProperty.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/property/IPropertyMap.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/property/Property.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/screen/ICommandExecutable.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/screen/ICommandExecuteManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/ICloudService.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/ICloudServiceManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/ICloudServiceUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/ICloudServiceVariables.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/ServiceState.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/ServiceType.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/impl/AbstractCloudServiceManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/impl/DefaultCloudService.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/impl/DefaultCloudServiceUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/start/configuration/IServiceStartConfiguration.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/start/configuration/ServiceStartConfiguration.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/start/future/IServiceStartPromise.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/start/future/ServiceStartPromise.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/IServiceVersionHandler.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/ServiceVersion.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/ServiceVersionHandler.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/loader/CombinedServiceVersionLoader.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/loader/IServiceVersionLoader.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/loader/LocalServiceVersionHandler.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/loader/ServiceVersionWebLoader.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/type/MinecraftEdition.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/type/ServiceAPIType.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/service/version/type/ServiceVersionType.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/ICloudServiceGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/ICloudServiceGroupManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/ICloudServiceGroupUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/ICloudServiceGroupVariables.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/grouptype/ICloudLobbyGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/grouptype/ICloudProxyGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/grouptype/ICloudServerGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/grouptype/updater/ICloudLobbyGroupUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/grouptype/updater/ICloudProxyGroupUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/AbstractCloudServiceGroupManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/AbstractServiceGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/DefaultLobbyGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/DefaultProxyGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/DefaultServerGroup.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/updater/DefaultLobbyGroupUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/updater/DefaultProxyGroupUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/servicegroup/impl/updater/DefaultServiceGroupUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/sync/list/AbstractSynchronizedObjectList.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/sync/list/ISynchronizedObjectList.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/sync/list/manager/ISynchronizedObjectListManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/sync/list/manager/SynchronizedObjectListManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/sync/object/GlobalPropertyHolder.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/sync/object/IGlobalPropertyHolder.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/template/ITemplate.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/template/ITemplateManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/template/ITemplateUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/template/ITemplateVariables.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/template/impl/DefaultTemplate.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/template/impl/DefaultTemplateManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/template/impl/DefaultTemplateUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/ClassExtension.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/ConfigurationFileEditor.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/DatabaseExclude.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/EnumExtension.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/FileFinder.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/ManifestLoader.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/Nameable.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/NoArgsFunction.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/ObjectSerializer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/StringIterableExtension.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/ZipUtils.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/time/TimeAmountMeasurer.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/utils/time/Timestamp.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/wrapper/IWrapperInfo.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/wrapper/IWrapperInfoUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/wrapper/IWrapperManager.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/wrapper/impl/DefaultWrapperInfo.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/wrapper/impl/DefaultWrapperInfoUpdater.kt
create mode 100644 simplecloud-api/src/main/kotlin/eu/thesimplecloud/api/wrapper/impl/DefaultWrapperManager.kt
create mode 100644 simplecloud-api/src/test/kotlin/eu/thesimplecloud/api/eventapi/AdvancedListenerTest.kt
create mode 100644 simplecloud-api/src/test/kotlin/eu/thesimplecloud/api/eventapi/EmptyMockCloudAPIImpl.kt
create mode 100644 simplecloud-api/src/test/kotlin/eu/thesimplecloud/api/eventapi/EventApiTest.kt
create mode 100644 simplecloud-api/src/test/kotlin/eu/thesimplecloud/api/serviceversion/ServiceVersionHandlerTest.kt
create mode 100644 simplecloud-base/build.gradle
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/core/jvm/JvmArgument.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/core/jvm/JvmArgumentsConfig.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/ClearCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/CopyCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/CreateCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/DeleteCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/EditCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/ExecuteCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/InfoCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/ListCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/ReloadCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/ScreenCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/ShutdownCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/ShutdownGroupCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/StartCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/StartStaticCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/provider/EditGroupParameterCommandSuggestionProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/commands/provider/EditWrapperParameterCommandSuggestionProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/config/JvmArgumentsConfigLoader.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/config/encryption/KeyConfigLoader.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/config/mongo/DatabaseConfigLoader.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/config/template/TemplatesConfig.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/config/template/TemplatesConfigLoader.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/config/updater/ModuleUpdaterConfig.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/config/updater/ModuleUpdaterConfigLoader.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/database/AbstractOfflineCloudPlayerHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/database/DatabaseConnectionInformation.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/database/DatabaseType.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/database/IOfflineCloudPlayerHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/database/MongoOfflineCloudPlayerHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/database/SQLOfflineCloudPlayerHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/database/aes/AdvancedEncryption.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/events/CloudPlayerLoginRequestEvent.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/filehandler/CloudServiceGroupFileHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/filehandler/WrapperFileHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/impl/CloudAPIImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/impl/CloudServiceGroupManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/impl/CloudServiceManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/impl/CommandExecuteManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/impl/EventManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/impl/TemplateManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/impl/WrapperManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/ingamecommands/IngameCommandUpdater.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/language/LanguageManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/listener/CloudListener.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/listener/ModuleEventListener.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/PacketInCloudClientLogin.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/PacketInGetTabSuggestions.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/PacketInScreenMessage.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/PacketOutJvmArguments.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/PacketOutReloadExistingModules.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/PacketOutSetWrapperName.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/player/PacketInCreateCloudPlayer.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/player/PacketInPlayerConnectToServer.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/player/PacketInPlayerExecuteCommand.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/player/PacketInPlayerLoginRequest.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/player/PacketInTeleportOtherService.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/player/PacketOutGetPlayerOnlineStatus.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/network/packets/template/PacketInGetTemplates.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/packet/IPacketRegistry.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/packet/PacketRegistry.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/player/LoadOfflineCloudPlayer.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/player/PlayerUnregisterScheduler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/player/exception/OfflinePlayerLoadException.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/service/IServiceHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/service/ServiceHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/serviceversion/ManagerServiceVersionHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/CreateDefaultLobbyGroup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/CreateDefaultProxyGroup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/ServiceVersionSetup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/WrapperSetup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/database/DatabaseConnectionSetup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/database/DatabaseTypeSetupAnswerProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/DefaultGroupSetup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/LobbyGroupSetup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/LobbyGroupSetupWithJava.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/ProxyGroupSetup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/ServerGroupSetup.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/ServerGroupSetupWithJava.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/provider/GroupTemplateSetupAnswerProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/provider/GroupWrapperSetupAnswerProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/provider/ProxyVersionTypeSetupAnswerProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/groups/provider/ServerVersionTypeSetupAnswerProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/provider/ServiceAPITypeAnswerProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/setup/provider/ServiceJavaCommandAnswerProvider.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/startup/Manager.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/startup/ProfileFile.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/startup/server/AbstractCloudConnectionHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/startup/server/CommunicationConnectionHandlerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/startup/server/ManagerAccessHandler.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/startup/server/ServerHandlerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/startup/server/TemplateConnectionHandlerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/update/converter/ConversionException.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/update/converter/Converter_2_0_To_2_1.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/update/converter/Converter_2_2_To_2_3.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/update/converter/Converter_2_3_To_2_4.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/update/converter/Converter_2_4_To_2_5.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/update/converter/IVersionConverter.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/manager/update/converter/VersionConversionManager.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/impl/CloudAPIImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/impl/CloudServiceGroupManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/impl/CloudServiceManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/impl/CommandExecuteManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/impl/EventManagerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/logger/LoggerMessageListenerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/network/packets/PacketInJvmArguments.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/network/packets/PacketInReloadExistingModules.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/network/packets/PacketInSetWrapperName.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/network/packets/template/PacketOutGetTemplates.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/CloudServiceProcess.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/CloudServiceProcessManager.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/ICloudServiceProcess.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/ICloudServiceProcessManager.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/ProcessCopier.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/filehandler/LoadedServiceVersion.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/filehandler/ServiceDirectory.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/filehandler/ServiceVersionJarLoader.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/filehandler/SingleServiceVersionLoader.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/queue/CloudServiceProcessQueue.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/serviceconfigurator/IServiceConfigurator.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/serviceconfigurator/ServiceConfiguratorManager.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/serviceconfigurator/configurators/DefaultBungeeConfigurator.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/serviceconfigurator/configurators/DefaultServerConfigurator.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/process/serviceconfigurator/configurators/DefaultVelocityConfigurator.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/startup/ConnectionHandlerImpl.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/startup/CpuUsageUpdater.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/startup/PortManager.kt
create mode 100644 simplecloud-base/src/main/kotlin/eu/thesimplecloud/base/wrapper/startup/Wrapper.kt
create mode 100644 simplecloud-base/src/main/resources/files/bukkit.yml
create mode 100644 simplecloud-base/src/main/resources/files/config.yml
create mode 100644 simplecloud-base/src/main/resources/files/server-icon.png
create mode 100644 simplecloud-base/src/main/resources/files/server.properties
create mode 100644 simplecloud-base/src/main/resources/files/spigot.yml
create mode 100644 simplecloud-base/src/main/resources/files/velocity.toml
create mode 100644 simplecloud-base/src/main/resources/manager.json
create mode 100644 simplecloud-base/src/main/resources/wrapper.json
create mode 100644 simplecloud-client/build.gradle
create mode 100644 simplecloud-client/src/main/kotlin/eu/thesimplecloud/client/packets/PacketOutCloudClientLogin.kt
create mode 100644 simplecloud-client/src/main/kotlin/eu/thesimplecloud/client/packets/PacketOutScreenMessage.kt
create mode 100644 simplecloud-dependency-loader/build.gradle
create mode 100644 simplecloud-dependency-loader/src/main/kotlin/eu/thesimplecloud/loader/dependency/AdvancedDependencyDownloader.kt
create mode 100644 simplecloud-dependency-loader/src/main/kotlin/eu/thesimplecloud/loader/dependency/DependencyLoader.kt
create mode 100644 simplecloud-dependency-loader/src/main/kotlin/eu/thesimplecloud/loader/dependency/DependencyLoaderMain.kt
create mode 100644 simplecloud-dependency-loader/src/main/kotlin/eu/thesimplecloud/loader/dependency/DependencyResolver.kt
create mode 100644 simplecloud-dependency-loader/src/main/kotlin/eu/thesimplecloud/loader/dependency/LauncherDependencyLoader.kt
create mode 100644 simplecloud-launcher/build.gradle
create mode 100644 simplecloud-launcher/src/main/java/eu/thesimplecloud/launcher/startup/ClassLoaderValidatorMain.java
create mode 100644 simplecloud-launcher/src/main/java/eu/thesimplecloud/launcher/startup/WrapperRamWriter.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/application/ApplicationClassLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/application/ApplicationStarter.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/application/CloudApplicationType.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/application/ICloudApplication.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/commands/CreateJavaVersion.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/commands/HelpCommand.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/commands/StopCommand.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/commands/VersionCommand.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/config/java/JavaVersion.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/config/java/JavaVersionConfigLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/config/launcher/LauncherConfig.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/config/launcher/LauncherConfigLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/ConsoleCompleter.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/ConsoleManager.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/ConsoleSender.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/IConsoleManager.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/CommandData.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/CommandManager.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/CommandParameterData.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/CommandType.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/ICommandHandler.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/annotations/Command.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/annotations/CommandArgument.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/annotations/CommandSubPath.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/CloudPlayerCommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/EmptyCommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/ICommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/ServiceCommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/ServiceGroupCommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/ServiceStateCommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/TemplateCommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/command/provider/WrapperCommandSuggestionProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/ISetup.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/SetupManager.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/annotations/SetupCancelled.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/annotations/SetupFinished.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/annotations/SetupQuestion.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/provider/BooleanSetupAnswerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/provider/EmptySetupAnswerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/provider/ISetupAnswerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/provider/TemplateSetupAnswerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/console/setup/provider/WrapperSetupAnswerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/event/command/CommandEvent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/event/command/CommandExecuteEvent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/event/command/CommandRegisteredEvent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/event/command/CommandUnregisteredEvent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/event/module/ModuleEvent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/event/module/ModuleLoadedEvent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/event/module/ModuleUnloadedEvent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/exception/CommandRegistrationException.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/exception/DependencyException.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/exception/module/ModuleLoadException.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/extension/IterableExtension.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/ExtensionLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/LoadedModule.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/LoadedModuleFileContent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/ModuleClassLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/ModuleCopyType.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/ModuleFileContent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/IModuleHandler.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/ModuleHandler.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/ModuleLanguageFileLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/ModuleListLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/ModuleUpdateInstaller.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/RecursiveDependencyChecker.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/UnsafeModuleLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/handler/UnsafeModuleUnloader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/update/UpdateMethod.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/update/UpdaterFileContent.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/external/module/updater/ModuleUpdater.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/language/LanguageFileLoader.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/logging/AnsiColorHelper.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/logging/ILoggerMessageListener.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/logging/LogType.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/logging/LoggerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/screens/IScreen.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/screens/IScreenManager.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/screens/ScreenImpl.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/screens/ScreenManagerImpl.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/screens/session/ScreenSession.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/setups/AutoIpSetup.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/setups/IpSetup.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/setups/JavaSetup.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/setups/LanguageSetup.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/setups/StartSetup.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/setups/provider/ApplicationTypeSetupAnswerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/setups/provider/LanguageSetupAnswerProvider.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/startup/Launcher.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/startup/LauncherMain.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/startup/LauncherStartArguments.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/updater/AbstractUpdater.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/updater/BaseUpdater.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/updater/IUpdater.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/updater/RunnerUpdater.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/updater/UpdateExecutor.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/utils/FileCopier.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/utils/IpValidator.kt
create mode 100644 simplecloud-launcher/src/main/kotlin/eu/thesimplecloud/launcher/utils/WebsiteContentLoader.kt
create mode 100644 simplecloud-launcher/src/main/resources/language/de.json
create mode 100644 simplecloud-launcher/src/main/resources/language/en.json
create mode 100644 simplecloud-launcher/src/test/kotlin/eu/thesimplecloud/EmptyMockCloudAPIImpl.kt
create mode 100644 simplecloud-launcher/src/test/kotlin/eu/thesimplecloud/launcher/external/ModuleListLoaderTest.kt
create mode 100644 simplecloud-launcher/src/test/kotlin/eu/thesimplecloud/mockmodule/ModuleMain.kt
create mode 100644 simplecloud-modules/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/manager/PrefixModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/manager/command/ChatTabCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/manager/config/ChatTabConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/manager/config/ChatTabModuleConfigPersistence.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/manager/config/TablistInformation.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/bungee/BungeePluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/spigot/BukkitPluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/spigot/listener/ChatListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/spigot/listener/CloudListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/spigot/listener/JoinListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/tablist/ProxyTablistHelper.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/tablist/TablistHelper.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/kotlin/eu/thesimplecloud/module/prefix/service/velocity/VelocityPluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/resources/bungee.yml
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/resources/plugin.yml
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-chat-tab/src/main/resources/velocity-plugin.json
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/kotlin/eu/thesimplecloud/module/cloudflare/CloudFlareModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/kotlin/eu/thesimplecloud/module/cloudflare/config/domain/DomainConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/kotlin/eu/thesimplecloud/module/cloudflare/config/domain/DomainConfigLoader.kt
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/kotlin/eu/thesimplecloud/module/cloudflare/config/proxy/ProxyConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/kotlin/eu/thesimplecloud/module/cloudflare/config/proxy/ProxyConfigLoader.kt
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/kotlin/eu/thesimplecloud/module/cloudflare/domain/CloudFlareDomainHelper.kt
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/kotlin/eu/thesimplecloud/module/cloudflare/listener/CloudFlareSingleGroupListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-cloudflare/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-hubcommand/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-hubcommand/src/main/kotlin/eu/thesimplecloud/module/hubcommand/HubCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-hubcommand/src/main/kotlin/eu/thesimplecloud/module/hubcommand/HubCommandModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-hubcommand/src/main/kotlin/eu/thesimplecloud/module/hubcommand/config/HubCommandConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-hubcommand/src/main/kotlin/eu/thesimplecloud/module/hubcommand/config/HubCommandConfigLoader.kt
create mode 100644 simplecloud-modules/simplecloud-module-hubcommand/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-hubcommand/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-internalwrapper/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-internalwrapper/src/main/kotlin/eu/thesimplecloud/module/internalwrapper/InternalWrapperModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-internalwrapper/src/main/kotlin/eu/thesimplecloud/module/internalwrapper/setup/InternalWrapperMemorySetup.kt
create mode 100644 simplecloud-modules/simplecloud-module-internalwrapper/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-internalwrapper/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-internalwrapper/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-internalwrapper/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-notify/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-notify/src/main/kotlin/eu/thesimplecloud/module/notify/CloudListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-notify/src/main/kotlin/eu/thesimplecloud/module/notify/NotifyModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-notify/src/main/kotlin/eu/thesimplecloud/module/notify/config/Config.kt
create mode 100644 simplecloud-modules/simplecloud-module-notify/src/main/kotlin/eu/thesimplecloud/module/notify/config/DefaultConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-notify/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-notify/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-npc/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/InventorySettingsConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/NPCModuleConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/NPCModuleConfigHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/NPCsConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/CloudNPCData.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/LocationData.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/NPCItem.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/SkinData.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/action/Action.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/action/NPCAction.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/settings/MobNPCSettings.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/settings/NPCSettings.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/config/npc/settings/PlayerNPCSettings.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/extension/String.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/type/MaterialType.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/lib/type/MobType.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/NPCModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/CloudNPCCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/CreateNpcCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/EditGeneralNpcCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/provider/CloudNPCActionCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/provider/CloudNPCIDCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/provider/CloudNPCIDMobCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/provider/CloudNPCIDPlayerCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/provider/CloudNPCItemListCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/provider/CloudNPCMobTypeCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/command/provider/ServicesWithoutProxiesCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/module/skin/SkinHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/NPCPlugin.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/inventory/InventoryData.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/inventory/InventoryHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/listener/CloudListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/listener/InventoryListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/listener/PlayerConnectionListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/npc/ServerNPCHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/npc/type/AbstractServerNPC.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/npc/type/MobNPC.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/npc/type/PlayerNPC.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/kotlin/eu/thesimplecloud/module/npc/plugin/npc/type/ServerNPC.kt
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/resources/plugin.yml
create mode 100644 simplecloud-modules/simplecloud-module-npc/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-permission/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/IPermissionPool.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/PermissionCheckListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/PermissionPlayerUpdatedEventCaller.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/PermissionPool.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/entity/IPermissionEntity.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/entity/PermissionEntity.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/event/group/PermissionGroupDeletedEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/event/group/PermissionGroupEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/event/group/PermissionGroupUpdatedEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/event/player/PermissionPlayerEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/event/player/PermissionPlayerUpdatedEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/group/IPermissionGroup.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/group/PermissionGroup.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/group/manager/IPermissionGroupManager.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/group/manager/PermissionGroupManager.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/CloudListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/PermissionFilesPriorityUpdater.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/PermissionModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/command/PermissionCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/command/PermissionGroupCommandSuggestionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/config/PermissionGroupConfigsLoader.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/config/PermissionModuleConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/manager/config/PermissionModuleConfigLoader.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/packet/PacketInGetDefaultGroupName.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/packet/PacketOutGetDefaultGroupName.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/permission/Permission.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/player/IPermissionPlayer.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/player/OfflinePlayerExtension.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/player/PermissionPlayer.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/player/PlayerPermissionGroupInfo.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/player/manager/IPermissionPlayerManager.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/bungee/BungeeListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/bungee/BungeePluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/spigot/BukkitCloudPermissibleBase.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/spigot/SpigotListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/spigot/SpigotPluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/spigot/util/ReflectionUtils.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/velocity/VelocityPermissionProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/kotlin/eu/thesimplecloud/module/permission/service/velocity/VelocityPluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/resources/bungee.yml
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/resources/plugin.yml
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/main/resources/velocity-plugin.json
create mode 100644 simplecloud-modules/simplecloud-module-permission/src/test/kotlin/eu/thesimplecloud/permission/PermissionTest.kt
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/src/main/kotlin/eu/thesimplecloud/module/placeholders/manager/PlaceholdersModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/src/main/kotlin/eu/thesimplecloud/module/placeholders/spigot/BukkitPluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/src/main/kotlin/eu/thesimplecloud/module/placeholders/spigot/StringExtension.kt
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/src/main/kotlin/eu/thesimplecloud/module/placeholders/spigot/placeholderapi/PlaceholderHook.kt
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/src/main/resources/plugin.yml
create mode 100644 simplecloud-modules/simplecloud-module-placeholders/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-proxy/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/config/Config.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/config/DefaultConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/config/MotdConfiguration.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/config/ProxyGroupConfiguration.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/config/TablistConfiguration.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/extensions/ListExtension.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/GroupCreateListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/MaintenanceToggleListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/ProxyModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/commands/ProxyCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/converter/ConfigConverter.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/converter/MiniMessageConfigConverter.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/converter/convert3to4/MessageConverter.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/converter/convert3to4/SingleColorCodeReplacer.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/manager/converter/convert3to4/SpecialColorCodeReplacer.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/service/ProxyHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/service/bungee/BungeePluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/service/bungee/listener/BungeeListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/service/velocity/VelocityPluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/kotlin/eu/thesimplecloud/module/proxy/service/velocity/listener/VelocityListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/resources/plugin.yml
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-proxy/src/main/resources/velocity-plugin.json
create mode 100644 simplecloud-modules/simplecloud-module-rest/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/RestModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/RequestBody.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/RequestMapping.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/RequestParam.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/RequestPathParam.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/RequestType.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/RequestingUser.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/RestController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/annotation/WebExclude.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/AuthService.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/JwtProvider.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/Roles.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/controller/AuthController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/controller/LoginDto.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/user/User.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/user/permission/Permission.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/user/permission/entity/IPermissionEntity.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/auth/user/permission/entity/PermissionEntity.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/config/RestConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/config/RestConfigLoader.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/controller/ControllerHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/controller/IController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/controller/IExceptionHelper.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/controller/RequestMethodData.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/UserController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/dto/CommandDto.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/dto/ErrorDto.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/dto/PathDto.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/dto/ResultDto.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/filemanager/FileManagerController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/group/ServiceGroupActionController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/group/ServiceGroupController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/player/PlayerActionController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/player/PlayerController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/service/ServiceActionController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/service/ServiceController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/template/TemplateController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/uptime/UptimeController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/version/VersionController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/defaultcontroller/wrapper/WrapperController.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/exception/ElementAlreadyExistException.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/exception/NullResultException.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/javalin/JavalinRequestHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/javalin/RestServer.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/javalin/SingleRequestProcessor.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/kotlin/eu/thesimplecloud/module/rest/util/ContextClassLoaderChanger.kt
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-rest/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-serviceselection/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-serviceselection/src/main/kotlin/eu/thesimplecloud/module/serviceselection/api/AbstractServiceViewer.kt
create mode 100644 simplecloud-modules/simplecloud-module-serviceselection/src/main/kotlin/eu/thesimplecloud/module/serviceselection/api/ServiceViewGroupManager.kt
create mode 100644 simplecloud-modules/simplecloud-module-serviceselection/src/main/kotlin/eu/thesimplecloud/module/serviceselection/api/ServiceViewManager.kt
create mode 100644 simplecloud-modules/simplecloud-module-serviceselection/src/test/kotlin/eu/thesimplecloud/module/serviceselection/api/ServiceSelectionTest.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/SignModuleConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/group/GroupLayouts.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/group/GroupLayoutsContainer.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/layout/LayoutType.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/layout/SignFrame.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/layout/SignLayout.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/layout/SignLayoutContainer.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/settings/CloudSignSettingsContainer.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/sign/CloudSign.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/lib/sign/CloudSignContainer.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/manager/SignModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/manager/SignModuleConfigPersistence.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/manager/command/SignCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/BukkitCloudSign.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/BukkitPluginMain.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/Placeholder.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/SignAPI.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/SignServiceViewManager.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/command/CloudSignsCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/event/BukkitCloudSignAddedEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/event/BukkitCloudSignEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/event/BukkitCloudSignRemovedEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/event/BukkitCloudSignUpdatedEvent.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/kotlin/eu/thesimplecloud/module/sign/service/listener/InteractListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/resources/languages/de.json
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/resources/languages/en.json
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/resources/plugin.yml
create mode 100644 simplecloud-modules/simplecloud-module-sign/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-statistics/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/StatisticsModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/rest/timed/TimedValueController.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/Timed.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/TimedValue.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/TimedValueCollectorManager.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/collector/CPUUsageTimedCollector.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/collector/ITimedValueCollector.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/collector/MemoryTimedCollector.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/collector/PlayerCountTimedCollector.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/listener/CloudServiceStartListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/listener/PlayerConnectListener.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/store/ITimedValueStore.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/store/MongoTimedValueStore.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/kotlin/eu/thesimplecloud/module/statistics/timed/store/SQLTimedValueStore.kt
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-statistics/src/main/resources/updater.json
create mode 100644 simplecloud-modules/simplecloud-module-support/build.gradle
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/DumpFile.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/DumpFileCreator.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/config/UploadConfig.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/config/UploadConfigLoader.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/creator/GroupFileCreator.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/creator/ServiceFileCreator.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/creator/ServiceVersionFileCreator.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/lib/creator/WrapperFileCreator.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/manager/SupportModule.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/manager/command/DumpCommand.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/kotlin/eu/thesimplecloud/module/support/manager/handler/UploadHandler.kt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/resources/module.json
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/resources/temp/dump-file.txt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/resources/temp/group.txt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/resources/temp/service.txt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/resources/temp/static-jars.txt
create mode 100644 simplecloud-modules/simplecloud-module-support/src/main/resources/temp/wrapper.txt
create mode 100644 simplecloud-plugin/build.gradle
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/ICloudServicePlugin.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/extension/LocationExtension.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/extension/PlayerExtensions.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/extension/SyncExtension.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/impl/CloudAPIImpl.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/impl/CloudServiceGroupManagerImpl.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/impl/CloudServiceManagerImpl.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/impl/CommandExecuteManagerImpl.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/impl/EventManagerImpl.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/impl/player/AbstractCloudPlayerManagerProxy.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/impl/player/AbstractServiceCloudPlayerManager.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/listener/CloudListener.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/network/packets/PacketInGetPlayerOnlineStatus.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/network/packets/PacketOutCreateCloudPlayer.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/network/packets/PacketOutGetTabSuggestions.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/network/packets/PacketOutPlayerConnectToServer.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/network/packets/PacketOutPlayerExecuteCommand.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/network/packets/PacketOutPlayerLoginRequest.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/network/packets/PacketOutTeleportOtherService.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/CancelType.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/ICloudProxyPlugin.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/ProxyEventHandler.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/bungee/BungeeComponentExtensions.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/bungee/CloudBungeePlugin.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/bungee/LobbyConnector.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/bungee/ReconnectHandlerImpl.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/bungee/command/BungeeCommand.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/bungee/listener/BungeeListener.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/bungee/listener/CloudPlayerDisconnectListener.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/velocity/CloudVelocityPlugin.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/velocity/LobbyConnector.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/velocity/commands/VelocityCommand.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/velocity/listener/CloudPlayerDisconnectListener.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/proxy/velocity/listener/VelocityListener.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/server/CloudSpigotPlugin.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/server/ICloudServerPlugin.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/server/listener/ReloadCommandBlocker.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/server/listener/SpigotListener.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/startup/CloudPlugin.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/startup/ConnectionHandlerImpl.kt
create mode 100644 simplecloud-plugin/src/main/kotlin/eu/thesimplecloud/plugin/startup/UsedMemoryUpdater.kt
create mode 100644 simplecloud-plugin/src/main/resources/bungee.yml
create mode 100644 simplecloud-plugin/src/main/resources/plugin.yml
create mode 100644 simplecloud-plugin/src/main/resources/velocity-plugin.json
create mode 100644 simplecloud-runner/build.gradle
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/RunnerClassLoader.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/RunnerClassLoaderInitMain.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/RunnerFileProvider.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/dependency/AdvancedCloudDependency.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/dependency/CloudDependency.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/dependency/DependencyLoaderStartup.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/dependency/SimpleDependencyDownloader.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/utils/Downloader.kt
create mode 100644 simplecloud-runner/src/main/kotlin/eu/thesimplecloud/runner/utils/WebContentLoader.kt
create mode 100644 simplecloud-updater/build.gradle
create mode 100644 simplecloud-updater/src/main/java/eu/thesimplecloud/updater/UpdaterMain.java
create mode 100644 start-files/start.bat
create mode 100644 start-files/start.sh
diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml
new file mode 100644
index 000000000..67133c86d
--- /dev/null
+++ b/.github/workflows/gradle-build.yml
@@ -0,0 +1,73 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
+# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
+
+name: Build and Publish
+
+on:
+ #schedule:
+ # - cron: '37 7 * * *'
+ push:
+ branches: [ "dev/2.0", "master" ]
+ # Publish semver tags as releases.
+ #tags: [ 'v*.*.*' ]
+ #pull_request:
+ # branches: [ "development", "master" ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Set up JDK 8
+ uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+
+ - name: Build with Gradle
+ uses: gradle/gradle-build-action@v2
+ with:
+ arguments: shadowJar
+
+ - name: Copy files
+ run: |
+ mkdir -p temp
+ mkdir temp/modules/
+ mkdir temp/storage/
+ mkdir temp/storage/pluginJars/
+ cp start-files/*.* temp/
+ cp simplecloud-modules/**/build/libs/SimpleCloud-*.jar temp/modules/
+ cp simplecloud-runner/build/libs/runner.jar temp/runner.jar
+ cp simplecloud-base/build/libs/base.jar temp/storage/base.jar
+ cp simplecloud-plugin/build/libs/*.jar temp/storage/pluginJars/
+ cp simplecloud-dependency-loader/build/libs/dependency-loader.jar temp/storage/dependency-loader.jar
+ cp simplecloud-launcher/build/libs/launcher.jar temp/launcher.jar
+ rm temp/modules/SimpleCloud-Chat+Tab.jar
+ rm temp/modules/SimpleCloud-ServiceSelection.jar
+ rm temp/modules/SimpleCloud-CloudFlare.jar
+
+ - name: Upload zip
+ uses: actions/upload-artifact@v3
+ with:
+ name: SimpleCloud-Latest
+ path: temp/
+
+ # The USERNAME and TOKEN need to correspond to the credentials environment variables used in
+ # the publishing section of your build.gradle
+ - name: Publish
+ uses: gradle/gradle-build-action@v2
+ with:
+ arguments: publish
+ env:
+ MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..93526bc00
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,79 @@
+##########################
+## Java
+##########################
+*.class
+.mtj.tmp/
+*.jar
+*.war
+*.ear
+hs_err_pid*
+
+##########################
+## Maven
+##########################
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+
+##########################
+## Gradle
+##########################
+.gradle
+/build/
+gradle-app.setting
+!gradle-wrapper.jar
+.gradletasknamecache
+
+##########################
+## IntelliJ
+##########################
+*.iml
+.idea/
+*.ipr
+*.iws
+out/
+.idea_modules/
+
+##########################
+## Eclipse
+##########################
+.metadata
+.classpath
+.project
+.settings/
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.loadpath
+
+##########################
+## NetBeans
+##########################
+nbproject/private/
+build/
+nbbuild/
+dist/
+nbdist/
+nbactions.xml
+nb-configuration.xml
+
+##########################
+## OS X
+##########################
+.DS_Store
+
+##########################
+## SimpleCloud
+##########################
+logs/
+launcher.json
+storage/
+local-repo/
+modules/
\ No newline at end of file
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000000000..6b1b9ffe2
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,58 @@
+pipeline {
+ agent any
+ options {
+ buildDiscarder logRotator(numToKeepStr: '10')
+ }
+ stages {
+ stage('Clean') {
+ steps {
+ sh 'chmod +x ./gradlew';
+ sh './gradlew clean';
+ }
+ }
+ stage('Build') {
+ steps {
+ sh './gradlew build';
+ }
+ }
+ stage('Test') {
+ steps {
+ sh './gradlew test';
+ junit '**/build/test-results/test/*.xml';
+ }
+ }
+ stage('Create zip') {
+ steps {
+ sh 'rm -f SimpleCloud-Latest.zip';
+ sh 'mkdir -p temp'
+ sh 'mkdir temp/modules/'
+ sh 'mkdir temp/storage/'
+ sh 'cp start-files/*.* temp/';
+ sh 'cp simplecloud-modules/**/build/libs/*.jar temp/modules/';
+ sh 'cp simplecloud-runner/build/libs/runner.jar temp/runner.jar';
+ sh 'cp simplecloud-base/build/libs/base.jar temp/storage/base.jar';
+ sh 'rm temp/modules/SimpleCloud-Chat+Tab.jar';
+ sh 'rm temp/modules/SimpleCloud-ServiceSelection.jar';
+ sh 'rm temp/modules/SimpleCloud-CloudFlare.jar';
+ zip archive: true, dir: 'temp', glob: '', zipFile: 'SimpleCloud-Latest.zip';
+ sh 'rm -r temp/';
+ }
+ }
+ stage('Sources') {
+ steps {
+ sh './gradlew sourceJar';
+ }
+ }
+ stage('Publish') {
+ when {
+ anyOf {
+ branch 'master';
+ branch 'dev/2.0';
+ }
+ }
+ steps {
+ sh './gradlew publish';
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000..466e3fc26
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020-2022 The SimpleCloud authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..2811f7a9a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+ A simple alternative to other minecraft cloud systems
+
+ SpigotMC
+ ·
+ Repository
+ ·
+ Dashboard
+ ·
+ Jenkins
+ ·
+ Discord
+ ·
+ Teamspeak
+
+
+
+
+
+
+
+
+ Overview
+
+ -
+ Getting Started
+
+
+ - Features
+ - Dashboard
+ -
+ Modules
+
+
+
+
+
+
+
+## Getting Started
+
+### Requirements
+
+* **Java 8** or higher
+* **[MongoDB](https://www.mongodb.com/cloud/atlas/lp/try2-de?utm_source=google&utm_campaign=gs_emea_germany_search_core_brand_atlas_desktop&utm_term=mongodb&utm_medium=cpc_paid_search&utm_ad=e&utm_ad_campaign_id=12212624524&gclid=Cj0KCQjw5auGBhDEARIsAFyNm9EkpiB2K-5CMNxHkHcY7VbdNE_4HrbwDOSrMmjgNAve270Hnd9pjRoaAqFgEALw_wcB)**
+ or **[SQL](https://go.mariadb.com/download-mariadb-server-community.html?utm_source=google&utm_medium=ppc&utm_campaign=MKG-Search-Google-Branded-EMEA-bd-Server-DL&gclid=Cj0KCQjw5auGBhDEARIsAFyNm9HBSH7xv8vFObvU9Xk8-bgYskrjfU53aBSkyehaGOxQQx2veRbC6-caAtJyEALw_wcB)**
+ database
+* min. **2GB** Memory and **2 virtual cores**
+
+### Installation
+
+
+ - Download the cloud on SpigotMC
+ - Unzip the folder and execute the start file
+ - Follow the setup instructions
+ - Connect a wrapper to your manager. It is recommended to use the InternalWrapperModule for this. You can find it below.
+ - Create your first group by typing create into the console
+ - For more information type help
+ - Have fun :D
+
+
+
+
+## Features
+
+* Dashboard
+* Language-System
+* Multi-Root
+* Multi-Proxy
+* Module-System
+* **MongoDB** and **SQL** support
+* Powerful **API**
+* Powerful **REST-API**
+* Support for **Spigot**, **BungeeCord** and **Velocity**
+* Template-System
+
+
+
+## Dashboard
+
+SimpleCloud provides a **Dashboard accessible** for every user.
+The domain for the **Dashboard** is: **http://dashboard-nossl.thesimplecloud.eu**.
+Now you have to enter the **IP-Address** of your server follwed by the port of the **REST-Module.**
+
+
+The default port of the **REST-Module** is **8585**. So an ip would be **55.55.55.55:8585**.
+The username and password can be found in **"modules/rest/users.json"**
+
+
+
+## Modules
+
+SimpleCloud provides some modules by default.
+
+### Internal-Wrapper
+
+The **Internal-Wrapper Module** starts a wrapper every time the manager of the cloud gets started.
+This wrapper does only run when the manager is running. It connects **automatically** with no need to set it up.
+The wrapper will be automatically named **"InternalWrapper"** and it will have **2GB of memory**.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-internalwrapper/2.4.0/simplecloud-module-internalwrapper-2.4.0.jar)
+
+
+To edit the memory of the wrapper you can use the command:
+``edit wrapper InternalWrapper maxMemory ``
+
+
+
+### Signs
+
+The **Sign Module** is used to show available services for players in the lobby via a **sign**.
+The players can click on that sign and will be sent to the server. The layout of the signs is **fully customizable**.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-sign/2.4.0/simplecloud-module-sign-2.4.0.jar)
+
+![SignModule](https://i.imgur.com/w534aZG.gif "SignModule")
+
+
+
+### Permissions
+
+With the **Permission Module**, you can easily manage your permissions.
+You can define groups and add permissions to them. You can also add permissions to single users.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-permission/2.4.0/simplecloud-module-permission-2.4.0.jar)
+
+![PermissionModule](https://i.imgur.com/mjqCmjq.png"PermissionModule")
+
+
+
+### Proxy
+
+The **Proxy Module** is used to manage your proxies.
+It controls the **MOTD**, **Tablist**, **maintenance** and the **online count**.
+The online count of proxies of one group will be summed up and displayed in the player info.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-proxy/2.4.0/simplecloud-module-proxy-2.4.0.jar)
+
+![ProxyModuleTab](https://i.imgur.com/2djSS9l.jpg "ProxyModuleTab")
+
+![ProxyModuleMotd](https://i.imgur.com/dkuxYM7.png "ProxyModuleMotd")
+
+![ProxyModuleMotdMaintenance](https://i.imgur.com/eCSXSJo.png "ProxyModuleMotdMaintenance")
+
+
+
+**Permissions:**
+
+
+````
+Maintenance join: cloud.maintenance.join
+Full join: cloud.full.join
+````
+
+
+
+### Hub
+
+The **Hub Module** provides a hub command for players to switch to a **lobby server**.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-hubcommand/2.4.0/simplecloud-module-hubcommand-2.4.0.jar)
+
+
+
+### Notify
+
+The **Notify Module** sends notifications to players that have the required permission when a server gets **started**
+or **stopped**.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-notify/2.4.0/simplecloud-module-notify-2.4.0.jar)
+
+![NotifyModule](https://i.imgur.com/7lcjXbN.jpg "NotifyModule")
+
+
+
+**Permissions:**
+
+
+````
+cloud.module.notify.messages
+````
+
+
+
+### REST
+
+The **REST Module** provides a **restful API**. It is necessary for the **dashboard**.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-rest/2.4.0/simplecloud-module-rest-2.4.0.jar)
+
+
+
+### Statistics
+
+The **Statistics Module** saves some statistics of the cloud. The data is displayed on the **dashboard**.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-statistics/2.4.0/simplecloud-module-statistics-2.4.0.jar)
+
+
+
+### Chat + Tab
+
+The **Chat + Tab Module** provides **prefixes** and **suffixes** in the tablist and adds a **chat configuration**.
+
+You can **download**
+it [here](https://repo.thesimplecloud.eu/artifactory/gradle-release-local/eu/thesimplecloud/simplecloud/simplecloud-module-chat-tab/2.4.0/simplecloud-module-chat-tab-2.4.0.jar)
+
+Special Thanks To:
+-------------
+
+[![YourKit-Logo](https://www.yourkit.com/images/yklogo.png)](https://www.yourkit.com/)
+
+[YourKit](https://www.yourkit.com/) supports open source projects with innovative and intelligent tools
+for monitoring and profiling Java and .NET applications.
+YourKit is the creator of YourKit Java Profiler,
+YourKit .NET Profiler,
+and YourKit YouMonitor.
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 000000000..3d9f6c3ab
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,168 @@
+/*
+ * MIT License
+ *
+ * Copyright (C) 2020 The SimpleCloud authors
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+plugins {
+ id 'org.jetbrains.kotlin.jvm' version '1.8.22'
+ id "com.github.johnrengelman.shadow" version "8.1.1"
+ id 'org.jetbrains.dokka' version '0.10.1'
+}
+
+allprojects {
+
+ group 'eu.thesimplecloud.simplecloud'
+ version '2.5.0-SNAPSHOT'
+
+ repositories {
+ mavenCentral()
+ jcenter()
+
+ maven { url 'https://repository.derklaro.dev/releases' }
+ maven { url 'https://jitpack.io' }
+ maven {
+ url "https://repo.thesimplecloud.eu/artifactory/gradle-release-local/"
+ }
+
+ maven {
+ url "https://libraries.minecraft.net"
+ }
+
+ maven {
+ name = "papermc"
+ url = uri("https://repo.papermc.io/repository/maven-public/")
+ }
+
+ maven {
+ name 'spongepowered'
+ url 'https://repo.spongepowered.org/maven'
+ }
+
+ maven {
+ name 'bungeecord-repo'
+ url 'https://oss.sonatype.org/content/repositories/snapshots'
+ }
+
+ maven {
+ name 'spigotmc-repo'
+ url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/'
+ }
+
+ }
+
+ project.ext {
+ depedencyClientServerAPIVersion = '4.1.17'
+ dependencyCommonsIOVersion = '2.11.0'
+ dependencyKotlinCouroutinesVersion = '1.5.2'
+ dependencyNettyVersion = '4.1.71.Final'
+ dependencyGuavaVersion = '31.0.1-jre'
+ dependencyKMongoVersion = '4.4.0'
+ }
+
+ buildscript {
+ repositories {
+ mavenLocal()
+ }
+ }
+}
+
+subprojects {
+
+ apply plugin: 'java'
+ apply plugin: 'java-library'
+ apply plugin: 'maven-publish'
+ apply plugin: 'org.jetbrains.kotlin.jvm'
+ apply plugin: 'org.jetbrains.dokka'
+ apply plugin: "com.github.johnrengelman.shadow"
+
+ sourceCompatibility = 8
+ targetCompatibility = 8
+
+ task sourcesJar(type: Jar, dependsOn: classes) {
+ archiveClassifier.set('sources')
+ from sourceSets.main.allSource
+ }
+
+ dependencies {
+ testApi group: 'junit', name: 'junit', version: '4.13'
+ compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
+ testCompileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
+ compileOnly(group: 'eu.thesimplecloud.clientserverapi', name: 'clientserverapi', version: depedencyClientServerAPIVersion) {
+ transitive = false
+ }
+ compileOnly(group: 'eu.thesimplecloud.jsonlib', name: 'json-lib', version: "1.0.8") {
+ transitive = false
+ }
+
+ testApi(group: 'eu.thesimplecloud.clientserverapi', name: 'clientserverapi', version: depedencyClientServerAPIVersion)
+ testApi(group: 'eu.thesimplecloud.jsonlib', name: 'json-lib', version: "1.0.8")
+
+ compileOnly group: 'commons-io', name: 'commons-io', version: dependencyCommonsIOVersion
+ compileOnly group: 'com.google.guava', name: 'guava', version: dependencyGuavaVersion
+ compileOnly group: 'io.netty', name: 'netty-all', version: dependencyNettyVersion
+ compileOnly group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: dependencyKotlinCouroutinesVersion
+ compileOnly group: 'com.google.code.gson', name: 'gson', version: '2.9.0'
+
+ }
+
+ compileKotlin {
+ kotlinOptions.jvmTarget = "1.8"
+ }
+ compileTestKotlin {
+ kotlinOptions.jvmTarget = "1.8"
+ }
+
+ jar {
+ manifest {
+ attributes(
+ 'Implementation-Version': project.version,
+ )
+ }
+ }
+
+ publishing {
+ publications {
+ mavenJava(MavenPublication) {
+ from components.java
+ artifact sourcesJar
+ }
+ }
+ repositories {
+ maven {
+ if (project.version.endsWith("SNAPSHOT")) {
+ url 'https://repo.thesimplecloud.eu/artifactory/list/gradle-dev-local/'
+ } else {
+ url 'https://repo.thesimplecloud.eu/artifactory/list/gradle-release-local//'
+ }
+
+ credentials {
+ username = project.hasProperty("mavenUser") ? project.property("mavenUser") : System.getenv("MAVEN_USERNAME")
+ password = project.hasProperty("mavenPassword") ? project.property("mavenPassword") : System.getenv("MAVEN_PASSWORD")
+ }
+ }
+ }
+ }
+
+ dokka {
+ outputFormat = 'html'
+ outputDirectory = "$buildDir/dokka"
+ }
+
+}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f
GIT binary patch
literal 59203
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 |