From f8e6b22105f8a3d7f9ad69361e6400bb585dfed2 Mon Sep 17 00:00:00 2001 From: Alpha Date: Sun, 25 Feb 2024 20:25:05 +0900 Subject: [PATCH] Rebrand --- .gitignore | 6 +- README.md | 22 +- build.gradle.kts | 12 +- gradle.properties | 5 +- ...0001-Thunderbolt-configuration-file.patch} | 10 +- patches/server/0001-Rebrand.patch | 94 +++---- ... => 0002-Thunderbolt-Configurations.patch} | 240 +++++++++--------- ...003-Add-example-configuration-fields.patch | 89 ------- settings.gradle.kts | 12 +- 9 files changed, 196 insertions(+), 294 deletions(-) rename patches/api/{0001-Volt-configuration-file.patch => 0001-Thunderbolt-configuration-file.patch} (73%) rename patches/server/{0002-Volt-Configurations.patch => 0002-Thunderbolt-Configurations.patch} (72%) delete mode 100644 patches/server/0003-Add-example-configuration-fields.patch diff --git a/.gitignore b/.gitignore index b08a424..6884955 100644 --- a/.gitignore +++ b/.gitignore @@ -52,7 +52,7 @@ run/ build-data/ libs/ -Volt-API -Volt-MojangAPI -Volt-Server +Thunderbolt-API +Thunderbolt-MojangAPI +Thunderbolt-Server paper-api-generator diff --git a/README.md b/README.md index 58e1204..cb7d685 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,22 @@
-# VOLT +# Thunderbolt -### Template repository to help you fork Plasma easily +### A Server platform with features too experimental to implement into Plazma [![Discord](https://img.shields.io/discord/1083716853928558652?style=for-the-badge&logo=discord&logoColor=ffffff&label=DISCORD&color=5865F2)](https://discord.gg/MmfC52K8A8) -[![License](https://img.shields.io/github/license/PlazmaMC/Volt?style=for-the-badge&logo=github&logoColor=ffffff)](LICENSE.md) -[![Stargazers](https://img.shields.io/github/stars/PlazmaMC/Volt?label=stars&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMVNjtc7/hFAAABIElEQVQ4y62SzS5DURSFv6smXkAUCRU0UdKYGNTPyCsYYOYFGGi8Ao9QM0PxCh6CgQ4qfiLpBFEjdKCfySaXtDch1uScs9Ze62TvcyAD6o66zV+gjqpvalsd61XXl5GxBySx3/3t7UPqi1pTD9VXdaRbbZIyDQLTwBSwBqzGGaABnAInwCXQSJLk/tO4orb8jra6nwo/CC6NlrqMOq421Y5aVSfUXJe2cqFVo7b5NdwIuVaf1IWM2cyrD+qdOvlTLERIS53pYi6FdqMWet2wGP1tdNE2Q1vK+gfDsdbDlFfzwV3Ems8KmAXegcd4hSvgVq0Bz6GV0ob+HgF1YAA4Cn4LWA9tLusHnscTHavFFF8MrqOeZQVU1HKGXlYr/Cc+AKuOI2h/Jrf7AAAAAElFTkSuQmCC&style=for-the-badge&color=green)](https://github.com/PlazmaMC/Volt/stargazers) +[![License](https://img.shields.io/github/license/PlazmaMC/Thunderbolt?style=for-the-badge&logo=github&logoColor=ffffff)](LICENSE.md) +[![Stargazers](https://img.shields.io/github/stars/PlazmaMC/Thunderbolt?label=stars&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMVNjtc7/hFAAABIElEQVQ4y62SzS5DURSFv6smXkAUCRU0UdKYGNTPyCsYYOYFGGi8Ao9QM0PxCh6CgQ4qfiLpBFEjdKCfySaXtDch1uScs9Ze62TvcyAD6o66zV+gjqpvalsd61XXl5GxBySx3/3t7UPqi1pTD9VXdaRbbZIyDQLTwBSwBqzGGaABnAInwCXQSJLk/tO4orb8jra6nwo/CC6NlrqMOq421Y5aVSfUXJe2cqFVo7b5NdwIuVaf1IWM2cyrD+qdOvlTLERIS53pYi6FdqMWet2wGP1tdNE2Q1vK+gfDsdbDlFfzwV3Ems8KmAXegcd4hSvgVq0Bz6GV0ob+HgF1YAA4Cn4LWA9tLusHnscTHavFFF8MrqOeZQVU1HKGXlYr/Cc+AKuOI2h/Jrf7AAAAAElFTkSuQmCC&style=for-the-badge&color=green)](https://github.com/PlazmaMC/Thunderbolt/stargazers) -[![Upstream Status](https://img.shields.io/github/actions/workflow/status/PlazmaMC/Volt/upstream.yml?label=upstream&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGD0lEQVR4nO2dW4hVVRiAl5OjCFoMlpYx2WXMXjShi5FFTxFhhmFlQxlRU0kEXQiJorKIMoIiIoJegiiK8pKWZBTUg0ZpaHYhslBL8TKVTWWO00x98XP%2BicNhzt5rnb3P2WvtWd%2FjzDl7r%2FX%2F6%2FrfjjGRSCQSiUQikUgkEolEIpGIJwDHAHOA24CngTXA18Bu4BDwN3AUOAh8D3wOrAOeBLqBWUB70f0ICuBE4E7gXaCP7PwBrARuAqYU3T8vAdqB64EPgSGaxz%2F6joUyu8xoBzgOWAbsofXs0ndPNKMNoA24EThA8ezTPWZ0zAjgIt1IfWMbMM%2BUfJ1f3uQ1Po894rnSnZyAU3WEhcInwGmmDMi0BnozCGMA2KT3ADlKXgycAnQAY4HxwAnA6fouWc%2BfBzYCgxne%2BwtwgQkZ4Fq9KLlyBHgDWARMyPD%2BDr2QvamXNlf%2BAuabENGOu47AvcD9wOQmtOck4FG9NbsgfbjBhARwneNm26eCn9CCtk0EHtdZ5qKE%2BSEdM12WndVifiignbKPvOfQzsPA%2BSaA006vw%2Fq6pOD2jgHucRgw0rfpxkeAccBWBzPAHOMJMrIdBs4q4yNqArbhG2Ca8QxgBrDTov0yW8YaD9d9m013O3C88RRgmoUS%2Fm3FYcHVafKVhfB%2FAk42ngOcCfyc0I9txieApZYb7mwTCMBc4M8R%2BiGz%2FHLjC8CxlhebHhMYVDZmcXEO8wOwwPgEcJ%2BF8FebgAGmAp3GU%2FPyjxZLj5%2Fn5tBRH24aDxTdztICfGBhzp1UdDtLiYR3WJz7Hyy6naUFuCNF%2BGJ7n1p0O0uLRp8l8bYpIcAkYAXwKfAl8EzLg700pETCApPoNiUD6KpjppCTYFczXjimzt%2FPThH%2BULVHS00VfhmvGhO%2BeOvqsTc3JWgw7AagXx3i7wBnVf2%2FJ0UBn%2BnnZgLr9RniUfoYOM%2BUT%2Fj5KUGFP5IN5Dexj%2BhnniKZF9WWIt%2BppT8kJWAv%2FHyUoCM%2FyW8rgl2V0oiXU6KaPzLlFH42JejmKiM0CRHsfrIx6HscJo0LP7MSXCIFGkWU3GbKK%2FzGlaAZKM1mnSm%2F8BtTAnBGnc0zL%2BTZM8zoEH7DSpibU2rQiJu48RAqUXPNTBLZ4xT71AQleCt8AXid5vOacSFHJfgu%2FLYWHT4O17MuNFMJXgu%2FKqBMEjOy8Kve%2BNNMNO4mmQxK8F74wwBbEvoxoCmzafGtC1KUsMU0SgNKCEb4AnBZnVkwoIJ9KaW%2FK%2FQ59ZQgz77UZMFBCUEJfxjgSg09qY7iu1D%2FlxbzenPVc%2BapryD%2FcBYLJQQp%2FJoNuVOOpTXu17Q9YnadMMfO3G%2F9CZbO%2Fy2mZQJYYhF80FZE%2FORbmuS8T3OwvLzhZkX9IUmsyfySyMhIMLFF9MfSOl%2BPZAV4zCL6w9tw%2B6ChEnicFnywvuh2lhbgEdJZXHQ7SwkwXW03aXluQUd7eIlmTko0Rxp3G5%2BQ4hZVR9M%2B7cQsExhUyqWlccCrQk%2BaH3ywTr22YC5nwDkWgQnCLcYngFcTGisJbzON51AZRDJ709jqXVCBhTtvp4%2B5wTWVGr%2B1DKnxb0YDOywav8vHmUDFYPYddiw3PgK8YtmBXp9GEHCu5i%2FbsNnbUmZ6bk5Kbq5N9b%2FX2T%2Baf5t7LDdcNBrQv0zJaqS8l2ZF2vJ%2BERmUamCzOecPc8SnWZsIcIVjlax%2B4IlWJPNpoaaH9WhsixjbrjIBOjBcS5X1quUx95OSerQeaqBIrAj%2FahMiOhNclqPqTq%2FUHOTJGUf7Yr2Z267z1ch3FpmQ0T1B3HWNMqT1O18AbtdylV06osdrpn6Hlqu8RG6nwLOSoZOxXOX%2B4MtV1tiHRIihsNn7044rWlzV95LFg5p%2BOs6UFY2X8bF88RfBHDNziru5xqLKSiuQi%2BNdvqdLNQU9pSzT34JpNbu1VKU%2F9vyioJLEvVArr2SNUE5b4zdoRd%2FoRqyjjClaHV3O7r%2FnIHQJGV%2BrNe1i6IjjzGjXn6DqVlPFWq3ftkM9b0f10nZIfQ3bNX9ZkshvlVhN75wmkUgkEolEIpFIJBKJRCIRM5r5D9WH9bFOGhrhAAAAAElFTkSuQmCC&style=flat-square)](https://github.com/PlazmaMC/AlwaysUpToDate/actions/workflows/plazma.yml) -[![Forks](https://img.shields.io/github/forks/PlazmaMC/Volt?label=forks&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMVNCYN3/YeAAAA/UlEQVQ4y7WTQUoDQRBFf01czlJcxUyOINGjjAvFHMFzZGdygOwDwTtk6UZcqLlAxCAuMigug89FamIzdAIN+qGhq/6v6qrqbumvAJwBj8AHMAQs4DJgBHy65jSW4Bl4AaZsUAbcufumrnmquSzIcSzpTtLA7XbA1fuBa9qxCob8YgUUAdcFqoC/iSXIgLELOhG+49w4nM+2BTP7ljR3M4/MufbNzYxdN1E0Sm2ialZnsVIllZKOJF24eyLpXdKtmS1S3sYMmO3THOwJziUdbrbkZvaVcnILeAh6vweylAQ9D7z2BXCS0sJS0lrSpdtrSW+pn6sPLIFX4Er/hR9C0wl1FTBzNwAAAABJRU5ErkJggg==&style=flat-square&color=green)](https://github.com/PlazmaMC/Volt/forks) -[![Watchers](https://img.shields.io/github/watchers/PlazmaMC/Volt?label=watchers&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMVNw4TRw0nAAAA3UlEQVQ4y83SP04CURAG8I0lewHOwAFUaiwkdmAlp8CL4FHopfIvtOIJWE3opIBK489mQPKy6xYWOskkL9/MN/PNzMuyf2fIcYkZVuGzwPI68gle8Yl7jMIfAntBp4o8wAeecFgSP8I8cgZp8DwC12j8oLCBCd7R34ItbHCzT8ZZSC7QTYrcYo1WhjGWaCbdCt+2SGLN4IwPfnu07QjrkhG6oWKB0+TMd7sRAuzHYuqWmO8tsVd1xjmOS8htPEfORVWHTmweHnEVPg2sqPxIicxhFFjhLd7D2q/8J/YFHSJt9VSqQ08AAAAASUVORK5CYII=&style=flat-square&color=green)](https://github.com/PlazmaMC/Volt/watchers) +[![Upstream Status](https://img.shields.io/github/actions/workflow/status/PlazmaMC/Thunderbolt/upstream.yml?label=upstream&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGD0lEQVR4nO2dW4hVVRiAl5OjCFoMlpYx2WXMXjShi5FFTxFhhmFlQxlRU0kEXQiJorKIMoIiIoJegiiK8pKWZBTUg0ZpaHYhslBL8TKVTWWO00x98XP%2BicNhzt5rnb3P2WvtWd%2FjzDl7r%2FX%2F6%2FrfjjGRSCQSiUQikUgkEolEIpGIJwDHAHOA24CngTXA18Bu4BDwN3AUOAh8D3wOrAOeBLqBWUB70f0ICuBE4E7gXaCP7PwBrARuAqYU3T8vAdqB64EPgSGaxz%2F6joUyu8xoBzgOWAbsofXs0ndPNKMNoA24EThA8ezTPWZ0zAjgIt1IfWMbMM%2BUfJ1f3uQ1Po894rnSnZyAU3WEhcInwGmmDMi0BnozCGMA2KT3ADlKXgycAnQAY4HxwAnA6fouWc%2BfBzYCgxne%2BwtwgQkZ4Fq9KLlyBHgDWARMyPD%2BDr2QvamXNlf%2BAuabENGOu47AvcD9wOQmtOck4FG9NbsgfbjBhARwneNm26eCn9CCtk0EHtdZ5qKE%2BSEdM12WndVifiignbKPvOfQzsPA%2BSaA006vw%2Fq6pOD2jgHucRgw0rfpxkeAccBWBzPAHOMJMrIdBs4q4yNqArbhG2Ca8QxgBrDTov0yW8YaD9d9m013O3C88RRgmoUS%2Fm3FYcHVafKVhfB%2FAk42ngOcCfyc0I9txieApZYb7mwTCMBc4M8R%2BiGz%2FHLjC8CxlhebHhMYVDZmcXEO8wOwwPgEcJ%2BF8FebgAGmAp3GU%2FPyjxZLj5%2Fn5tBRH24aDxTdztICfGBhzp1UdDtLiYR3WJz7Hyy6naUFuCNF%2BGJ7n1p0O0uLRp8l8bYpIcAkYAXwKfAl8EzLg700pETCApPoNiUD6KpjppCTYFczXjimzt%2FPThH%2BULVHS00VfhmvGhO%2BeOvqsTc3JWgw7AagXx3i7wBnVf2%2FJ0UBn%2BnnZgLr9RniUfoYOM%2BUT%2Fj5KUGFP5IN5Dexj%2BhnniKZF9WWIt%2BppT8kJWAv%2FHyUoCM%2FyW8rgl2V0oiXU6KaPzLlFH42JejmKiM0CRHsfrIx6HscJo0LP7MSXCIFGkWU3GbKK%2FzGlaAZKM1mnSm%2F8BtTAnBGnc0zL%2BTZM8zoEH7DSpibU2rQiJu48RAqUXPNTBLZ4xT71AQleCt8AXid5vOacSFHJfgu%2FLYWHT4O17MuNFMJXgu%2FKqBMEjOy8Kve%2BNNMNO4mmQxK8F74wwBbEvoxoCmzafGtC1KUsMU0SgNKCEb4AnBZnVkwoIJ9KaW%2FK%2FQ59ZQgz77UZMFBCUEJfxjgSg09qY7iu1D%2FlxbzenPVc%2BapryD%2FcBYLJQQp%2FJoNuVOOpTXu17Q9YnadMMfO3G%2F9CZbO%2Fy2mZQJYYhF80FZE%2FORbmuS8T3OwvLzhZkX9IUmsyfySyMhIMLFF9MfSOl%2BPZAV4zCL6w9tw%2B6ChEnicFnywvuh2lhbgEdJZXHQ7SwkwXW03aXluQUd7eIlmTko0Rxp3G5%2BQ4hZVR9M%2B7cQsExhUyqWlccCrQk%2BaH3ywTr22YC5nwDkWgQnCLcYngFcTGisJbzON51AZRDJ709jqXVCBhTtvp4%2B5wTWVGr%2B1DKnxb0YDOywav8vHmUDFYPYddiw3PgK8YtmBXp9GEHCu5i%2FbsNnbUmZ6bk5Kbq5N9b%2FX2T%2Baf5t7LDdcNBrQv0zJaqS8l2ZF2vJ%2BERmUamCzOecPc8SnWZsIcIVjlax%2B4IlWJPNpoaaH9WhsixjbrjIBOjBcS5X1quUx95OSerQeaqBIrAj%2FahMiOhNclqPqTq%2FUHOTJGUf7Yr2Z267z1ch3FpmQ0T1B3HWNMqT1O18AbtdylV06osdrpn6Hlqu8RG6nwLOSoZOxXOX%2B4MtV1tiHRIihsNn7044rWlzV95LFg5p%2BOs6UFY2X8bF88RfBHDNziru5xqLKSiuQi%2BNdvqdLNQU9pSzT34JpNbu1VKU%2F9vyioJLEvVArr2SNUE5b4zdoRd%2FoRqyjjClaHV3O7r%2FnIHQJGV%2BrNe1i6IjjzGjXn6DqVlPFWq3ftkM9b0f10nZIfQ3bNX9ZkshvlVhN75wmkUgkEolEIpFIJBKJRCIRM5r5D9WH9bFOGhrhAAAAAElFTkSuQmCC&style=flat-square)](https://github.com/PlazmaMC/AlwaysUpToDate/actions/workflows/plazma.yml) +[![Forks](https://img.shields.io/github/forks/PlazmaMC/Thunderbolt?label=forks&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMVNCYN3/YeAAAA/UlEQVQ4y7WTQUoDQRBFf01czlJcxUyOINGjjAvFHMFzZGdygOwDwTtk6UZcqLlAxCAuMigug89FamIzdAIN+qGhq/6v6qrqbumvAJwBj8AHMAQs4DJgBHy65jSW4Bl4AaZsUAbcufumrnmquSzIcSzpTtLA7XbA1fuBa9qxCob8YgUUAdcFqoC/iSXIgLELOhG+49w4nM+2BTP7ljR3M4/MufbNzYxdN1E0Sm2ialZnsVIllZKOJF24eyLpXdKtmS1S3sYMmO3THOwJziUdbrbkZvaVcnILeAh6vweylAQ9D7z2BXCS0sJS0lrSpdtrSW+pn6sPLIFX4Er/hR9C0wl1FTBzNwAAAABJRU5ErkJggg==&style=flat-square&color=green)](https://github.com/PlazmaMC/Volt/forks) +[![Watchers](https://img.shields.io/github/watchers/PlazmaMC/Thunderbolt?label=watchers&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMVNw4TRw0nAAAA3UlEQVQ4y83SP04CURAG8I0lewHOwAFUaiwkdmAlp8CL4FHopfIvtOIJWE3opIBK489mQPKy6xYWOskkL9/MN/PNzMuyf2fIcYkZVuGzwPI68gle8Yl7jMIfAntBp4o8wAeecFgSP8I8cgZp8DwC12j8oLCBCd7R34ItbHCzT8ZZSC7QTYrcYo1WhjGWaCbdCt+2SGLN4IwPfnu07QjrkhG6oWKB0+TMd7sRAuzHYuqWmO8tsVd1xjmOS8htPEfORVWHTmweHnEVPg2sqPxIicxhFFjhLd7D2q/8J/YFHSJt9VSqQ08AAAAASUVORK5CYII=&style=flat-square&color=green)](https://github.com/PlazmaMC/Thunderbolt/watchers)
> [!WARNING] -This project was created to make it easy to **fork a Plazma**! If you're not a developer, but just want to use the Plazma, please refer to the [Plazma repository]((https://github.com/PlazmaMC/Plazma)).
-본 프로젝트는 Plazma를 쉽게 **포크할 수 있도록** 하기 위해 만들어진 프로젝트입니다! 개발자가 아니고, Plazma를 사용하기 위해 방문했다면, [Plazma 저장소](https://github.com/PlazmaMC/Plazma)를 참조해주세요. - -## 📚 Development Guide -- The development guide is available on the [Volt Wiki](ttps://github.com/PlazmaMC/Volt/wiki). -- 개발 가이드는 [Volt 위키](https://github.com/PlazmaMC/Volt/wiki)를 참조해주세요. +Thunderbolt는 Plazma에 추가하기에 매우 불안정하고 게임 플레이에 크게 영향을 미치는 패치가 포함된 프로젝트입니다! 기존 월드가 손상되거나, 일부 플러그인이 작동하지 않을 수 있으며, 매 업데이트마다 서버의 안정 상태가 크게 달라질 수 있습니다! Thunberbolt는 공개 서버에서 사용하기 매우 부적합하고, Plazma에 패치를 추가하기 전 실험용으로 사용되는 프로젝트입니다! 사용에 주의해주세요!
+Thunderbolt is a project that includes patches that are very unstable to add to Plazma and greatly affect gameplay! Existing worlds may be damaged, some plugins may not work, and the server's stable status can vary greatly with each update! Thunderbolt is very unfit for public servers, and it is an experimental project before adding patches to Plazma! Please be careful! ## ⚖️ License - This project and all patches are licensed under the [MIT license](LICENSE.md) unless otherwise noted in the patch headers. diff --git a/build.gradle.kts b/build.gradle.kts index 2ba637e..aad6754 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,7 +34,7 @@ allprojects { repositories { maven { name = "githubPackage" - url = uri("https://maven.pkg.github.com/PlazmaMC/Volt") // Volt - Change this + url = uri("https://maven.pkg.github.com/PlazmaMC/Thunderbolt") credentials { username = System.getenv("GITHUB_USERNAME") @@ -82,7 +82,7 @@ subprojects { } paperweight { - serverProject = project(":volt-server") // Volt - Change this + serverProject = project(":thunderbolt-server") remapRepo = "https://papermc.io/repo/repository/maven-public/" decompileRepo = "https://papermc.io/repo/repository/maven-public/" @@ -95,10 +95,10 @@ paperweight { baseName("Plazma") apiPatchDir = layout.projectDirectory.dir("patches/api") - apiOutputDir = layout.projectDirectory.dir("Volt-API") // Volt - Change this + apiOutputDir = layout.projectDirectory.dir("Thunderbolt-API") serverPatchDir = layout.projectDirectory.dir("patches/server") - serverOutputDir = layout.projectDirectory.dir("Volt-Server") // Volt - Change this + serverOutputDir = layout.projectDirectory.dir("Thunderbolt-Server") } patchTasks.register("generatedApi") { @@ -129,12 +129,12 @@ tasks { } generateDevelopmentBundle { - apiCoordinates = "org.plazmamc.plazma:volt-api" + apiCoordinates = "org.plazmamc.plazma:thunderbolt-api" mojangApiCoordinates = "io.papermc.paper:paper-mojangapi" libraryRepositories.set( listOf( "https://repo.maven.apache.org/maven2/", - "https://maven.pkg.github.com/PlazmaMC/Plazma", // Volt - Change this + "https://maven.pkg.github.com/PlazmaMC/Thunderbolt", "https://papermc.io/repo/repository/maven-public/" ) ) diff --git a/gradle.properties b/gradle.properties index 43fc9fb..fadc55c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,10 @@ -# Volt - Change below value -group = org.plazmamc.volt +group = org.plazmamc.thunderbolt org.gradle.caching = true org.gradle.parallel = true org.gradle.vfs.watch = false org.gradle.jvmargs = -Xmx4G -Dfile.encoding=UTF-8 -Dgraal.CompilerConfiguration=community -Dgraal.UsePriorityInlining=true -Dgraal.Vectorization=true -Dgraal.OptDuplication=true -Dgraal.SpeculativeGuardMovement=true -Dgraal.WriteableCodeCache=true -# Volt - You must change below values when you upgrade the Minecraft. version = 1.20.4-R0.1-SNAPSHOT mcVersion = 1.20.4 -# Volt - You must change below value when a new commit in Plazma is pushed. plazmaCommit = 3852ef88c46a5be0ef6ac4babe80c2b9fbb81067 diff --git a/patches/api/0001-Volt-configuration-file.patch b/patches/api/0001-Thunderbolt-configuration-file.patch similarity index 73% rename from patches/api/0001-Volt-configuration-file.patch rename to patches/api/0001-Thunderbolt-configuration-file.patch index 29251be..24fae0b 100644 --- a/patches/api/0001-Volt-configuration-file.patch +++ b/patches/api/0001-Thunderbolt-configuration-file.patch @@ -1,23 +1,23 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Sun, 12 Jun 2022 10:57:51 -0500 -Subject: [PATCH] Volt configuration file +Subject: [PATCH] Thunderbolt configuration file diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 2b3786560d8fb93b9899ebc1e0a7c96a808268d0..70685d2d6fe869e1338e74518a252adf70099c4f 100644 +index 2b3786560d8fb93b9899ebc1e0a7c96a808268d0..731b074f6a9ee0dd3129fe177fe1dfd8a4cc54d8 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -2233,6 +2233,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Plazma end -+ // Volt start - Volt Configuration API ++ // Thunderbolt start - Thunderbolt Configuration API + @NotNull -+ public org.bukkit.configuration.file.YamlConfiguration getVoltConfig() { ++ public org.bukkit.configuration.file.YamlConfiguration getThunderboltConfig() { + throw new UnsupportedOperationException("Not implemented yet."); + } -+ // Volt end ++ // Thunderbolt end + /** * Sends the component to the player diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index 8108488..c4e86fb 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index 47eea572566d7ec26459403cd02aa4442ae969d7..4530df6060639bc427b1c215726903e0bebc8594 100644 +index 47eea572566d7ec26459403cd02aa4442ae969d7..b6fe3888ad34ef0f647619a67d8f484a753fce2f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,7 @@ val alsoShade: Configuration by configurations.creating @@ -13,7 +13,7 @@ index 47eea572566d7ec26459403cd02aa4442ae969d7..4530df6060639bc427b1c215726903e0 dependencies { // Purpur start - implementation(project(":plazma-api")) // Plazma - Setup Gradle Project -+ implementation(project(":volt-api")) // Plazma - Setup Gradle Project // Volt - Setup Gradle Project ++ implementation(project(":thunderbolt-api")) // Plazma - Setup Gradle Project // Thunderbolt - Setup Gradle Project implementation("io.papermc.paper:paper-mojangapi:${project.version}") { exclude("io.papermc.paper", "paper-api") } @@ -22,12 +22,12 @@ index 47eea572566d7ec26459403cd02aa4442ae969d7..4530df6060639bc427b1c215726903e0 "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", - "Implementation-Version" to "git-Plazma-$implementationVersion", // Pufferfish // Purpur // Plazma - Setup Gradle Project -+ "Implementation-Version" to "git-Plazma-$implementationVersion", // Pufferfish // Purpur // Plazma - Setup Gradle Project // Volt - Setup Gradle Project ++ "Implementation-Version" to "git-Plazma-$implementationVersion", // Pufferfish // Purpur // Plazma - Setup Gradle Project // Thunderbolt - Setup Gradle Project "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java -index 8783c81af1d09e6682256dee0dd546de0be418cd..c0d45103f35a7e70e8ceb1501549085f64284816 100644 +index 8783c81af1d09e6682256dee0dd546de0be418cd..6bdc7aee6c02b2ad854883475d1c1b47acefb743 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java @@ -593,7 +593,7 @@ public class Metrics { @@ -35,7 +35,7 @@ index 8783c81af1d09e6682256dee0dd546de0be418cd..c0d45103f35a7e70e8ceb1501549085f // Only start Metrics, if it's enabled in the config if (config.getBoolean("enabled", true)) { - Metrics metrics = new Metrics("Plazma", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur // Plazma - Branding -+ Metrics metrics = new Metrics("Volt", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur // Plazma - Branding // Volt - Branding ++ Metrics metrics = new Metrics("Thunderbolt", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur // Plazma - Branding // Thunderbolt - Branding metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { String minecraftVersion = Bukkit.getVersion(); @@ -44,12 +44,12 @@ index 8783c81af1d09e6682256dee0dd546de0be418cd..c0d45103f35a7e70e8ceb1501549085f metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur - metrics.addCustomChart(new Metrics.SimplePie("plazma_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur // Plazma // Plazma - Branding -+ metrics.addCustomChart(new Metrics.SimplePie("volt_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur // Plazma // Plazma - Branding // Volt - Branding ++ metrics.addCustomChart(new Metrics.SimplePie("thunderbolt_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur // Plazma // Plazma - Branding // Thunderbolt - Branding metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> { Map> map = new HashMap<>(); diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java -index a58ce2c893d8c755ab3027207d512542d2d57c36..45fe6730d56b7ba3462345205ba295712b44cc34 100644 +index a58ce2c893d8c755ab3027207d512542d2d57c36..67c415a74e80d378c92a68d26f79d87d4aa2b4c1 100644 --- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java +++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java @@ -20,7 +20,7 @@ import java.util.stream.StreamSupport; @@ -57,7 +57,7 @@ index a58ce2c893d8c755ab3027207d512542d2d57c36..45fe6730d56b7ba3462345205ba29571 private static final java.util.regex.Pattern VER_PATTERN = java.util.regex.Pattern.compile("^([0-9\\.]*)\\-.*R"); // R is an anchor, will always give '-R' at end // Purpur start - private static final String DOWNLOAD_PAGE = "https://github.com/PlazmaMC/Plazma/releases"; // Plazma // Plazma - Branding -+ private static final String DOWNLOAD_PAGE = "https://github.com/PlazmaMC/Volt/releases"; // Plazma // Plazma - Branding // Volt - Rebranding ++ private static final String DOWNLOAD_PAGE = "https://github.com/PlazmaMC/Thunderbolt/releases"; // Plazma // Plazma - Branding // Thunderbolt - Rebranding private static int distance = -2; public int distance() { return distance; } // Purpur end private static @Nullable String mcVer; @@ -67,8 +67,8 @@ index a58ce2c893d8c755ab3027207d512542d2d57c36..45fe6730d56b7ba3462345205ba29571 public Component getVersionMessage(@Nonnull String serverVersion) { - String[] parts = serverVersion.substring("git-Plazma-".length()).split("[-\\s]"); // Purpur // Plazma // Plazma - Branding - final Component updateMessage = getUpdateStatusMessage("PlazmaMC/PlazmaBukkit", (DEVELOPMENT ? "dev/" : "ver/") + getMinecraftVersion(), parts[0]); // Purpur // Plazma // Plazma - Branding -+ String[] parts = serverVersion.substring("git-Volt-".length()).split("[-\\s]"); // Purpur // Plazma // Plazma - Branding -+ final Component updateMessage = getUpdateStatusMessage("PlazmaMC/Volt", (DEVELOPMENT ? "dev/" : "ver/") + getMinecraftVersion(), parts[0]); // Purpur // Plazma // Plazma - Branding // Volt - Rebranding ++ String[] parts = serverVersion.substring("git-Thunderbolt-".length()).split("[-\\s]"); // Purpur // Plazma // Plazma - Branding ++ final Component updateMessage = getUpdateStatusMessage("PlazmaMC/Thunderbolt", (DEVELOPMENT ? "dev/" : "ver/") + getMinecraftVersion(), parts[0]); // Purpur // Plazma // Plazma - Branding // Thunderbolt - Rebranding final Component history = getHistory(); return history != null ? Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), history, updateMessage) : updateMessage; // Purpur @@ -77,12 +77,12 @@ index a58ce2c893d8c755ab3027207d512542d2d57c36..45fe6730d56b7ba3462345205ba29571 mcVer = result.substring(0, result.length() - 2); // strip 'R' anchor and trailing '-' } else { - org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to Plazma!"); // Purpur // Plazma // Plazma - Branding -+ org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to Volt!"); // Purpur // Plazma // Plazma - Branding // Volt - Rebranding ++ org.bukkit.Bukkit.getLogger().warning("Unable to match version to pattern! Report to Thunderbolt!"); // Purpur // Plazma // Plazma - Branding // Thunderbolt - Rebranding org.bukkit.Bukkit.getLogger().warning("Pattern: " + VER_PATTERN.toString()); org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion()); } diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java -index 3e32c28e1d4c157a2f00dbc6d6e9d71cb3b8f6b7..2b393bc40bd695c97a60c94fe66448f196e6c1d3 100644 +index 3e32c28e1d4c157a2f00dbc6d6e9d71cb3b8f6b7..121072c57c759d58ca26d8af0a6b14bfcd27f881 100644 --- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole { @@ -90,12 +90,12 @@ index 3e32c28e1d4c157a2f00dbc6d6e9d71cb3b8f6b7..2b393bc40bd695c97a60c94fe66448f1 protected LineReader buildReader(LineReaderBuilder builder) { builder - .appName("Plazma") // Purpur // Plazma - Branding -+ .appName("Volt") // Purpur // Plazma - Branding // Volt - Rebranding ++ .appName("Thunderbolt") // Purpur // Plazma - Branding // Thunderbolt - Rebranding .variable(LineReader.HISTORY_FILE, java.nio.file.Paths.get(".console_history")) .completer(new ConsoleCommandCompleter(this.server)) .option(LineReader.Option.COMPLETE_IN_WORD, true); diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java -index e5585c6befeef62ecf130e8dabbe6b78f9e90a65..23f51f4e99cc94ac727ee53706304ee265164260 100644 +index e5585c6befeef62ecf130e8dabbe6b78f9e90a65..153beb3ee44e95930c3c49675ef8b3d95858eed7 100644 --- a/src/main/java/net/minecraft/CrashReport.java +++ b/src/main/java/net/minecraft/CrashReport.java @@ -37,7 +37,7 @@ public class CrashReport { @@ -103,7 +103,7 @@ index e5585c6befeef62ecf130e8dabbe6b78f9e90a65..23f51f4e99cc94ac727ee53706304ee2 this.title = message; this.exception = cause; - this.systemReport.setDetail("Plazma Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit // Plazma - Branding -+ this.systemReport.setDetail("Volt Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit // Plazma - Branding // Volt - Rebranding ++ this.systemReport.setDetail("Thunderbolt Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit // Plazma - Branding // Thunderbolt - Rebranding } public String getTitle() { @@ -112,12 +112,12 @@ index e5585c6befeef62ecf130e8dabbe6b78f9e90a65..23f51f4e99cc94ac727ee53706304ee2 // Purpur start stringbuilder.append("// "); - stringbuilder.append("// DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO PLAZMA INSTEAD!"); // Plazma - Branding -+ stringbuilder.append("// DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO VOLT INSTEAD!"); // Plazma - Branding // Volt - Rebranding ++ stringbuilder.append("// DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO THUNDERBOLT INSTEAD!"); // Plazma - Branding // Thunderbolt - Rebranding // Purpur end stringbuilder.append("// "); stringbuilder.append(CrashReport.getErrorComment()); diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index d83bd5774f49af33119ea5224a2300d435898095..da3007e51b46e59a740921a8b59e92aecf4f615d 100644 +index d83bd5774f49af33119ea5224a2300d435898095..dfe9d225a9a95423ce3883427125e73c4088ec42 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -106,16 +106,8 @@ public class Main { @@ -134,12 +134,12 @@ index d83bd5774f49af33119ea5224a2300d435898095..da3007e51b46e59a740921a8b59e92ae - """); if (!org.plazmamc.plazma.Options.iKnowWhatIAmDoing) - LOGGER.warn("Warning! Plazma may cause unexpected problems, so be sure to test it thoroughly before using it on a public server."); -+ LOGGER.warn("Warning! Volt may cause unexpected problems, so be sure to test it thoroughly before using it on a public server."); // Volt - Rebranding ++ LOGGER.warn("Warning! Thunderbolt may cause unexpected problems, so be sure to test it thoroughly before using it on a public server."); // Thunderbolt - Rebranding // Plazma end // Paper start if (Boolean.getBoolean("Paper.isRunDev")) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2ce7351231aa921604698d45220d7e3e34289b62..d6a1d9a7e4e7fbd3825820db5b7957679c849f30 100644 +index 2ce7351231aa921604698d45220d7e3e34289b62..44ebffcc6551bfc675f0328edc40cb3e67d77451 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -963,7 +963,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop Date: Sun, 25 Feb 2024 19:13:15 +0900 -Subject: [PATCH] Volt Configurations +Subject: [PATCH] Thunderbolt Configurations diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d6a1d9a7e4e7fbd3825820db5b7957679c849f30..9f6de6b8aa86cba01e1f0a8e2eb0414c51219cf3 100644 +index 44ebffcc6551bfc675f0328edc40cb3e67d77451..f4be566f2d29812676309c220cfbdf9cbe6d8469 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -313,6 +313,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop minecraftserver.paperConfigurations.createWorldConfig(io.papermc.paper.configuration.PaperConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), spigotConfig -> minecraftserver.plazmaConfigurations.createWorldConfig(org.plazmamc.plazma.configurations.PlazmaConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), executor); // Paper - create paper world configs; Async-Anti-Xray: Pass executor // Plazma - Configurable Plazma // Plazma - Completely remove Mojang Profiler -+ super(iworlddataserver, resourcekey, minecraftserver.registryAccess(), worlddimension.type(), /*minecraftserver::getProfiler,*/ false, flag, i, minecraftserver.getMaxChainedNeighborUpdates(), gen, biomeProvider, env, spigotConfig -> minecraftserver.paperConfigurations.createWorldConfig(io.papermc.paper.configuration.PaperConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), spigotConfig -> minecraftserver.plazmaConfigurations.createWorldConfig(org.plazmamc.plazma.configurations.PlazmaConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), spigotConfig -> minecraftserver.voltConfigurations.createWorldConfig(org.plazmamc.volt.configurations.VoltConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), executor); // Paper - create paper world configs; Async-Anti-Xray: Pass executor // Plazma - Configurable Plazma // Plazma - Completely remove Mojang Profiler ++ super(iworlddataserver, resourcekey, minecraftserver.registryAccess(), worlddimension.type(), /*minecraftserver::getProfiler,*/ false, flag, i, minecraftserver.getMaxChainedNeighborUpdates(), gen, biomeProvider, env, spigotConfig -> minecraftserver.paperConfigurations.createWorldConfig(io.papermc.paper.configuration.PaperConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), spigotConfig -> minecraftserver.plazmaConfigurations.createWorldConfig(org.plazmamc.plazma.configurations.PlazmaConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), spigotConfig -> minecraftserver.thunderboltConfigurations.createWorldConfig(org.plazmamc.thunderbolt.configurations.ThunderboltConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess())), executor); // Paper - create paper world configs; Async-Anti-Xray: Pass executor // Plazma - Configurable Plazma // Plazma - Completely remove Mojang Profiler this.pvpMode = minecraftserver.isPvpAllowed(); this.convertable = convertable_conversionsession; this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile()); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 11c864f3947b93f0ebeae8c6fd006a5891162b44..c33322a651bc2bcce26e296fdb37722d638fc6db 100644 +index 11c864f3947b93f0ebeae8c6fd006a5891162b44..8ebb1693ff7317202fe92572847133dc51ef49ff 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -177,6 +177,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return this.plazmaConfig; } // Plazma end - Configurable Plazma -+ // Volt start - Add volt world configuration -+ private final org.plazmamc.volt.configurations.WorldConfigurations voltConfig; -+ public org.plazmamc.volt.configurations.WorldConfigurations voltConfig() { -+ return this.voltConfig; ++ // Thunderbolt start - Add thunderbolt world configuration ++ private final org.plazmamc.thunderbolt.configurations.WorldConfigurations thunderboltConfig; ++ public org.plazmamc.thunderbolt.configurations.WorldConfigurations thunderboltConfig() { ++ return this.thunderboltConfig; + } -+ // Volt end - Add volt world configuration ++ // Thunderbolt end - Add thunderbolt world configuration public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur public final co.aikar.timings.WorldTimingsHandler timings; // Paper @@ -123,23 +123,23 @@ index 11c864f3947b93f0ebeae8c6fd006a5891162b44..c33322a651bc2bcce26e296fdb37722d //protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI - protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, /*Supplier supplier,*/ boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.function.Function plazmaWorldConfigurationCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor // Plazma - Configurable Plazma // Plazma - Completely remove Mojang Profiler -+ protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, /*Supplier supplier,*/ boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.function.Function plazmaWorldConfigurationCreator, java.util.function.Function voltWorldConfigurationCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor // Plazma - Configurable Plazma // Plazma - Completely remove Mojang Profiler // Volt - Add volt world configurations ++ protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, /*Supplier supplier,*/ boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.function.Function plazmaWorldConfigurationCreator, java.util.function.Function thunderboltWorldConfigurationCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor // Plazma - Configurable Plazma // Plazma - Completely remove Mojang Profiler // Thunderbolt - Add thunderbolt world configurations this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config this.plazmaConfig = plazmaWorldConfigurationCreator.apply(this.spigotConfig); // Plazma - Configurable Plazma -+ this.voltConfig = voltWorldConfigurationCreator.apply(this.spigotConfig); // Volt - Add volt world configurations ++ this.thunderboltConfig = thunderboltWorldConfigurationCreator.apply(this.spigotConfig); // Thunderbolt - Add thunderbolt world configurations this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur this.generator = gen; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d917549b41461281ef83484b4472d68c5b7fc0aa..3b2106bbe1f251a1667b397065e662eeccb8214d 100644 +index e66d5e20ec3042442ad4fa17c673bcc7ac5ccdb7..ce1bb6edf3f747652f60605f4f170595e57e6cfc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1069,6 +1069,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); this.console.plazmaConfigurations.reloadConfigs(this.console); // Plazma - Configurable Plazma -+ this.console.voltConfigurations.reloadConfigs(this.console); // Volt - Add Volt Configurations ++ this.console.thunderboltConfigurations.reloadConfigs(this.console); // Thunderbolt - Add Thunderbolt Configurations org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty @@ -147,18 +147,18 @@ index d917549b41461281ef83484b4472d68c5b7fc0aa..3b2106bbe1f251a1667b397065e662ee } // Plazma end - Configurable Plazma -+ // Volt start - Add Volt confiugurations ++ // Thunderbolt start - Add Thunderbolt confiugurations + @Override @org.jetbrains.annotations.NotNull -+ public YamlConfiguration getVoltConfig() { -+ return CraftServer.this.console.voltConfigurations.createLegacyObject(CraftServer.this.console); ++ public YamlConfiguration getThunderboltConfig() { ++ return CraftServer.this.console.thunderboltConfigurations.createLegacyObject(CraftServer.this.console); + } -+ // Volt end - Add Volt configurations ++ // Thunderbolt end - Add Thunderbolt configurations + @Override public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index db10684c46769d1a72aab54d212e74e550734712..fc830095795de161e54986759e14e58639032fb0 100644 +index 0e92f59ee3f7c3900b69667fb69ef0ce844b6f07..d7faa79c77f506cbc8d91be1d424b3fb9caf3c36 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -203,6 +203,14 @@ public class Main { @@ -166,29 +166,29 @@ index db10684c46769d1a72aab54d212e74e550734712..fc830095795de161e54986759e14e586 .describedAs("Configuration Directory"); // Plazma end - Configurable Plazma + -+ // Volt start - Add Volt configurations -+ acceptsAll(asList("volt-dir", "volt-settings-directory"), "Directory for Volt settings") ++ // Thunderbolt start - Add Thunderbolt configurations ++ acceptsAll(asList("thunderbolt-dir", "thunderbolt-settings-directory"), "Directory for Thunderbolt settings") + .withRequiredArg() + .ofType(File.class) -+ .defaultsTo(new File(org.plazmamc.volt.configurations.VoltConfigurations.CONFIG_DIR)) ++ .defaultsTo(new File(org.plazmamc.thunderbolt.configurations.ThunderboltConfigurations.CONFIG_DIR)) + .describedAs("Configuration Directory"); -+ // Volt end - Add Volt configurations ++ // Thunderbolt end - Add Thunderbolt configurations } }; -diff --git a/src/main/java/org/plazmamc/volt/commands/Commands.java b/src/main/java/org/plazmamc/volt/commands/Commands.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/commands/Commands.java b/src/main/java/org/plazmamc/thunderbolt/commands/Commands.java new file mode 100644 -index 0000000000000000000000000000000000000000..3ca79a5091494d06fd2985a8ab27f097383d44de +index 0000000000000000000000000000000000000000..be394fb499658ef5e4d5d1c9c25878da3cdf27ca --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/commands/Commands.java ++++ b/src/main/java/org/plazmamc/thunderbolt/commands/Commands.java @@ -0,0 +1,23 @@ -+package org.plazmamc.volt.commands; ++package org.plazmamc.thunderbolt.commands; + +import net.minecraft.server.MinecraftServer; +import org.bukkit.command.Command; +import org.checkerframework.framework.qual.DefaultQualifier; +import org.jetbrains.annotations.NotNull; -+import org.plazmamc.volt.commands.volt.VoltCommand; ++import org.plazmamc.thunderbolt.commands.thunderbolt.ThunderboltCommand; + +import java.util.HashMap; +import java.util.Map; @@ -197,21 +197,21 @@ index 0000000000000000000000000000000000000000..3ca79a5091494d06fd2985a8ab27f097 +public class Commands { + + private static final Map COMMANDS = new HashMap<>() {{ -+ put("volt", new VoltCommand("volt")); ++ put("thunderbolt", new ThunderboltCommand("thunderbolt")); + }}; + + public static void register(final MinecraftServer server) { -+ COMMANDS.forEach((name, command) -> server.server.getCommandMap().register(name, "Volt", command)); ++ COMMANDS.forEach((name, command) -> server.server.getCommandMap().register(name, "Thunderbolt", command)); + } + +} -diff --git a/src/main/java/org/plazmamc/volt/commands/VoltSubCommand.java b/src/main/java/org/plazmamc/volt/commands/VoltSubCommand.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/commands/ThunderboltSubCommand.java b/src/main/java/org/plazmamc/thunderbolt/commands/ThunderboltSubCommand.java new file mode 100644 -index 0000000000000000000000000000000000000000..28832f22527ffd770506fbdc27b32eea70ee3817 +index 0000000000000000000000000000000000000000..bf5fa777a4d1187e7f86708d892a24f2a4f738ef --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/commands/VoltSubCommand.java ++++ b/src/main/java/org/plazmamc/thunderbolt/commands/ThunderboltSubCommand.java @@ -0,0 +1,19 @@ -+package org.plazmamc.volt.commands; ++package org.plazmamc.thunderbolt.commands; + +import org.bukkit.command.CommandSender; +import org.checkerframework.framework.qual.DefaultQualifier; @@ -221,7 +221,7 @@ index 0000000000000000000000000000000000000000..28832f22527ffd770506fbdc27b32eea +import java.util.List; + +@DefaultQualifier(NotNull.class) -+public interface VoltSubCommand { ++public interface ThunderboltSubCommand { + + boolean execute(final CommandSender sender, final String subCommand, final String[] args); + @@ -230,13 +230,13 @@ index 0000000000000000000000000000000000000000..28832f22527ffd770506fbdc27b32eea + } + +} -diff --git a/src/main/java/org/plazmamc/volt/commands/volt/VoltCommand.java b/src/main/java/org/plazmamc/volt/commands/volt/VoltCommand.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/ThunderboltCommand.java b/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/ThunderboltCommand.java new file mode 100644 -index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee008deb271a +index 0000000000000000000000000000000000000000..22f75dfa58f4d84e0d6946c03e7cc78cf5944110 --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/commands/volt/VoltCommand.java ++++ b/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/ThunderboltCommand.java @@ -0,0 +1,119 @@ -+package org.plazmamc.volt.commands.volt; ++package org.plazmamc.thunderbolt.commands.thunderbolt; + +import io.papermc.paper.command.CommandUtil; +import net.kyori.adventure.text.format.NamedTextColor; @@ -250,9 +250,9 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 +import org.checkerframework.framework.qual.DefaultQualifier; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; -+import org.plazmamc.volt.commands.VoltSubCommand; -+import org.plazmamc.volt.commands.volt.subcommand.ReloadCommand; -+import org.plazmamc.volt.commands.volt.subcommand.VersionCommand; ++import org.plazmamc.thunderbolt.commands.ThunderboltSubCommand; ++import org.plazmamc.thunderbolt.commands.thunderbolt.subcommand.ReloadCommand; ++import org.plazmamc.thunderbolt.commands.thunderbolt.subcommand.VersionCommand; + +import java.util.*; +import java.util.stream.Collectors; @@ -260,12 +260,12 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 +import static net.kyori.adventure.text.Component.text; + +@DefaultQualifier(NotNull.class) -+public class VoltCommand extends Command { ++public class ThunderboltCommand extends Command { + -+ private static final String PERMISSION = "bukkit.command.volt"; ++ private static final String PERMISSION = "bukkit.command.thunderbolt"; + -+ private static final Map SUB_COMMANDS = Util.make(() -> { -+ final Map, VoltSubCommand> commands = new HashMap<>() {{ ++ private static final Map SUB_COMMANDS = Util.make(() -> { ++ final Map, ThunderboltSubCommand> commands = new HashMap<>() {{ + put(Set.of("reload"), new ReloadCommand()); + put(Set.of("version"), new VersionCommand()); + }}; @@ -286,7 +286,7 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + }); + -+ public VoltCommand(final String name) { ++ public ThunderboltCommand(final String name) { + super(name); + + final List permissions = new ArrayList<>() {{ @@ -294,8 +294,8 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 + addAll(SUB_COMMANDS.keySet().stream().map(key -> PERMISSION + "." + key).toList()); + }}; + -+ this.description = "Volt related commands"; -+ this.usageMessage = String.format("/volt [%s]", String.join("|", SUB_COMMANDS.keySet())); ++ this.description = "Thunderbolt related commands"; ++ this.usageMessage = String.format("/thunderbolt [%s]", String.join("|", SUB_COMMANDS.keySet())); + this.setPermission(String.join(";", permissions)); + + permissions.forEach(perm -> Bukkit.getServer().getPluginManager().addPermission(new Permission(perm, PermissionDefault.OP))); @@ -310,7 +310,7 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 + return false; + } + -+ final @Nullable Pair subCommand = resolveSubCommand(args[0]); ++ final @Nullable Pair subCommand = resolveSubCommand(args[0]); + + if (subCommand == null) { + sender.sendMessage(text("Usage: " + this.usageMessage, NamedTextColor.RED)); @@ -326,7 +326,7 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 + public List tabComplete(final CommandSender sender, final String aliases, final String[] args) throws IllegalArgumentException { + if (args.length <= 1) return CommandUtil.getListMatchingLast(sender, args, SUB_COMMANDS.keySet()); + -+ final @Nullable Pair subCommand = resolveSubCommand(args[0]); ++ final @Nullable Pair subCommand = resolveSubCommand(args[0]); + + if (subCommand != null) return subCommand.second().tabComplete(sender, subCommand.first(), Arrays.copyOfRange(args, 1, args.length)); + return Collections.emptyList(); @@ -338,9 +338,9 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 + return false; + } + -+ private static @Nullable Pair resolveSubCommand(String label) { ++ private static @Nullable Pair resolveSubCommand(String label) { + label = label.toLowerCase(); -+ @Nullable VoltSubCommand subCommand = SUB_COMMANDS.get(label); ++ @Nullable ThunderboltSubCommand subCommand = SUB_COMMANDS.get(label); + + if (subCommand == null) { + final @Nullable String command = ALIASES.get(label); @@ -355,13 +355,13 @@ index 0000000000000000000000000000000000000000..92de73a92e936a54451585d3e82dee00 + } + +} -diff --git a/src/main/java/org/plazmamc/volt/commands/volt/subcommand/ReloadCommand.java b/src/main/java/org/plazmamc/volt/commands/volt/subcommand/ReloadCommand.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/subcommand/ReloadCommand.java b/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/subcommand/ReloadCommand.java new file mode 100644 -index 0000000000000000000000000000000000000000..849d337d2d48a945ee382eaeb51e29768a2b82dd +index 0000000000000000000000000000000000000000..7ed807f6e14ec2e403edd07120a705437dd31ce8 --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/commands/volt/subcommand/ReloadCommand.java ++++ b/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/subcommand/ReloadCommand.java @@ -0,0 +1,34 @@ -+package org.plazmamc.volt.commands.volt.subcommand; ++package org.plazmamc.thunderbolt.commands.thunderbolt.subcommand; + +import net.kyori.adventure.text.format.NamedTextColor; +import net.minecraft.server.MinecraftServer; @@ -370,12 +370,12 @@ index 0000000000000000000000000000000000000000..849d337d2d48a945ee382eaeb51e2976 +import org.bukkit.craftbukkit.CraftServer; +import org.checkerframework.framework.qual.DefaultQualifier; +import org.jetbrains.annotations.NotNull; -+import org.plazmamc.volt.commands.VoltSubCommand; ++import org.plazmamc.thunderbolt.commands.ThunderboltSubCommand; + +import static net.kyori.adventure.text.Component.text; + +@DefaultQualifier(NotNull.class) -+public class ReloadCommand implements VoltSubCommand { ++public class ReloadCommand implements ThunderboltSubCommand { + + @Override + public boolean execute(final CommandSender sender, final String subCommand, final String[] args) { @@ -388,20 +388,20 @@ index 0000000000000000000000000000000000000000..849d337d2d48a945ee382eaeb51e2976 + Command.broadcastCommandMessage(sender, text("If you encounter any issues please use the /stop command to restart your server.", NamedTextColor.RED)); + + MinecraftServer server = ((CraftServer) sender.getServer()).getServer(); -+ server.voltConfigurations.reloadConfigs(server); ++ server.thunderboltConfigurations.reloadConfigs(server); + server.server.reloadCount++; + + Command.broadcastCommandMessage(sender, text("Successfully reloaded Plazma configuration files.", NamedTextColor.GREEN)); + } + +} -diff --git a/src/main/java/org/plazmamc/volt/commands/volt/subcommand/VersionCommand.java b/src/main/java/org/plazmamc/volt/commands/volt/subcommand/VersionCommand.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/subcommand/VersionCommand.java b/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/subcommand/VersionCommand.java new file mode 100644 -index 0000000000000000000000000000000000000000..633127d196bdbfd0d98c78046fb2c7b1cca2aefa +index 0000000000000000000000000000000000000000..8be10cd0440760889116ddac7667f97f205acfe9 --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/commands/volt/subcommand/VersionCommand.java ++++ b/src/main/java/org/plazmamc/thunderbolt/commands/thunderbolt/subcommand/VersionCommand.java @@ -0,0 +1,21 @@ -+package org.plazmamc.volt.commands.volt.subcommand; ++package org.plazmamc.thunderbolt.commands.thunderbolt.subcommand; + +import net.minecraft.server.MinecraftServer; +import org.bukkit.command.Command; @@ -409,10 +409,10 @@ index 0000000000000000000000000000000000000000..633127d196bdbfd0d98c78046fb2c7b1 +import org.checkerframework.framework.qual.DefaultQualifier; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; -+import org.plazmamc.volt.commands.VoltSubCommand; ++import org.plazmamc.thunderbolt.commands.ThunderboltSubCommand; + +@DefaultQualifier(NotNull.class) -+public class VersionCommand implements VoltSubCommand { ++public class VersionCommand implements ThunderboltSubCommand { + + @Override + public boolean execute(final CommandSender sender, final String subCommand, final String[] args) { @@ -422,13 +422,13 @@ index 0000000000000000000000000000000000000000..633127d196bdbfd0d98c78046fb2c7b1 + } + +} -diff --git a/src/main/java/org/plazmamc/volt/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/volt/configurations/GlobalConfiguration.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/thunderbolt/configurations/GlobalConfiguration.java new file mode 100644 -index 0000000000000000000000000000000000000000..6f3cf61b85b92c8b9783323a98140e8d2fbc3307 +index 0000000000000000000000000000000000000000..7c754de820055f8d79fbbf16f9bdac4baf3120d6 --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/configurations/GlobalConfiguration.java ++++ b/src/main/java/org/plazmamc/thunderbolt/configurations/GlobalConfiguration.java @@ -0,0 +1,26 @@ -+package org.plazmamc.volt.configurations; ++package org.plazmamc.thunderbolt.configurations; + +import io.papermc.paper.configuration.Configuration; +import io.papermc.paper.configuration.ConfigurationPart; @@ -454,13 +454,13 @@ index 0000000000000000000000000000000000000000..6f3cf61b85b92c8b9783323a98140e8d + int version = VERSION; + +} -diff --git a/src/main/java/org/plazmamc/volt/configurations/RemovedConfigurations.java b/src/main/java/org/plazmamc/volt/configurations/RemovedConfigurations.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/configurations/RemovedConfigurations.java b/src/main/java/org/plazmamc/thunderbolt/configurations/RemovedConfigurations.java new file mode 100644 -index 0000000000000000000000000000000000000000..4dd948fe3c71675e6bbe95f412d265af484028df +index 0000000000000000000000000000000000000000..1d4afff273484b08d340e7b8d80e031325a76945 --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/configurations/RemovedConfigurations.java ++++ b/src/main/java/org/plazmamc/thunderbolt/configurations/RemovedConfigurations.java @@ -0,0 +1,13 @@ -+package org.plazmamc.volt.configurations; ++package org.plazmamc.thunderbolt.configurations; + +import org.spongepowered.configurate.NodePath; + @@ -473,13 +473,13 @@ index 0000000000000000000000000000000000000000..4dd948fe3c71675e6bbe95f412d265af + }; + +} -diff --git a/src/main/java/org/plazmamc/volt/configurations/VoltConfigurations.java b/src/main/java/org/plazmamc/volt/configurations/VoltConfigurations.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/configurations/ThunderboltConfigurations.java b/src/main/java/org/plazmamc/thunderbolt/configurations/ThunderboltConfigurations.java new file mode 100644 -index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fbafd40e72 +index 0000000000000000000000000000000000000000..7a3491429229651dfab22984af481a4274849afc --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/configurations/VoltConfigurations.java ++++ b/src/main/java/org/plazmamc/thunderbolt/configurations/ThunderboltConfigurations.java @@ -0,0 +1,206 @@ -+package org.plazmamc.volt.configurations; ++package org.plazmamc.thunderbolt.configurations; + +import com.mojang.logging.LogUtils; +import io.papermc.paper.configuration.ConfigurationPart; @@ -504,17 +504,17 @@ index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fb +import static io.leangen.geantyref.GenericTypeReflector.erase; + +@DefaultQualifier(NotNull.class) -+public class VoltConfigurations extends Configurations { ++public class ThunderboltConfigurations extends Configurations { + + public static final String CONFIG_DIR = "config"; + static final Logger LOGGER = LogUtils.getLogger(); -+ static final String GLOBAL_CONFIG_FILE_NAME = "volt_global.yaml"; -+ static final String WORLD_DEFAULT_CONFIG_FILE_NAME = "volt_worlds.yaml"; -+ static final String WORLD_CONFIG_FILE_NAME = "volt_configurations.yaml"; ++ static final String GLOBAL_CONFIG_FILE_NAME = "thunderbolt_global.yaml"; ++ static final String WORLD_DEFAULT_CONFIG_FILE_NAME = "thunderbolt_worlds.yaml"; ++ static final String WORLD_CONFIG_FILE_NAME = "thunderbolt_configurations.yaml"; + + private static final String HEADER_START = """ + ### ENGLISH ### -+ Volt is a template project that helps you fork your Plazma easily. ++ Thunderbolt is a template project that helps you fork your Plazma easily. + This software is not suitable for use as a regular server. If you + are not a fork developer, and you just want to run a server, + please use Plazma. @@ -522,14 +522,14 @@ index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fb + %s + + ### KOREAN ### -+ Volt는 Plazma를 쉽게 포크할 수 있도록 도와주는 템플릿 프로젝트입니다. ++ Thunderbolt는 Plazma를 쉽게 포크할 수 있도록 도와주는 템플릿 프로젝트입니다. + 이 소프트웨어는 일반 서버로 사용하기 적합하지 않습니다. 당신이 포크 + 개발자가 아니고, 단지 서버를 운영하고 싶다면, Plazma를 사용해 주십시오. + + %s + -+ GitHub: https://github.com/PlazmaMC/Volt -+ Development Guide: https://github.com/PlazmaMC/Volt/wiki ++ GitHub: https://github.com/PlazmaMC/Thunderbolt ++ Development Guide: https://github.com/PlazmaMC/Thunderbolt/wiki + + Download Plazma: https://github.com/PlazmaMC/PlazmaBukkit?tab=readme-ov-file#️-downloads + Discord: https://plazmamc.org/discord @@ -541,14 +541,14 @@ index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fb + These are values that apply to the **entire server** regardless of + the world. However, you must take advantage of the system properties + in order for the server to be able to modify the values before -+ loading the configuration. See org.plazmamc.volt.Options class for ++ loading the configuration. See org.plazmamc.thunderbolt.Options class for + development of system properties. + """, """ + 아래에는 GlobalConfiguration.java에 설정된 여러 템플릿 값들이 있습니다. + 구성이 적용되는 여러 방법은 해당 클래스를 참고하세요. + 이 값들은 월드에 관계 없이 **서버 전체**에 적용되는 값들입니다. 다만, 서버가 구성을 + 로드하기 전의 값을 수정할 수 있게 만드려면, 시스템 속성을 이용해야 합니다. -+ 시스템 속성에 대한 개발은 org.plazmamc.volt.Options 클래스를 참고하세요. ++ 시스템 속성에 대한 개발은 org.plazmamc.thunderbolt.Options 클래스를 참고하세요. + """ + ); + @@ -570,12 +570,12 @@ index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fb + + private static final Function WORLD_HEADER = map -> """ + ### ENGLISH ### -+ This file is a Volt configuration file for %s (%s) world only. ++ This file is a Thunderbolt configuration file for %s (%s) world only. + This file is empty in its initial state, but you can populate the + values set in the %s file to override them. + + ### KOREAN ### -+ 본 파일은 %s (%s) 월드 전용 Volt 구성 파일입니다. ++ 본 파일은 %s (%s) 월드 전용 Thunderbolt 구성 파일입니다. + 이 파일은 초기 상태에는 비어있지만, %s 파일에 설정된 값을 덮어쓰기 위해 값을 채워 + 넣을 수 있습니다. + """.formatted( @@ -583,7 +583,7 @@ index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fb + map.require(WORLD_NAME), map.require(WORLD_KEY), WORLD_CONFIG_FILE_NAME + ); + -+ public VoltConfigurations(final Path globalFolder) { ++ public ThunderboltConfigurations(final Path globalFolder) { + super(globalFolder); + } + @@ -655,7 +655,7 @@ index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fb + @Override + protected YamlConfigurationLoader.Builder createGlobalLoaderBuilder() { + return super.createGlobalLoaderBuilder() -+ .defaultOptions(VoltConfigurations::defaultGlobalOptions); ++ .defaultOptions(ThunderboltConfigurations::defaultGlobalOptions); + } + + @Override @@ -685,13 +685,13 @@ index 0000000000000000000000000000000000000000..f580c8cbe6d6e009fb7ac767e50b56fb + } + +} -diff --git a/src/main/java/org/plazmamc/volt/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/volt/configurations/WorldConfigurations.java +diff --git a/src/main/java/org/plazmamc/thunderbolt/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/thunderbolt/configurations/WorldConfigurations.java new file mode 100644 -index 0000000000000000000000000000000000000000..ecbc1118b7c7fe6463f612a7a9f0f699af959122 +index 0000000000000000000000000000000000000000..4a8bff4b6e42c3fa49758520e743dc65fe79e2cc --- /dev/null -+++ b/src/main/java/org/plazmamc/volt/configurations/WorldConfigurations.java ++++ b/src/main/java/org/plazmamc/thunderbolt/configurations/WorldConfigurations.java @@ -0,0 +1,23 @@ -+package org.plazmamc.volt.configurations; ++package org.plazmamc.thunderbolt.configurations; + +import io.papermc.paper.configuration.Configuration; +import io.papermc.paper.configuration.ConfigurationPart; @@ -715,24 +715,24 @@ index 0000000000000000000000000000000000000000..ecbc1118b7c7fe6463f612a7a9f0f699 + +} diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java -index ed88464eef3eea8b8d7432e869cdf8100d8c54dc..26ba40071fe88cf97abd4492110f87c30a0c57b0 100644 +index ed88464eef3eea8b8d7432e869cdf8100d8c54dc..cf0f05462248defb799a7eb107363375da373054 100644 --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java @@ -64,6 +64,7 @@ public abstract class AbstractTestingBase { DummyServer.setup(); io.papermc.paper.configuration.GlobalConfigTestingBase.setupGlobalConfigForTest(); // Paper org.plazmamc.plazma.configurations.GlobalConfigurationTestingBase.setupGlobalConfigForTest(); // Plazma - Configurable Plazma -+ org.plazmamc.volt.configurations.GlobalConfigurationTestingBase.setupGlobalConfigurationForTesting(); // Volt - Add Volt configurations ++ org.plazmamc.thunderbolt.configurations.GlobalConfigurationTestingBase.setupGlobalConfigurationForTesting(); // Thunderbolt - Add Thunderbolt configurations CraftRegistry.setMinecraftRegistry(REGISTRY_CUSTOM); -diff --git a/src/test/java/org/plazmamc/volt/configurations/GlobalConfigurationTestingBase.java b/src/test/java/org/plazmamc/volt/configurations/GlobalConfigurationTestingBase.java +diff --git a/src/test/java/org/plazmamc/thunderbolt/configurations/GlobalConfigurationTestingBase.java b/src/test/java/org/plazmamc/thunderbolt/configurations/GlobalConfigurationTestingBase.java new file mode 100644 -index 0000000000000000000000000000000000000000..71d8bf545a3e83955eb9d4aef493a4b81c92fc17 +index 0000000000000000000000000000000000000000..682089f155c75b0c106c3516f053fde7787b400c --- /dev/null -+++ b/src/test/java/org/plazmamc/volt/configurations/GlobalConfigurationTestingBase.java ++++ b/src/test/java/org/plazmamc/thunderbolt/configurations/GlobalConfigurationTestingBase.java @@ -0,0 +1,17 @@ -+package org.plazmamc.volt.configurations; ++package org.plazmamc.thunderbolt.configurations; + +import org.spongepowered.configurate.ConfigurationNode; + @@ -740,7 +740,7 @@ index 0000000000000000000000000000000000000000..71d8bf545a3e83955eb9d4aef493a4b8 + + public static void setupGlobalConfigurationForTesting() { + if (GlobalConfiguration.get() != null) return; -+ ConfigurationNode node = VoltConfigurations.createForTesting(); ++ ConfigurationNode node = ThunderboltConfigurations.createForTesting(); + try { + GlobalConfiguration.set(node.require(GlobalConfiguration.class)); + } catch (Exception e) { diff --git a/patches/server/0003-Add-example-configuration-fields.patch b/patches/server/0003-Add-example-configuration-fields.patch deleted file mode 100644 index cb7983c..0000000 --- a/patches/server/0003-Add-example-configuration-fields.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Alpha -Date: Sun, 25 Feb 2024 18:41:14 +0900 -Subject: [PATCH] Add example configuration fields - - -diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 7c2403fc154664b1a3f92dbbecbc3f7009e5b7a4..861577f684473cc059c47f3ce4742aa4f1238bca 100644 ---- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -80,6 +80,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface - private MinecraftServerGui gui; - @Nullable - private final TextFilterClient textFilterClient; -+ public static String helloWorldMessage = "Hello, world!"; // Volt - Example configuration - - // CraftBukkit start - Signature changed - public DedicatedServer(joptsimple.OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, DedicatedServerSettings dedicatedserversettings, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { -@@ -387,6 +388,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface - if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) mobSpawnExecutor.start(); // Pufferfish - org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur - if (org.purpurmc.purpur.PurpurConfig.beeCountPayload) org.purpurmc.purpur.task.BeehiveTask.instance().register(); // Purpur -+ if (org.plazmamc.volt.configurations.GlobalConfiguration.get().example.helloWorld) logger.info(helloWorldMessage); // Volt - Example Configuration - Use the get() function to import fields in GlobalConfiguration. - return true; - } - } -diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0250b9a90e62ca5a9a7172f6e1012e89514fd6e6..6ed3f86ce33fd5a9c820980230929fbaf473eb61 100644 ---- a/src/main/java/net/minecraft/server/players/PlayerList.java -+++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -424,6 +424,7 @@ public abstract class PlayerList { - ); - } - // Paper end - Send empty chunk -+ player.sendMessage(net.kyori.adventure.text.Component.text(player.level().voltConfig().playerWelcome.welcomeMessage)); // Volt - Example Config - The WorldConfigurations fetches fields through the getter of the level instance. - } - private void mountSavedVehicle(ServerPlayer player, ServerLevel worldserver1, CompoundTag nbttagcompound) { - // Paper end - Fire PlayerJoinEvent when Player is actually ready -diff --git a/src/main/java/org/plazmamc/volt/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/volt/configurations/GlobalConfiguration.java -index 6f3cf61b85b92c8b9783323a98140e8d2fbc3307..c1172de50863e2fb7f1185d2a49aeccdac59bec2 100644 ---- a/src/main/java/org/plazmamc/volt/configurations/GlobalConfiguration.java -+++ b/src/main/java/org/plazmamc/volt/configurations/GlobalConfiguration.java -@@ -23,4 +23,29 @@ public class GlobalConfiguration extends ConfigurationPart { - @Setting(Configuration.VERSION_FIELD) - int version = VERSION; - -+ /* -+ @Settings(String) annotation is used to set the name of a field in a configuration file. -+ Not required; use the name of the variable if annotation is not used. -+ */ -+ @Setting("example-config") -+ public ExampleConfiguration example; // You must create a class instance to obtain fields through the configuration getter. -+ public class ExampleConfiguration extends ConfigurationPart { -+ -+ public boolean helloWorld = true; // The configuration fields are automatically created when you create variables without any settings. -+ -+ // This allows you to create a node tree. (In this case example.welcome) -+ public HelloWorld welcome; -+ public class HelloWorld extends ConfigurationPart { -+ -+ public String message = "Hello, world!"; -+ -+ @PostProcess // @PostProcess annotation allows you to set variables in a class immediately without using getter. -+ void postProcess() { -+ net.minecraft.server.dedicated.DedicatedServer.helloWorldMessage = this.message; -+ } -+ -+ } -+ -+ } -+ - } -diff --git a/src/main/java/org/plazmamc/volt/configurations/WorldConfigurations.java b/src/main/java/org/plazmamc/volt/configurations/WorldConfigurations.java -index ecbc1118b7c7fe6463f612a7a9f0f699af959122..16e26702d185b32f8e85971d7e30bafc0fde0f9b 100644 ---- a/src/main/java/org/plazmamc/volt/configurations/WorldConfigurations.java -+++ b/src/main/java/org/plazmamc/volt/configurations/WorldConfigurations.java -@@ -20,4 +20,12 @@ public class WorldConfigurations extends ConfigurationPart { - @Setting(Configuration.VERSION_FIELD) - int version = VERSION; - -+ // For basic information about configuration development, see GlobalConfiguration.java. -+ public PlayerWelcome playerWelcome; -+ public class PlayerWelcome extends ConfigurationPart { -+ -+ public String welcomeMessage = "Welcome to the server!"; -+ -+ } -+ - } diff --git a/settings.gradle.kts b/settings.gradle.kts index 4bdb11f..3a557d3 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -11,23 +11,21 @@ plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.4.0" } -// Volt start - Remove this if (!file(".git").exists()) { val errorText = """ =====================[ ERROR ]===================== - The Volt project directory is not a properly cloned Git repository. + The Thunderbolt project directory is not a properly cloned Git repository. - In order to build Volt from source you must clone + In order to build Thunderbolt from source you must clone the repository using Git, not download a code zip from GitHub. See https://github.com/PaperMC/Paper/blob/master/CONTRIBUTING.md - for further information on building and modifying Volt. + for further information on building and modifying Thunderbolt. =================================================== """.trimIndent() error(errorText) } -// Volt end - Remove this if (file("libs").exists()) { dependencyResolutionManagement { @@ -45,8 +43,8 @@ if (file("libs").exists()) { } } -rootProject.name = "volt" // Volt - Change this -for (name in listOf("Volt-API", "Volt-Server", "paper-api-generator")) { // Volt - Change this +rootProject.name = "thunderbolt" +for (name in listOf("Thunderbolt-API", "Thunderbolt-Server", "paper-api-generator")) { val projName = name.lowercase(Locale.ENGLISH) include(projName) findProject(":$projName")!!.projectDir = file(name)