diff --git a/pom.xml b/pom.xml index 1534788..65e57f8 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 pw.yumc MenuProtect - 1.3 + 1.3.1 MenuProtect ${project.name} @@ -57,7 +57,7 @@ http://ci.yumc.pw/job/${project.artifactId}/ - 1.3新版本 支持LoreCommand + 1.3.1添加扫地大妈检测 DEBUG UTF-8 @@ -81,6 +81,11 @@ jar 1.9-R0.1-SNAPSHOT + + io.github.Cnly.WowSuchCleaner + WowSuchCleaner + 1.6.5 + cn.citycraft PluginHelper diff --git a/src/main/java/pw/yumc/MenuProtect/MenuProtect.java b/src/main/java/pw/yumc/MenuProtect/MenuProtect.java index 5224f8e..4c5f359 100644 --- a/src/main/java/pw/yumc/MenuProtect/MenuProtect.java +++ b/src/main/java/pw/yumc/MenuProtect/MenuProtect.java @@ -4,10 +4,13 @@ import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import cn.citycraft.PluginHelper.config.FileConfig; import pw.yumc.MenuProtect.listen.ProtectListener; +import pw.yumc.MenuProtect.listen.WowSuchCleanerListener; import pw.yumc.MenuProtect.utils.MarkUtil; public class MenuProtect extends JavaPlugin { @@ -27,6 +30,17 @@ public class MenuProtect extends JavaPlugin { @Override public void onEnable() { Bukkit.getPluginManager().registerEvents(new ProtectListener(), this); + final PluginManager pm = this.getServer().getPluginManager(); + final Plugin wsc = pm.getPlugin("WowSuchCleaner"); + if (wsc != null && wsc.isEnabled()) { + getLogger().info("发现 WowSuchCleaner 插件 开启相关功能..."); + try { + Class.forName("io.github.Cnly.WowSuchCleaner.WowSuchCleaner.ItemPreCleanEvent"); + pm.registerEvents(new WowSuchCleanerListener(), this); + } catch (final ClassNotFoundException e) { + getLogger().info("WowSuchCleaner 版本过低 可能造成悬浮物上架..."); + } + } this.getLogger().info("菜单物品保护已开启!"); } diff --git a/src/main/java/pw/yumc/MenuProtect/listen/WowSuchCleanerListener.java b/src/main/java/pw/yumc/MenuProtect/listen/WowSuchCleanerListener.java new file mode 100644 index 0000000..203b360 --- /dev/null +++ b/src/main/java/pw/yumc/MenuProtect/listen/WowSuchCleanerListener.java @@ -0,0 +1,29 @@ +package pw.yumc.MenuProtect.listen; + +import java.util.List; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.inventory.ItemStack; + +import io.github.Cnly.WowSuchCleaner.WowSuchCleaner.ItemPreCleanEvent; +import pw.yumc.MenuProtect.utils.MarkUtil; + +/** + * + * @since 2016年7月21日 下午4:57:35 + * @author 喵♂呜 + */ +public class WowSuchCleanerListener implements Listener { + @EventHandler + public void onClear(final ItemPreCleanEvent e) { + final List list = e.getItemsToAuction(); + final List needRemove = e.getItemsToAuction(); + for (final ItemStack itemStack : list) { + if (MarkUtil.hasMark(itemStack)) { + needRemove.add(itemStack); + } + } + list.removeAll(needRemove); + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index e45c070..c967613 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,17 +4,16 @@ main: ${project.groupId}.${project.artifactId}.${project.artifactId} version: ${project.version}-git-${env.GIT_COMMIT} author: 喵♂呜 website: ${ciManagement.url} +softdepend: +- WowSuchCleaner commands: ${project.artifactId}: description: ${project.artifactId} - ${project.description} usage: §b使用/${project.artifactId} help 查看帮助! permission: ${project.artifactId}.reload permission-message: §c你没有 的权限来执行此命令! - mp: + mp: null permissions: - ${project.artifactId}.reload: - description: 重新载入插件! - default: op ${project.artifactId}.reload: description: 重新载入插件! default: op \ No newline at end of file