summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
diff options
context:
space:
mode:
authorsnowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb>2011-04-10 18:17:53 +0000
committersnowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb>2011-04-10 18:17:53 +0000
commitb5268c97971300a414866a5a6429b4efaa528e44 (patch)
tree9cf91c056491613c11c69822e4ed6a293ff602d1 /EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
parent58b625ae98990dadf6562496616895253919db12 (diff)
downloadEssentials-b5268c97971300a414866a5a6429b4efaa528e44.tar
Essentials-b5268c97971300a414866a5a6429b4efaa528e44.tar.gz
Essentials-b5268c97971300a414866a5a6429b4efaa528e44.tar.lz
Essentials-b5268c97971300a414866a5a6429b4efaa528e44.tar.xz
Essentials-b5268c97971300a414866a5a6429b4efaa528e44.zip
[trunk] Backported some code from 3.0 branch: Correct the protection of signs and rails.
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1163 e251c2fe-e539-e718-e476-b85c1f46cddb
Diffstat (limited to 'EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java')
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java35
1 files changed, 30 insertions, 5 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
index 742cb9d6d..da790e0d5 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java
@@ -4,6 +4,7 @@ import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.User;
import org.bukkit.Material;
import org.bukkit.block.Block;
+import org.bukkit.block.BlockFace;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockFromToEvent;
@@ -47,7 +48,7 @@ public class EssentialsProtectBlockListener extends BlockListener
return;
}
- Block blockPlaced = event.getBlockAgainst();
+ Block blockPlaced = event.getBlockPlaced();
int id = event.getBlockPlaced().getTypeId();
if (EssentialsProtect.checkProtectionItems(EssentialsProtect.blackListPlace, id) && !user.isAuthorized("essentials.protect.exemptplacement"))
@@ -61,7 +62,7 @@ public class EssentialsProtectBlockListener extends BlockListener
parent.alert(user, item.getType().toString(), "placed: ");
}
- if (spData.isBlockAboveProtectedRail(blockPlaced))
+ if (spData.isBlockAboveProtectedRail(blockPlaced.getFace(BlockFace.DOWN)))
{
if (EssentialsProtect.genSettings.get("protect.protect.prevent.block-on-rail"))
{
@@ -70,7 +71,7 @@ public class EssentialsProtectBlockListener extends BlockListener
}
}
- if (item.getTypeId() == 66)
+ if (blockPlaced.getType() == Material.RAILS)
{
if (EssentialsProtect.genSettings.get("protect.protect.rails"))
{
@@ -80,10 +81,34 @@ public class EssentialsProtectBlockListener extends BlockListener
railBlockY = blockPlaced.getY();
railBlockZ = blockPlaced.getZ();
- spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), railBlockX, railBlockY + 1, railBlockZ);
+ spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), railBlockX, railBlockY, railBlockZ);
if (EssentialsProtect.genSettings.get("protect.protect.block-below"))
{
- spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), railBlockX, railBlockY, railBlockZ);
+ spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), railBlockX, railBlockY - 1, railBlockZ);
+ }
+ }
+ }
+ }
+ if (blockPlaced.getType() == Material.SIGN_POST || blockPlaced.getType() == Material.WALL_SIGN) {
+ if (EssentialsProtect.genSettings.get("protect.protect.signs"))
+ {
+ if (user.isAuthorized("essentials.protect"))
+ {
+ int signBlockX = blockPlaced.getX();
+ int signBlockY = blockPlaced.getY();
+ int signBlockZ = blockPlaced.getZ();
+
+ initialize();
+ spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), signBlockX,
+ signBlockY, signBlockZ);
+
+ if (EssentialsProtect.genSettings.get("protect.protect.block-below"))
+ {
+ signBlockX = event.getBlockAgainst().getX();
+ signBlockY = event.getBlockAgainst().getY();
+ signBlockZ = event.getBlockAgainst().getZ();
+ spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), signBlockX,
+ signBlockY, signBlockZ);
}
}
}