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" <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"> 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> <modelVersion>4.0.0</modelVersion>
<groupId>cn.citycraft</groupId> <groupId>cn.citycraft</groupId>
<artifactId>Residence</artifactId> <artifactId>Residence</artifactId>
<version>2.8.1.4</version> <version>2.8.1.5</version>
<name>Residence</name> <name>Residence</name>
<description>重制版本的领地插件 - 喵♂呜</description> <description>重制版本的领地插件 - 喵♂呜</description>
<ciManagement> <ciManagement>
<system>hudson</system> <system>hudson</system>
<url>http://ci.citycraft.cn:8080/job/Residence/</url> <url>http://ci.citycraft.cn:8080/job/Residence/</url>
</ciManagement> </ciManagement>
<build> <build>
<finalName>${project.name}</finalName> <finalName>${project.name}</finalName>
<resources> <resources>
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
<filtering>true</filtering> <filtering>true</filtering>
</resource> </resource>
</resources> </resources>
<plugins> <plugins>
<plugin> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version> <version>3.1</version>
<configuration> <configuration>
<source>1.7</source> <source>1.7</source>
<target>1.7</target> <target>1.7</target>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>2.3</version> <version>2.3</version>
<configuration> <configuration>
<createDependencyReducedPom>false</createDependencyReducedPom> <createDependencyReducedPom>false</createDependencyReducedPom>
<minimizeJar>true</minimizeJar> <minimizeJar>true</minimizeJar>
<artifactSet> <artifactSet>
<includes> <includes>
<include>cn.citycraft:PluginHelper</include> <include>cn.citycraft:PluginHelper</include>
</includes> </includes>
</artifactSet> </artifactSet>
<relocations> <relocations>
<relocation> <relocation>
<pattern>cn.citycraft.PluginHelper</pattern> <pattern>cn.citycraft.PluginHelper</pattern>
<shadedPattern>${project.groupId}.${project.artifactId}</shadedPattern> <shadedPattern>${project.groupId}.${project.artifactId}</shadedPattern>
</relocation> </relocation>
</relocations> </relocations>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>
<phase>package</phase> <phase>package</phase>
<goals> <goals>
<goal>shade</goal> <goal>shade</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<properties> <properties>
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url> <jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
<update.description>&amp;c修复领地管理无法TP的问题...</update.description> <update.description>&amp;4移除动物击杀Flag &amp;a请使用领地扩展组件 &amp;6BBS已更新</update.description>
<env.BUILD_NUMBER>Debug</env.BUILD_NUMBER> <env.BUILD_NUMBER>Debug</env.BUILD_NUMBER>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<repositories> <repositories>
<repository> <repository>
<id>spigot-repo</id> <id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url> <url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
</repository> </repository>
<repository> <repository>
<id>citycraft-repo</id> <id>citycraft-repo</id>
<url>${jenkins.url}/plugin/repository/everything/</url> <url>${jenkins.url}/plugin/repository/everything/</url>
</repository> </repository>
</repositories> </repositories>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId> <artifactId>spigot-api</artifactId>
<type>jar</type> <type>jar</type>
<version>1.8.8-R0.1-SNAPSHOT</version> <version>1.8.8-R0.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.earth2me</groupId> <groupId>com.earth2me</groupId>
<artifactId>essentials</artifactId> <artifactId>essentials</artifactId>
<version>2.9.6</version> <version>2.9.6</version>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/lib/Essentials.jar</systemPath> <systemPath>${project.basedir}/lib/Essentials.jar</systemPath>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.milkbowl.vault</groupId> <groupId>net.milkbowl.vault</groupId>
<artifactId>VaultAPI</artifactId> <artifactId>VaultAPI</artifactId>
<version>1.5</version> <version>1.5</version>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/lib/Vault.jar</systemPath> <systemPath>${project.basedir}/lib/Vault.jar</systemPath>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.sk89q</groupId> <groupId>com.sk89q</groupId>
<artifactId>WorldEdit</artifactId> <artifactId>WorldEdit</artifactId>
<version>5.4.5</version> <version>5.4.5</version>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/lib/WorldEdit.jar</systemPath> <systemPath>${project.basedir}/lib/WorldEdit.jar</systemPath>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.citycraft</groupId> <groupId>cn.citycraft</groupId>
<artifactId>PluginHelper</artifactId> <artifactId>PluginHelper</artifactId>
<type>jar</type> <type>jar</type>
<version>1.0</version> <version>1.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </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.listeners.bugfix.ResidenceBugFix;
import cn.citycraft.Residence.manager.ConfigManager; import cn.citycraft.Residence.manager.ConfigManager;
import cn.citycraft.Residence.manager.EntityManager; import cn.citycraft.Residence.manager.EntityManager;
import cn.citycraft.Residence.manager.FlagManager;
import cn.citycraft.Residence.permissions.PermissionManager; import cn.citycraft.Residence.permissions.PermissionManager;
import cn.citycraft.Residence.persistance.YMLSaveHelper; import cn.citycraft.Residence.persistance.YMLSaveHelper;
import cn.citycraft.Residence.runnable.AutoSaveTask; import cn.citycraft.Residence.runnable.AutoSaveTask;
@@ -103,7 +102,6 @@ public class ResidenceMain extends JavaPlugin {
protected EconomyInterface economy; protected EconomyInterface economy;
protected ResidenceEntityListener elistener; protected ResidenceEntityListener elistener;
protected EntityManager entitymanager; protected EntityManager entitymanager;
protected FlagManager fmanager;
protected PermissionManager gmanager; protected PermissionManager gmanager;
protected HandlerMainCommand hdmcnd; protected HandlerMainCommand hdmcnd;
protected HelpEntry helppages; protected HelpEntry helppages;
@@ -489,9 +487,6 @@ public class ResidenceMain extends JavaPlugin {
} }
pm.registerEvents(elistener, this); pm.registerEvents(elistener, this);
fmanager = new FlagManager(this);
fmanager.init();
this.getLogger().info("开始加载领地补丁..."); this.getLogger().info("开始加载领地补丁...");
pm.registerEvents(new ResidenceBugFix(this), this); pm.registerEvents(new ResidenceBugFix(this), this);

View File

@@ -26,11 +26,9 @@ public class CommandTp extends BaseCommand {
@Override @Override
public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException { public void execute(final CommandSender sender, final Command command, final String label, final String[] args) throws CommandException {
final Player player = (Player) sender; final Player player = (Player) sender;
final boolean resadmin = (command != null); final boolean resadmin = (command != null);
final ResidenceManager rmanager = plugin.getResidenceManager(); final ResidenceManager rmanager = plugin.getResidenceManager();
final Language language = plugin.getLanguage(); final Language language = plugin.getLanguage();
final ClaimedResidence res = rmanager.getByName(args[0]); final ClaimedResidence res = rmanager.getByName(args[0]);
if (res == null) { if (res == null) {
player.sendMessage(ChatColor.RED + language.getPhrase("InvalidResidence")); 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")); reqPlayer.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission"));
return; 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")); reqPlayer.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("TeleportNoFlag"));
return; return;
} }
@@ -942,7 +942,7 @@ public class ClaimedResidence {
} else { } else {
final CuboidArea area = areas.values().iterator().next(); final CuboidArea area = areas.values().iterator().next();
if (area == null) { if (area == null) {
reqPlayer.sendMessage(ChatColor.RED + "未找到可传送的区域..."); reqPlayer.sendMessage(ChatColor.RED + "未找到可传送的安全区域...");
return; return;
} }
final Location targloc = getOutsideFreeLoc(area.getHighLoc()); 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