diff --git a/pom.xml b/pom.xml index ab7c910..dd61ef8 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 cn.citycraft Residence - 2.8.1.6 + 2.8.1.7 Residence 重制版本的领地插件 - 喵♂呜 @@ -59,8 +59,9 @@ http://ci.citycraft.cn:8080 - &c删除所谓的&4"DDOS"&c模块&e停止插件所有更新...&a你们提交PullRequest我还是会合并的... - Debug + &c屏蔽1.6.x版本部分不存在的方法... + + Debug UTF-8 diff --git a/src/main/java/cn/citycraft/Residence/listeners/ResidenceEntityListener.java b/src/main/java/cn/citycraft/Residence/listeners/ResidenceEntityListener.java index 8c8b7e5..017c0c7 100644 --- a/src/main/java/cn/citycraft/Residence/listeners/ResidenceEntityListener.java +++ b/src/main/java/cn/citycraft/Residence/listeners/ResidenceEntityListener.java @@ -114,7 +114,13 @@ public class ResidenceEntityListener implements Listener { srcpvp = srcarea.getPermissions().has("pvp", true); } ent = attackevent.getEntity(); - if ((ent instanceof Player || tamedWolf) && (damager instanceof Player || (damager instanceof Arrow && (((Arrow) damager).getShooter() instanceof Player)))) { + // 屏蔽1.6.x不存在getShooter方法导致的报错... + boolean isPlayerArrow = false; + try { + isPlayerArrow = damager instanceof Arrow && (((Arrow) damager).getShooter() instanceof Player); + } catch (final Exception e) { + } + if ((ent instanceof Player || tamedWolf) && (damager instanceof Player || isPlayerArrow)) { Player attacker = null; if (damager instanceof Player) { attacker = (Player) damager; @@ -189,8 +195,7 @@ public class ResidenceEntityListener implements Listener { return; } - // Note: Location of entity, not player; otherwise player could - // stand outside of res and still damage + // Note: Location of entity, not player; otherwise player could stand outside of res and still damage final Location loc = event.getEntity().getLocation(); final ClaimedResidence res = plugin.getResidenceManager().getByLoc(loc); if (res != null) { diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4bcf451..5ffc04e 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,48 +1,60 @@ -name: ${project.artifactId} -description: ${project.description} -main: ${project.groupId}.${project.artifactId}.${project.artifactId}Main -version: ${project.version}-Build#${env.BUILD_NUMBER} -website: ${jenkins.url}/job/${project.artifactId}/ -authors: [bekvon,nate302,t00thpick1,喵♂呜] -contributors: [lemon42,smbarbour,inorixu,Shayana_fr] -softdepend: [Vault,Essentials,RealPlugin,BOSEconomy,iConomy,bPermissions,PermissionsBukkit,Permissions,WorldEdit] -commands: - residence: - description: 管理领地. - aliases: [res] - usage: §c使用/res ? 或 /residence ? 或 /resadmin ? 获取更多帮助. - resadmin: - description: 管理员命令 管理领地. - permission: residence.admin - usage: §c使用/res ? 或 /residence ? 或 /resadmin ? 获取更多帮助. - resreload: - description: 重载领地插件. - usage: §c使用/resreload - resload: - description: 载入保存在配置文件的数据. - usage: §c使用/resload - rc: - description: §c在领地频道聊天. - usage: §c使用/rc 切换频道, 或者 /rc 发送消息. - resworld: - description: §c移除某个世界所有的领地. - usage: §c使用/resworld remove [world] 移除世界所有领地. -permissions: - residence.admin: - description: 允许使用 /resadmin. - default: op - residence.admin.tp: - description: Allows to override tp flag - default: op - residence.admin.move: - description: Allows to override move flag - default: op - residence.create: - description: Allows you to create residences - default: op - residence.select: - description: Allows you to select an area to make residences - default: true - residence.versioncheck: - description: Notice to new version after connect - default: op +name: ${project.artifactId} +description: ${project.description} +main: ${project.groupId}.${project.artifactId}.${project.artifactId}Main +version: ${project.version}-git-${env.GIT_COMMIT} +website: ${jenkins.url}/job/${project.artifactId}/ +authors: +- bekvon +- nate302 +- t00thpick1 +- 喵♂呜 +contributors: +- lemon42 +- smbarbour +- inorixu +- Shayana_fr +softdepend: +- Vault +- Essentials +- WorldEdit +commands: + residence: + description: 管理领地. + aliases: + - res + usage: §c使用/res ? 或 /residence ? 或 /resadmin ? 获取更多帮助. + resadmin: + description: 管理员命令 管理领地. + permission: residence.admin + usage: §c使用/res ? 或 /residence ? 或 /resadmin ? 获取更多帮助. + resreload: + description: 重载领地插件. + usage: §c使用/resreload + resload: + description: 载入保存在配置文件的数据. + usage: §c使用/resload + rc: + description: §c在领地频道聊天. + usage: §c使用/rc 切换频道, 或者 /rc 发送消息. + resworld: + description: §c移除某个世界所有的领地. + usage: §c使用/resworld remove [world] 移除世界所有领地. +permissions: + residence.admin: + description: 允许使用 /resadmin. + default: op + residence.admin.tp: + description: 允许无视tp标签 + default: op + residence.admin.move: + description: 允许无视move标签 + default: op + residence.create: + description: 允许创建领地 + default: op + residence.select: + description: 允许选择区域 + default: true + residence.versioncheck: + description: 接受更新通知 + default: op \ No newline at end of file