mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-16 04:31:22 +01:00
Added Support for Essentials
This commit is contained in:
parent
96e53537e2
commit
6607a6aadc
@ -1,31 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="minecraft" name="Minecraft">
|
||||
<configuration>
|
||||
<autoDetectTypes>
|
||||
<platformType>SPIGOT</platformType>
|
||||
</autoDetectTypes>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="v1_15_R1" />
|
||||
<orderEntry type="module" module-name="v1_16_R1" />
|
||||
<orderEntry type="module" module-name="v1_16_R2" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.15-R0.1-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:21.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.13-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
|
||||
<orderEntry type="module" module-name="API" />
|
||||
<orderEntry type="library" name="Maven: com.willfp.ecoenchants:API:4.1.0-pre11" level="project" />
|
||||
<orderEntry type="module" module-name="v1_15_R1" />
|
||||
<orderEntry type="module" module-name="v1_16_R1" />
|
||||
<orderEntry type="module" module-name="v1_16_R2" />
|
||||
|
@ -31,9 +31,9 @@ public class Main extends JavaPlugin {
|
||||
public static String newVersion;
|
||||
|
||||
/**
|
||||
* Has AdvancedEnchantments?
|
||||
* Has Essentials?
|
||||
*/
|
||||
public static boolean hasAE;
|
||||
public static boolean hasEssentials;
|
||||
|
||||
/**
|
||||
* ProtocolLib
|
||||
|
@ -1,12 +1,10 @@
|
||||
package com.willfp.ecoenchants.enchantments;
|
||||
|
||||
import com.earth2me.essentials.Enchantments;
|
||||
import com.earth2me.essentials.Essentials;
|
||||
import com.willfp.ecoenchants.Main;
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.config.configs.EnchantmentConfig;
|
||||
import com.willfp.ecoenchants.nms.Target;
|
||||
import com.willfp.ecoenchants.util.EssentialsUtils;
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.apache.commons.lang.reflect.FieldUtils;
|
||||
import org.bukkit.Material;
|
||||
@ -104,12 +102,7 @@ public abstract class EcoEnchant extends Enchantment implements Listener {
|
||||
Enchantment.registerEnchantment(this);
|
||||
|
||||
if(Main.hasEssentials) {
|
||||
Map<String, Enchantment> essentialsMap = EssentialsUtils.getEnchantmentsMap();
|
||||
if (essentialsMap != null) {
|
||||
String key = this.getKey().getKey();
|
||||
essentialsMap.remove(key);
|
||||
essentialsMap.put(key, this);
|
||||
}
|
||||
((Map<String, Enchantment>) FieldUtils.readDeclaredStaticField(Enchantments.class, "ENCHANTMENTS", true)).put(this.getKey().getKey(), this);
|
||||
}
|
||||
} catch (NoSuchFieldException | IllegalAccessException ignored) {}
|
||||
}
|
||||
|
@ -143,9 +143,9 @@ public class Loader {
|
||||
Bukkit.getLogger().info("Lands: §9DISABLED");
|
||||
}
|
||||
|
||||
Main.hasAE = Bukkit.getPluginManager().isPluginEnabled("AdvancedEnchantments");
|
||||
if(Main.hasAE) Bukkit.getLogger().info("AdvancedEnchantments: §aENABLED");
|
||||
else Bukkit.getLogger().info("AdvancedEnchantments: §9DISABLED");
|
||||
Main.hasEssentials = Bukkit.getPluginManager().isPluginEnabled("Essentials");
|
||||
if(Main.hasEssentials) Bukkit.getLogger().info("Essentials: §aENABLED");
|
||||
else Bukkit.getLogger().info("Essentials: §9DISABLED");
|
||||
|
||||
Bukkit.getLogger().info("");
|
||||
Bukkit.getLogger().info("Loading Anticheat Integrations...");
|
||||
|
@ -1,37 +0,0 @@
|
||||
package com.willfp.ecoenchants.util;
|
||||
|
||||
import com.earth2me.essentials.Enchantments;
|
||||
import org.apache.commons.lang.reflect.FieldUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class EssentialsUtils {
|
||||
private static Map<String, Enchantment> essentialsEnchantmentsMap;
|
||||
private static boolean hasCheckedEnchantmentsMap;
|
||||
|
||||
@Nullable
|
||||
public static Map<String, Enchantment> getEnchantmentsMap() {
|
||||
if (hasCheckedEnchantmentsMap) return essentialsEnchantmentsMap;
|
||||
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("Essentials")) {
|
||||
try {
|
||||
Class<?> essEnchantmentsClass = Enchantments.class;
|
||||
|
||||
Object enchantments = FieldUtils.readDeclaredStaticField(essEnchantmentsClass, "ENCHANTMENTS", true);
|
||||
if (enchantments instanceof Map) {
|
||||
hasCheckedEnchantmentsMap = true;
|
||||
//noinspection unchecked - we know the type of it
|
||||
return essentialsEnchantmentsMap = (Map<String, Enchantment>) enchantments;
|
||||
}
|
||||
} catch (IllegalAccessException e) {
|
||||
hasCheckedEnchantmentsMap = true;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
hasCheckedEnchantmentsMap = true;
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user