diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000000..7bccb03f628
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,50 @@
+name: Build and Upload Jar
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ build:
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+
+ - name: Setup Java
+ uses: actions/setup-java@v3
+ with:
+ java-version: '21'
+ distribution: 'temurin'
+
+ - name: Grant execute permission to script
+ run: bash -c "chmod +x script.sh"
+
+ - name: Update upstream and apply patches
+ shell: bash
+ run: |
+ git config --global user.email "action@github.com"
+ git config --global user.name "Action Github"
+ ./script.sh updateUpstream
+ ./script.sh applyPatches
+
+ - name: Setup Gradle
+ uses: gradle/gradle-build-action@v3
+
+ - name: Build
+ shell: bash
+ run: |
+ cd Essentials-Patchs
+ ./gradlew build --stacktrace
+
+ - name: Archive plugin jars on GitHub
+ uses: actions/upload-artifact@v4
+ with:
+ name: EssentialsX plugin jars
+ path: Essentials-Patchs/jars/
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000000..be9bf8ad2d1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*-Patchs/
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000000..12eb9dc2ca0
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "Essentials"]
+ path = Essentials
+ url = https://github.com/EssentialsX/Essentials
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000000..26d33521af1
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/EssentialsX-Folia.iml b/.idea/EssentialsX-Folia.iml
new file mode 100644
index 00000000000..d6ebd480598
--- /dev/null
+++ b/.idea/EssentialsX-Folia.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 00000000000..41a2c2a4bad
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,79 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 00000000000..3212d2d50b8
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
new file mode 100644
index 00000000000..e805548aaa8
--- /dev/null
+++ b/.idea/kotlinc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000000..2937a8bc87f
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000000..74182ce4032
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/Essentials/EssentialsXParent.EssentialsX.main.iml b/.idea/modules/Essentials/EssentialsXParent.EssentialsX.main.iml
new file mode 100644
index 00000000000..ad4210008fe
--- /dev/null
+++ b/.idea/modules/Essentials/EssentialsXParent.EssentialsX.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ SPIGOT
+ ADVENTURE
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/Essentials/EssentialsXParent.EssentialsX.test.iml b/.idea/modules/Essentials/EssentialsXParent.EssentialsX.test.iml
new file mode 100644
index 00000000000..ad4210008fe
--- /dev/null
+++ b/.idea/modules/Essentials/EssentialsXParent.EssentialsX.test.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ SPIGOT
+ ADVENTURE
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/Essentials/net.essentialsx.EssentialsXParent.EssentialsX.main.iml b/.idea/modules/Essentials/net.essentialsx.EssentialsXParent.EssentialsX.main.iml
new file mode 100644
index 00000000000..ad4210008fe
--- /dev/null
+++ b/.idea/modules/Essentials/net.essentialsx.EssentialsXParent.EssentialsX.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ SPIGOT
+ ADVENTURE
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/Essentials/net.essentialsx.EssentialsXParent.EssentialsX.test.iml b/.idea/modules/Essentials/net.essentialsx.EssentialsXParent.EssentialsX.test.iml
new file mode 100644
index 00000000000..ad4210008fe
--- /dev/null
+++ b/.idea/modules/Essentials/net.essentialsx.EssentialsXParent.EssentialsX.test.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ SPIGOT
+ ADVENTURE
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsAntiBuild/EssentialsXParent.EssentialsXAntiBuild.main.iml b/.idea/modules/EssentialsAntiBuild/EssentialsXParent.EssentialsXAntiBuild.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsAntiBuild/EssentialsXParent.EssentialsXAntiBuild.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsAntiBuild/EssentialsXParent.EssentialsXAntiBuild.test.iml b/.idea/modules/EssentialsAntiBuild/EssentialsXParent.EssentialsXAntiBuild.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsAntiBuild/EssentialsXParent.EssentialsXAntiBuild.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsAntiBuild/net.essentialsx.EssentialsXParent.EssentialsXAntiBuild.main.iml b/.idea/modules/EssentialsAntiBuild/net.essentialsx.EssentialsXParent.EssentialsXAntiBuild.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsAntiBuild/net.essentialsx.EssentialsXParent.EssentialsXAntiBuild.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsAntiBuild/net.essentialsx.EssentialsXParent.EssentialsXAntiBuild.test.iml b/.idea/modules/EssentialsAntiBuild/net.essentialsx.EssentialsXParent.EssentialsXAntiBuild.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsAntiBuild/net.essentialsx.EssentialsXParent.EssentialsXAntiBuild.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsChat/EssentialsXParent.EssentialsXChat.main.iml b/.idea/modules/EssentialsChat/EssentialsXParent.EssentialsXChat.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsChat/EssentialsXParent.EssentialsXChat.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsChat/EssentialsXParent.EssentialsXChat.test.iml b/.idea/modules/EssentialsChat/EssentialsXParent.EssentialsXChat.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsChat/EssentialsXParent.EssentialsXChat.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsChat/net.essentialsx.EssentialsXParent.EssentialsXChat.main.iml b/.idea/modules/EssentialsChat/net.essentialsx.EssentialsXParent.EssentialsXChat.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsChat/net.essentialsx.EssentialsXParent.EssentialsXChat.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsChat/net.essentialsx.EssentialsXParent.EssentialsXChat.test.iml b/.idea/modules/EssentialsChat/net.essentialsx.EssentialsXParent.EssentialsXChat.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsChat/net.essentialsx.EssentialsXParent.EssentialsXChat.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscord/EssentialsXParent.EssentialsXDiscord.main.iml b/.idea/modules/EssentialsDiscord/EssentialsXParent.EssentialsXDiscord.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscord/EssentialsXParent.EssentialsXDiscord.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscord/EssentialsXParent.EssentialsXDiscord.test.iml b/.idea/modules/EssentialsDiscord/EssentialsXParent.EssentialsXDiscord.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscord/EssentialsXParent.EssentialsXDiscord.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscord/net.essentialsx.EssentialsXParent.EssentialsXDiscord.main.iml b/.idea/modules/EssentialsDiscord/net.essentialsx.EssentialsXParent.EssentialsXDiscord.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscord/net.essentialsx.EssentialsXParent.EssentialsXDiscord.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscord/net.essentialsx.EssentialsXParent.EssentialsXDiscord.test.iml b/.idea/modules/EssentialsDiscord/net.essentialsx.EssentialsXParent.EssentialsXDiscord.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscord/net.essentialsx.EssentialsXParent.EssentialsXDiscord.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscordLink/EssentialsXParent.EssentialsXDiscordLink.main.iml b/.idea/modules/EssentialsDiscordLink/EssentialsXParent.EssentialsXDiscordLink.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscordLink/EssentialsXParent.EssentialsXDiscordLink.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscordLink/EssentialsXParent.EssentialsXDiscordLink.test.iml b/.idea/modules/EssentialsDiscordLink/EssentialsXParent.EssentialsXDiscordLink.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscordLink/EssentialsXParent.EssentialsXDiscordLink.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscordLink/net.essentialsx.EssentialsXParent.EssentialsXDiscordLink.main.iml b/.idea/modules/EssentialsDiscordLink/net.essentialsx.EssentialsXParent.EssentialsXDiscordLink.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscordLink/net.essentialsx.EssentialsXParent.EssentialsXDiscordLink.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsDiscordLink/net.essentialsx.EssentialsXParent.EssentialsXDiscordLink.test.iml b/.idea/modules/EssentialsDiscordLink/net.essentialsx.EssentialsXParent.EssentialsXDiscordLink.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsDiscordLink/net.essentialsx.EssentialsXParent.EssentialsXDiscordLink.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsGeoIP/EssentialsXParent.EssentialsXGeoIP.main.iml b/.idea/modules/EssentialsGeoIP/EssentialsXParent.EssentialsXGeoIP.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsGeoIP/EssentialsXParent.EssentialsXGeoIP.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsGeoIP/EssentialsXParent.EssentialsXGeoIP.test.iml b/.idea/modules/EssentialsGeoIP/EssentialsXParent.EssentialsXGeoIP.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsGeoIP/EssentialsXParent.EssentialsXGeoIP.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsGeoIP/net.essentialsx.EssentialsXParent.EssentialsXGeoIP.main.iml b/.idea/modules/EssentialsGeoIP/net.essentialsx.EssentialsXParent.EssentialsXGeoIP.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsGeoIP/net.essentialsx.EssentialsXParent.EssentialsXGeoIP.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsGeoIP/net.essentialsx.EssentialsXParent.EssentialsXGeoIP.test.iml b/.idea/modules/EssentialsGeoIP/net.essentialsx.EssentialsXParent.EssentialsXGeoIP.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsGeoIP/net.essentialsx.EssentialsXParent.EssentialsXGeoIP.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsProtect/EssentialsXParent.EssentialsXProtect.main.iml b/.idea/modules/EssentialsProtect/EssentialsXParent.EssentialsXProtect.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsProtect/EssentialsXParent.EssentialsXProtect.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsProtect/EssentialsXParent.EssentialsXProtect.test.iml b/.idea/modules/EssentialsProtect/EssentialsXParent.EssentialsXProtect.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsProtect/EssentialsXParent.EssentialsXProtect.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsProtect/net.essentialsx.EssentialsXParent.EssentialsXProtect.main.iml b/.idea/modules/EssentialsProtect/net.essentialsx.EssentialsXParent.EssentialsXProtect.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsProtect/net.essentialsx.EssentialsXParent.EssentialsXProtect.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsProtect/net.essentialsx.EssentialsXParent.EssentialsXProtect.test.iml b/.idea/modules/EssentialsProtect/net.essentialsx.EssentialsXParent.EssentialsXProtect.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsProtect/net.essentialsx.EssentialsXParent.EssentialsXProtect.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsSpawn/EssentialsXParent.EssentialsXSpawn.main.iml b/.idea/modules/EssentialsSpawn/EssentialsXParent.EssentialsXSpawn.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsSpawn/EssentialsXParent.EssentialsXSpawn.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsSpawn/EssentialsXParent.EssentialsXSpawn.test.iml b/.idea/modules/EssentialsSpawn/EssentialsXParent.EssentialsXSpawn.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsSpawn/EssentialsXParent.EssentialsXSpawn.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsSpawn/net.essentialsx.EssentialsXParent.EssentialsXSpawn.main.iml b/.idea/modules/EssentialsSpawn/net.essentialsx.EssentialsXParent.EssentialsXSpawn.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsSpawn/net.essentialsx.EssentialsXParent.EssentialsXSpawn.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsSpawn/net.essentialsx.EssentialsXParent.EssentialsXSpawn.test.iml b/.idea/modules/EssentialsSpawn/net.essentialsx.EssentialsXParent.EssentialsXSpawn.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsSpawn/net.essentialsx.EssentialsXParent.EssentialsXSpawn.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsXMPP/EssentialsXParent.EssentialsXXMPP.main.iml b/.idea/modules/EssentialsXMPP/EssentialsXParent.EssentialsXXMPP.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsXMPP/EssentialsXParent.EssentialsXXMPP.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsXMPP/EssentialsXParent.EssentialsXXMPP.test.iml b/.idea/modules/EssentialsXMPP/EssentialsXParent.EssentialsXXMPP.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsXMPP/EssentialsXParent.EssentialsXXMPP.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsXMPP/net.essentialsx.EssentialsXParent.EssentialsXXMPP.main.iml b/.idea/modules/EssentialsXMPP/net.essentialsx.EssentialsXParent.EssentialsXXMPP.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsXMPP/net.essentialsx.EssentialsXParent.EssentialsXXMPP.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/EssentialsXMPP/net.essentialsx.EssentialsXParent.EssentialsXXMPP.test.iml b/.idea/modules/EssentialsXMPP/net.essentialsx.EssentialsXParent.EssentialsXXMPP.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/EssentialsXMPP/net.essentialsx.EssentialsXParent.EssentialsXXMPP.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_12Provider/EssentialsXParent.providers.1_12Provider.main.iml b/.idea/modules/providers/1_12Provider/EssentialsXParent.providers.1_12Provider.main.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/1_12Provider/EssentialsXParent.providers.1_12Provider.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_12Provider/EssentialsXParent.providers.1_12Provider.test.iml b/.idea/modules/providers/1_12Provider/EssentialsXParent.providers.1_12Provider.test.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/1_12Provider/EssentialsXParent.providers.1_12Provider.test.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_12Provider/net.essentialsx.EssentialsXParent.providers.1_12Provider.main.iml b/.idea/modules/providers/1_12Provider/net.essentialsx.EssentialsXParent.providers.1_12Provider.main.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/1_12Provider/net.essentialsx.EssentialsXParent.providers.1_12Provider.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_12Provider/net.essentialsx.EssentialsXParent.providers.1_12Provider.test.iml b/.idea/modules/providers/1_12Provider/net.essentialsx.EssentialsXParent.providers.1_12Provider.test.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/1_12Provider/net.essentialsx.EssentialsXParent.providers.1_12Provider.test.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_8Provider/EssentialsXParent.providers.1_8Provider.main.iml b/.idea/modules/providers/1_8Provider/EssentialsXParent.providers.1_8Provider.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/1_8Provider/EssentialsXParent.providers.1_8Provider.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_8Provider/EssentialsXParent.providers.1_8Provider.test.iml b/.idea/modules/providers/1_8Provider/EssentialsXParent.providers.1_8Provider.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/1_8Provider/EssentialsXParent.providers.1_8Provider.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_8Provider/net.essentialsx.EssentialsXParent.providers.1_8Provider.main.iml b/.idea/modules/providers/1_8Provider/net.essentialsx.EssentialsXParent.providers.1_8Provider.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/1_8Provider/net.essentialsx.EssentialsXParent.providers.1_8Provider.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/1_8Provider/net.essentialsx.EssentialsXParent.providers.1_8Provider.test.iml b/.idea/modules/providers/1_8Provider/net.essentialsx.EssentialsXParent.providers.1_8Provider.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/1_8Provider/net.essentialsx.EssentialsXParent.providers.1_8Provider.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/BaseProviders/EssentialsXParent.providers.BaseProviders.main.iml b/.idea/modules/providers/BaseProviders/EssentialsXParent.providers.BaseProviders.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/BaseProviders/EssentialsXParent.providers.BaseProviders.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/BaseProviders/EssentialsXParent.providers.BaseProviders.test.iml b/.idea/modules/providers/BaseProviders/EssentialsXParent.providers.BaseProviders.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/BaseProviders/EssentialsXParent.providers.BaseProviders.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/BaseProviders/net.essentialsx.EssentialsXParent.providers.BaseProviders.main.iml b/.idea/modules/providers/BaseProviders/net.essentialsx.EssentialsXParent.providers.BaseProviders.main.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/BaseProviders/net.essentialsx.EssentialsXParent.providers.BaseProviders.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/BaseProviders/net.essentialsx.EssentialsXParent.providers.BaseProviders.test.iml b/.idea/modules/providers/BaseProviders/net.essentialsx.EssentialsXParent.providers.BaseProviders.test.iml
new file mode 100644
index 00000000000..a589521a960
--- /dev/null
+++ b/.idea/modules/providers/BaseProviders/net.essentialsx.EssentialsXParent.providers.BaseProviders.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/NMSReflectionProvider/EssentialsXParent.providers.NMSReflectionProvider.main.iml b/.idea/modules/providers/NMSReflectionProvider/EssentialsXParent.providers.NMSReflectionProvider.main.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/NMSReflectionProvider/EssentialsXParent.providers.NMSReflectionProvider.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/NMSReflectionProvider/EssentialsXParent.providers.NMSReflectionProvider.test.iml b/.idea/modules/providers/NMSReflectionProvider/EssentialsXParent.providers.NMSReflectionProvider.test.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/NMSReflectionProvider/EssentialsXParent.providers.NMSReflectionProvider.test.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/NMSReflectionProvider/net.essentialsx.EssentialsXParent.providers.NMSReflectionProvider.main.iml b/.idea/modules/providers/NMSReflectionProvider/net.essentialsx.EssentialsXParent.providers.NMSReflectionProvider.main.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/NMSReflectionProvider/net.essentialsx.EssentialsXParent.providers.NMSReflectionProvider.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/NMSReflectionProvider/net.essentialsx.EssentialsXParent.providers.NMSReflectionProvider.test.iml b/.idea/modules/providers/NMSReflectionProvider/net.essentialsx.EssentialsXParent.providers.NMSReflectionProvider.test.iml
new file mode 100644
index 00000000000..590e5974af8
--- /dev/null
+++ b/.idea/modules/providers/NMSReflectionProvider/net.essentialsx.EssentialsXParent.providers.NMSReflectionProvider.test.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ BUKKIT
+ SPIGOT
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/PaperProvider/EssentialsXParent.providers.PaperProvider.main.iml b/.idea/modules/providers/PaperProvider/EssentialsXParent.providers.PaperProvider.main.iml
new file mode 100644
index 00000000000..bbeeb3ec063
--- /dev/null
+++ b/.idea/modules/providers/PaperProvider/EssentialsXParent.providers.PaperProvider.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ PAPER
+ ADVENTURE
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/providers/PaperProvider/net.essentialsx.EssentialsXParent.providers.PaperProvider.main.iml b/.idea/modules/providers/PaperProvider/net.essentialsx.EssentialsXParent.providers.PaperProvider.main.iml
new file mode 100644
index 00000000000..bbeeb3ec063
--- /dev/null
+++ b/.idea/modules/providers/PaperProvider/net.essentialsx.EssentialsXParent.providers.PaperProvider.main.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ PAPER
+ ADVENTURE
+
+ 1
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000000..71edffc2f0c
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Essentials b/Essentials
new file mode 160000
index 00000000000..33e086ff05e
--- /dev/null
+++ b/Essentials
@@ -0,0 +1 @@
+Subproject commit 33e086ff05e02fd253b7c9b91a0304fc7877293d
diff --git a/script.sh b/script.sh
new file mode 100644
index 00000000000..c0cb8cff656
--- /dev/null
+++ b/script.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+# Définition des chemins
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+REPO_DIR="$SCRIPT_DIR/Essentials"
+REPO_DIR_PATCH="$SCRIPT_DIR/Essentials-Patchs"
+REPO_URL="https://github.com/EssentialsX/Essentials"
+PATCHES_DIR="$SCRIPT_DIR/patches/plugins"
+
+# S'assurer que le répertoire des patches existe
+mkdir -p "$PATCHES_DIR"
+
+# Fonction pour recloner le dépôt
+reclone_repo() {
+ echo "Suppression des dépôts locaux..."
+ rm -rf "$REPO_DIR"
+ rm -rf "$REPO_DIR_PATCH"
+ echo "Clonage du dépôt..."
+ git clone "$REPO_URL" "$REPO_DIR"
+ echo "Le dépôt a été recloné."
+ echo "Début de la copie du code"
+ cp -r "$REPO_DIR" "$REPO_DIR_PATCH"
+ echo "Les patches peuvent être appliqués"
+}
+
+# Fonction pour créer des patches
+create_patches() {
+ cd "$REPO_DIR_PATCH" || exit
+ echo "Création des patches..."
+ git format-patch -o "$PATCHES_DIR" origin/master
+ echo "Les patches ont été créés dans $REPO_DIR_PATCH"
+}
+
+# Fonction pour appliquer des patches
+apply_patches() {
+ cd "$REPO_DIR_PATCH" || exit
+ echo "Application des patches..."
+ for patch in "$PATCHES_DIR"/*.patch; do
+ git apply "$patch"
+ patch_name=$(basename "$patch" .patch)
+ patch_description=$(echo "$patch_name" | sed 's/^[0-9]*-//')
+ patch_description=$(echo "$patch_description" | sed 's/-/ /g')
+ git add .
+ git commit -m "$patch_description"
+ echo "Patch \"$patch_description\" appliqué."
+ done
+}
+
+# Vérification des arguments pour choisir l'action
+case "$1" in
+ updateUpstream)
+ reclone_repo
+ ;;
+ createPatches)
+ create_patches
+ ;;
+ applyPatches)
+ apply_patches
+ ;;
+ *)
+ echo "Utilisation possible du script:
+ $0 updateUpstream
+ Permet de mettre à jour le code source en supprimant et en reclonant le dossier source
+ $0 createPatches
+ Permet de créer les patches
+ $0 applyPatches
+ Permet d'appliquer les patches"
+ exit 1
+ ;;
+esac
\ No newline at end of file