diff --git a/pom.xml b/pom.xml
index 78f988e..a540722 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,7 +55,7 @@
http://ci.citycraft.cn:8080
- &e还原protection包路径 &a兼容部分老插件...
+ &e还原protection包路径 &a兼容部分老插件 &c移除冗余Flag...
UTF-8
diff --git a/src/main/java/cn/citycraft/Residence/listeners/flag/ResidenceFlyListener.java b/src/main/java/cn/citycraft/Residence/listeners/flag/ResidenceFlyListener.java
deleted file mode 100644
index cdcf1b4..0000000
--- a/src/main/java/cn/citycraft/Residence/listeners/flag/ResidenceFlyListener.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package cn.citycraft.Residence.listeners.flag;
-
-import java.util.HashMap;
-
-import org.bukkit.ChatColor;
-import org.bukkit.GameMode;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.entity.EntityDamageEvent;
-import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
-
-import com.bekvon.bukkit.residence.event.ResidenceChangedEvent;
-import com.bekvon.bukkit.residence.event.ResidenceDeleteEvent;
-import com.bekvon.bukkit.residence.event.ResidenceFlagChangeEvent;
-import com.bekvon.bukkit.residence.protection.ClaimedResidence;
-import com.bekvon.bukkit.residence.protection.FlagPermissions;
-import com.bekvon.bukkit.residence.protection.ResidencePermissions;
-
-import cn.citycraft.Residence.ResidenceMain;
-
-public class ResidenceFlyListener implements Listener {
-
- HashMap fall = new HashMap();
- ResidenceMain plugin;
-
- public ResidenceFlyListener(final ResidenceMain plugin) {
- this.plugin = plugin;
- FlagPermissions.addFlag("fly");
- FlagPermissions.addResidenceOnlyFlag("fly");
- }
-
- @EventHandler(ignoreCancelled = true)
- public void FlagChange(final ResidenceFlagChangeEvent e) {
- final ClaimedResidence res = e.getResidence();
- for (final Player p : res.getPlayersInResidence()) {
- if (!permCheck(p)) {
- if (!resPermCheck(res, p)) {
- ChangePlayerFly(p, false);
- } else {
- ChangePlayerFly(p, true);
- }
- }
- }
- }
-
- // ResidenceDeleteEvent.class
- // ResidenceFlagChangeEvent.class
-
- public void onFallDamage(final EntityDamageEvent e) {
- if (e.getEntity() instanceof Player) {
- final Player p = (Player) e.getEntity();
- if (e.getCause() == DamageCause.FALL) {
- if (p == fall.get(p)) {
- fall.remove(p);
- e.setCancelled(true);
- }
- }
- }
- }
-
- @EventHandler(ignoreCancelled = true)
- public void resChange(final ResidenceChangedEvent event) {
- final Player player = event.getPlayer();
- final ClaimedResidence resto = event.getTo();
- if (!permCheck(player)) {
- if (!resPermCheck(resto, player)) {
- ChangePlayerFly(player, false);
- } else {
- ChangePlayerFly(player, true);
- }
- }
- }
-
- @EventHandler(ignoreCancelled = true)
- public void ResDelete(final ResidenceDeleteEvent e) {
- final ClaimedResidence res = e.getResidence();
- for (final Player p : res.getPlayersInResidence()) {
- if (!permCheck(p)) {
- ChangePlayerFly(p, false);
- }
- }
- }
-
- void ChangePlayerFly(final Player p, final boolean fly) {
- if (p.getAllowFlight() && !fly) {
- if (p.isFlying()) {
- fall.put(p, p);
- }
- p.setAllowFlight(false);
- p.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("FlagDeny", "fly"));
- }
- if (!p.getAllowFlight() && fly) {
- if (p == fall.get(p)) {
- fall.remove(p);
- }
- p.setAllowFlight(true);
- }
- }
-
- boolean permCheck(final Player p) {
- return p.hasPermission("resfly.ignore") || p.isOp() || p.getGameMode() == GameMode.CREATIVE;
- }
-
- boolean resPermCheck(final ClaimedResidence res, final Player p) {
- if (res == null) {
- return false;
- }
- final ResidencePermissions perms = res.getPermissions();
- return perms.playerHas(p.getName(), "fly", false);
- }
-}
\ No newline at end of file
diff --git a/src/main/java/cn/citycraft/Residence/listeners/flag/ResidenceInteractListener.java b/src/main/java/cn/citycraft/Residence/listeners/flag/ResidenceInteractListener.java
deleted file mode 100644
index 800a68f..0000000
--- a/src/main/java/cn/citycraft/Residence/listeners/flag/ResidenceInteractListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package cn.citycraft.Residence.listeners.flag;
-
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerInteractEvent;
-import org.bukkit.inventory.ItemStack;
-
-import com.bekvon.bukkit.residence.protection.ClaimedResidence;
-import com.bekvon.bukkit.residence.protection.FlagPermissions;
-
-import cn.citycraft.Residence.ResidenceMain;
-import cn.citycraft.Residence.manager.EntityManager;
-
-public class ResidenceInteractListener implements Listener {
- EntityManager entitymanager;
- ResidenceMain plugin;
-
- public ResidenceInteractListener(final ResidenceMain plugin) {
- this.plugin = plugin;
- this.entitymanager = plugin.getEntityManager();
- FlagPermissions.addFlag("interact");
- FlagPermissions.addFlagToFlagGroup("trusted", "interact");
- }
-
- @EventHandler(priority = EventPriority.LOWEST)
- public void onInteract(final PlayerInteractEvent e) {
- final Player p = e.getPlayer();
- if (plugin.isResAdminOn(p)) {
- return;
- }
- final ItemStack it = p.getItemInHand();
- if (it == null || it.getType() == Material.AIR) {
- return;
- }
- final Location loc = e.getClickedBlock().getLocation();
- final ClaimedResidence res = plugin.getResidenceManager().getByLoc(loc);
- if (res == null) {
- return;
- }
- final FlagPermissions hasPerm = plugin.getPermsByLocForPlayer(loc, p);
- e.setCancelled(hasPerm.has("interact", true));
- }
-
-}
diff --git a/src/main/java/cn/citycraft/Residence/manager/FlagManager.java b/src/main/java/cn/citycraft/Residence/manager/FlagManager.java
index 312d057..b8a6696 100644
--- a/src/main/java/cn/citycraft/Residence/manager/FlagManager.java
+++ b/src/main/java/cn/citycraft/Residence/manager/FlagManager.java
@@ -9,8 +9,6 @@ import org.bukkit.plugin.PluginManager;
import cn.citycraft.PluginHelper.config.FileConfig;
import cn.citycraft.Residence.ResidenceMain;
import cn.citycraft.Residence.listeners.flag.ResidenceAnimalKillingListener;
-import cn.citycraft.Residence.listeners.flag.ResidenceFlyListener;
-import cn.citycraft.Residence.listeners.flag.ResidenceInteractListener;
public class FlagManager {
FileConfig config;
@@ -30,9 +28,7 @@ public class FlagManager {
flagmap = new HashMap();
- flagmap.put(config.getBoolean("Flag.Fly", true), new ResidenceFlyListener(plugin));
flagmap.put(config.getBoolean("Flag.AnimalKilling", true), new ResidenceAnimalKillingListener(plugin));
- flagmap.put(config.getBoolean("Flag.Interact", false), new ResidenceInteractListener(plugin));
for (final Entry fm : flagmap.entrySet()) {
if (fm.getKey()) {
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 98d3524..4bcf451 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,7 +1,7 @@
name: ${project.artifactId}
description: ${project.description}
main: ${project.groupId}.${project.artifactId}.${project.artifactId}Main
-version: ${project.version}
+version: ${project.version}-Build#${env.BUILD_NUMBER}
website: ${jenkins.url}/job/${project.artifactId}/
authors: [bekvon,nate302,t00thpick1,喵♂呜]
contributors: [lemon42,smbarbour,inorixu,Shayana_fr]