mirror of
https://e.coding.net/circlecloud/Residence.git
synced 2025-11-24 21:46:16 +00:00
4
pom.xml
4
pom.xml
@@ -3,7 +3,7 @@
|
|||||||
<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.2</version>
|
<version>2.8.1.3</version>
|
||||||
<name>Residence</name>
|
<name>Residence</name>
|
||||||
<description>重制版本的领地插件 - 喵♂呜</description>
|
<description>重制版本的领地插件 - 喵♂呜</description>
|
||||||
<build>
|
<build>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
</build>
|
</build>
|
||||||
<properties>
|
<properties>
|
||||||
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
|
<jenkins.url>http://ci.citycraft.cn:8080</jenkins.url>
|
||||||
<update.description>&4添加自动检测 1.7版本开启ActionBar时自动关闭...</update.description>
|
<update.description>&d修复补丁导致的刷物品BUG...</update.description>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
<repositories>
|
<repositories>
|
||||||
|
|||||||
@@ -28,12 +28,6 @@ public class ResidenceBugFix implements Listener {
|
|||||||
plugin.getLogger().info("防刷生物补丁已加载...");
|
plugin.getLogger().info("防刷生物补丁已加载...");
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasPerm(final ClaimedResidence res, final Player p) {
|
|
||||||
final FlagPermissions perms = res.getPermissions();
|
|
||||||
final String world = p.getWorld().getName();
|
|
||||||
return perms.playerHas(p.getName(), world, "place", perms.playerHas(p.getName(), world, "build", false));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Block getPlaceBlock(final PlayerInteractEvent e) {
|
public Block getPlaceBlock(final PlayerInteractEvent e) {
|
||||||
final Player p = e.getPlayer();
|
final Player p = e.getPlayer();
|
||||||
final ItemStack it = p.getItemInHand();
|
final ItemStack it = p.getItemInHand();
|
||||||
@@ -53,6 +47,12 @@ public class ResidenceBugFix implements Listener {
|
|||||||
return b.getRelative(BlockFace.DOWN);
|
return b.getRelative(BlockFace.DOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasPerm(final ClaimedResidence res, final Player p) {
|
||||||
|
final FlagPermissions perms = res.getPermissions();
|
||||||
|
final String world = p.getWorld().getName();
|
||||||
|
return perms.playerHas(p.getName(), world, "place", perms.playerHas(p.getName(), world, "build", false));
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onBlockPlace(final PlayerInteractEvent e) {
|
public void onBlockPlace(final PlayerInteractEvent e) {
|
||||||
if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.PHYSICAL) {
|
if (e.getAction() == Action.LEFT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.PHYSICAL) {
|
||||||
@@ -102,7 +102,7 @@ public class ResidenceBugFix implements Listener {
|
|||||||
if (res == null) {
|
if (res == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (b1.getType() != Material.AIR && b2.getType() == Material.AIR) {
|
if (b1.getType() != Material.AIR && b1.getType() != Material.TORCH && b2.getType() == Material.AIR && checkAround(b2)) {
|
||||||
if (!hasPerm(res, p)) {
|
if (!hasPerm(res, p)) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
p.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission") + ChatColor.DARK_RED + " 当前区域不允许此操作!");
|
p.sendMessage(ChatColor.RED + plugin.getLanguage().getPhrase("NoPermission") + ChatColor.DARK_RED + " 当前区域不允许此操作!");
|
||||||
@@ -122,9 +122,13 @@ public class ResidenceBugFix implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onSugarCanePhysics(final BlockPhysicsEvent e) {
|
public void onSugarCanePhysics(final BlockPhysicsEvent e) {
|
||||||
// final Material mat = e.getChangedType();
|
}
|
||||||
// if (mat == Material.SUGAR_CANE_BLOCK) {
|
|
||||||
// e.getBlock().getDrops().clear();
|
private boolean checkAround(final Block b) {
|
||||||
// }
|
final Block be = b.getRelative(BlockFace.EAST);
|
||||||
|
final Block bw = b.getRelative(BlockFace.WEST);
|
||||||
|
final Block bn = b.getRelative(BlockFace.NORTH);
|
||||||
|
final Block bs = b.getRelative(BlockFace.SOUTH);
|
||||||
|
return (be.getType() != Material.AIR || bw.getType() != Material.AIR || bn.getType() != Material.AIR || bs.getType() != Material.AIR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user