1
0
mirror of https://e.coding.net/circlecloud/Residence.git synced 2025-11-24 21:46:16 +00:00

移除动物击杀 移动到领地扩展...

Signed-off-by: 502647092 <jtb1@163.com>
This commit is contained in:
502647092
2015-12-15 09:25:15 +08:00
parent c0f233b4de
commit 337fb1c55f
7 changed files with 111 additions and 221 deletions

218
pom.xml
View File

@@ -1,111 +1,111 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.citycraft</groupId>
<artifactId>Residence</artifactId>
<version>2.8.1.4</version>
<name>Residence</name>
<description>重制版本的领地插件 - 喵♂呜</description>
<ciManagement>
<system>hudson</system>
<url>http://ci.citycraft.cn:8080/job/Residence/</url>
</ciManagement>
<build>
<finalName>${project.name}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<minimizeJar>true</minimizeJar>
<artifactSet>
<includes>
<include>cn.citycraft:PluginHelper</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>cn.citycraft.PluginHelper</pattern>
<shadedPattern>${project.groupId}.${project.artifactId}</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
<update.description>&amp;c修复领地管理无法TP的问题...</update.description>
<env.BUILD_NUMBER>Debug</env.BUILD_NUMBER>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
</repository>
<repository>
<id>citycraft-repo</id>
<url>${jenkins.url}/plugin/repository/everything/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<type>jar</type>
<version>1.8.8-R0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.earth2me</groupId>
<artifactId>essentials</artifactId>
<version>2.9.6</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/Essentials.jar</systemPath>
</dependency>
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/Vault.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sk89q</groupId>
<artifactId>WorldEdit</artifactId>
<version>5.4.5</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/WorldEdit.jar</systemPath>
</dependency>
<dependency>
<groupId>cn.citycraft</groupId>
<artifactId>PluginHelper</artifactId>
<type>jar</type>
<version>1.0</version>
</dependency>
</dependencies>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.citycraft</groupId>
<artifactId>Residence</artifactId>
<version>2.8.1.5</version>
<name>Residence</name>
<description>重制版本的领地插件 - 喵♂呜</description>
<ciManagement>
<system>hudson</system>
<url>http://ci.citycraft.cn:8080/job/Residence/</url>
</ciManagement>
<build>
<finalName>${project.name}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<minimizeJar>true</minimizeJar>
<artifactSet>
<includes>
<include>cn.citycraft:PluginHelper</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>cn.citycraft.PluginHelper</pattern>
<shadedPattern>${project.groupId}.${project.artifactId}</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
<update.description>&amp;4移除动物击杀Flag &amp;a请使用领地扩展组件 &amp;6BBS已更新</update.description>
<env.BUILD_NUMBER>Debug</env.BUILD_NUMBER>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
</repository>
<repository>
<id>citycraft-repo</id>
<url>${jenkins.url}/plugin/repository/everything/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<type>jar</type>
<version>1.8.8-R0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.earth2me</groupId>
<artifactId>essentials</artifactId>
<version>2.9.6</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/Essentials.jar</systemPath>
</dependency>
<dependency>
<groupId>net.milkbowl.vault</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/Vault.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sk89q</groupId>
<artifactId>WorldEdit</artifactId>
<version>5.4.5</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/WorldEdit.jar</systemPath>
</dependency>
<dependency>
<groupId>cn.citycraft</groupId>
<artifactId>PluginHelper</artifactId>
<type>jar</type>
<version>1.0</version>
</dependency>
</dependencies>
</project>

View File

@@ -63,7 +63,6 @@ import cn.citycraft.Residence.listeners.ResidencePlayerListener_1_8;
import cn.citycraft.Residence.listeners.bugfix.ResidenceBugFix;
import cn.citycraft.Residence.manager.ConfigManager;
import cn.citycraft.Residence.manager.EntityManager;
import cn.citycraft.Residence.manager.FlagManager;
import cn.citycraft.Residence.permissions.PermissionManager;
import cn.citycraft.Residence.persistance.YMLSaveHelper;
import cn.citycraft.Residence.runnable.AutoSaveTask;
@@ -103,7 +102,6 @@ public class ResidenceMain extends JavaPlugin {
protected EconomyInterface economy;
protected ResidenceEntityListener elistener;
protected EntityManager entitymanager;
protected FlagManager fmanager;
protected PermissionManager gmanager;
protected HandlerMainCommand hdmcnd;
protected HelpEntry helppages;
@@ -489,9 +487,6 @@ public class ResidenceMain extends JavaPlugin {
}
pm.registerEvents(elistener, this);
fmanager = new FlagManager(this);
fmanager.init();
this.getLogger().info("开始加载领地补丁...");
pm.registerEvents(new ResidenceBugFix(this), this);

View File

@@ -26,11 +26,9 @@ public class CommandTp extends BaseCommand {
@Override
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
final Player player = (Player) sender;
final boolean resadmin = (command != null);
final ResidenceManager rmanager = plugin.getResidenceManager();
final Language language = plugin.getLanguage();
final ClaimedResidence res = rmanager.getByName(args[0]);
if (res == null) {
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence"));

View File

@@ -1,58 +0,0 @@
package cn.citycraft.Residence.listeners.flag;
import org.bukkit.ChatColor;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
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 ResidenceAnimalKillingListener implements Listener {
EntityManager entitymanager;
ResidenceMain plugin;
public ResidenceAnimalKillingListener(final ResidenceMain plugin) {
this.plugin = plugin;
this.entitymanager = plugin.getEntityManager();
FlagPermissions.addFlag("animalkilling");
}
@EventHandler(priority = EventPriority.LOWEST)
public void onAnimalKilling(final EntityDamageByEntityEvent event) {
final Entity damager = event.getDamager();
if ((!(damager instanceof Arrow)) && (!(damager instanceof Player))) {
return;
}
Player cause;
if ((damager instanceof Arrow) && (!(((Arrow) damager).getShooter() instanceof Player))) {
return;
} else if (damager instanceof Player) {
cause = (Player) damager;
} else {
cause = (Player) ((Arrow) damager).getShooter();
}
if (plugin.isResAdminOn(cause)) {
return;
}
final Entity entity = event.getEntity();
final ClaimedResidence res = plugin.getResidenceManager().getByLoc(entity.getLocation());
if (res != null && !res.getPermissions().playerHas(cause.getName(), "animalkilling", true)) {
if (entitymanager.isAnimal(entity)) {
cause.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission"));
event.setCancelled(true);
}
}
}
}

View File

@@ -1,40 +0,0 @@
package cn.citycraft.Residence.manager;
import java.util.HashMap;
import java.util.Map.Entry;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import cn.citycraft.PluginHelper.config.FileConfig;
import cn.citycraft.Residence.ResidenceMain;
import cn.citycraft.Residence.listeners.flag.ResidenceAnimalKillingListener;
public class FlagManager {
FileConfig config;
HashMap<Boolean, Listener> flagmap;
ResidenceMain plugin;
public FlagManager(final ResidenceMain plugin) {
this.plugin = plugin;
this.config = new FileConfig(plugin, "flagconfig.yml");
}
public void init() {
final PluginManager pm = plugin.getServer().getPluginManager();
plugin.getLogger().info("初始化扩展Flag...");
flagmap = new HashMap<Boolean, Listener>();
flagmap.put(config.getBoolean("Flag.AnimalKilling", true), new ResidenceAnimalKillingListener(plugin));
for (final Entry<Boolean, Listener> fm : flagmap.entrySet()) {
if (fm.getKey()) {
pm.registerEvents(fm.getValue(), plugin);
}
}
plugin.getLogger().info("扩展Flag初始化完毕...");
}
}

View File

@@ -927,7 +927,7 @@ public class ClaimedResidence {
reqPlayer.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission"));
return;
}
if (!this.perms.playerHas(reqPlayer.getName(), "tp", true) || !this.perms.playerHas(reqPlayer.getName(), "move", true)) {
if (!this.perms.playerHas(reqPlayer.getName(), "tp", true)) {
reqPlayer.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("TeleportNoFlag"));
return;
}
@@ -942,7 +942,7 @@ public class ClaimedResidence {
} else {
final CuboidArea area = areas.values().iterator().next();
if (area == null) {
reqPlayer.sendMessage(ChatColor.RED + "未找到可传送的区域...");
reqPlayer.sendMessage(ChatColor.RED + "未找到可传送的安全区域...");
return;
}
final Location targloc = getOutsideFreeLoc(area.getHighLoc());

View File

@@ -1,5 +0,0 @@
#领地插件配置文件2.7.0.0 重制 By: 喵♂呜(部分汉化来自宝石汉化组 大刘,Zesty).
Flag:
Fly: true
AnimalKilling: true
Interact: false