diff options
author | madmaxoft <github@xoft.cz> | 2013-08-16 09:20:05 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2013-08-16 09:20:34 +0200 |
commit | 98d574f05ea46763fc9e762b0719ab3ef2271230 (patch) | |
tree | 65d6a2f1bc97f800839fd65c7f459bb908e459c2 /MCServer/Plugins/Core/onbreakplaceblock.lua | |
parent | Merge pull request #96 from mc-server/buildsystest (diff) | |
download | cuberite-98d574f05ea46763fc9e762b0719ab3ef2271230.tar cuberite-98d574f05ea46763fc9e762b0719ab3ef2271230.tar.gz cuberite-98d574f05ea46763fc9e762b0719ab3ef2271230.tar.bz2 cuberite-98d574f05ea46763fc9e762b0719ab3ef2271230.tar.lz cuberite-98d574f05ea46763fc9e762b0719ab3ef2271230.tar.xz cuberite-98d574f05ea46763fc9e762b0719ab3ef2271230.tar.zst cuberite-98d574f05ea46763fc9e762b0719ab3ef2271230.zip |
Diffstat (limited to 'MCServer/Plugins/Core/onbreakplaceblock.lua')
-rw-r--r-- | MCServer/Plugins/Core/onbreakplaceblock.lua | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/MCServer/Plugins/Core/onbreakplaceblock.lua b/MCServer/Plugins/Core/onbreakplaceblock.lua deleted file mode 100644 index 5eddc1511..000000000 --- a/MCServer/Plugins/Core/onbreakplaceblock.lua +++ /dev/null @@ -1,119 +0,0 @@ -function OnPlayerPlacingBlock(Player, BlockX, BlockY, BlockZ, BlockFace, CursorX, CursorY, CursorZ, BlockType) - -- Direction is air check - if (BlockFace == -1) then - return false - end - - local PROTECTRADIUS = WorldsSpawnProtect[Player:GetWorld():GetName()]; - - if not (Player:HasPermission("core.build")) then - return true - else - if not (Player:HasPermission("core.spawnprotect.bypass")) and not (PROTECTRADIUS == 0) then - local World = Player:GetWorld() - local xcoord = World:GetSpawnX() - local ycoord = World:GetSpawnY() - local zcoord = World:GetSpawnZ() - - if not ((BlockX <= (xcoord + PROTECTRADIUS)) and (BlockX >= (xcoord - PROTECTRADIUS))) then - return false -- Not in spawn area. - end - if not ((BlockY <= (ycoord + PROTECTRADIUS)) and (BlockY >= (ycoord - PROTECTRADIUS))) then - return false -- Not in spawn area. - end - if not ((BlockZ <= (zcoord + PROTECTRADIUS)) and (BlockZ >= (zcoord - PROTECTRADIUS))) then - return false -- Not in spawn area. - end - - --WriteLog(1, BlockX, BlockY, BlockZ, Player:GetName(), id, meta) - - WarnPlayer(Player) - - return true - else - if BlockType == "50" or BlockType == "76" then - local X = BlockX - local Y = BlockY - local Z = BlockZ - X, Y, Z = AddFaceDirection(X, Y, Z, BlockFace) - if (Y >= 256 or Y < 0) then - return true - end - - local CheckCollision = function(Player) - -- drop the decimals, we only care about the full block X,Y,Z - local PlayerX = math.floor(Player:GetPosX(), 0) - local PlayerY = math.floor(Player:GetPosY(), 0) - local PlayerZ = math.floor(Player:GetPosZ(), 0) - - local collision = false - if ((BlockFace == BLOCK_FACE_TOP) and (PlayerY == BlockY - 2) and (PlayerX == BlockX) and (PlayerZ == BlockZ)) then - collision = true - end - - if ((BlockFace == BLOCK_FACE_BOTTOM) and (PlayerY == BlockY + 1) and (PlayerX == BlockX) and (PlayerZ == BlockZ)) then - collision = true - end - - if ((BlockFace == BLOCK_FACE_NORTH) and (PlayerX == BlockX) and (PlayerZ == BlockZ - 1)) then - if ((PlayerY == BlockY) or (PlayerY + 1 == BlockY)) then collision = true end - end - - if ((BlockFace == BLOCK_FACE_SOUTH) and (PlayerX == BlockX) and (PlayerZ == BlockZ + 1)) then - if ((PlayerY == BlockY) or (PlayerY + 1 == BlockY)) then collision = true end - end - - if ((BlockFace == BLOCK_FACE_WEST) and (PlayerX == BlockX - 1) and (PlayerZ == BlockZ)) then - if ((PlayerY == BlockY) or (PlayerY + 1 == BlockY)) then collision = true end - end - - if ((BlockFace == BLOCK_FACE_EAST) and (PlayerX == BlockX + 1) and (PlayerZ == BlockZ)) then - if ((PlayerY == BlockY) or (PlayerY + 1 == BlockY)) then collision = true end - end - return collision - end - if (Player:GetWorld():ForEachPlayer(CheckCollision) == false) then - return true - end - end - end - end - return false -end - -function OnPlayerBreakingBlock(Player, BlockX, BlockY, BlockZ, BlockFace, Status, OldBlockType, OldBlockMeta) - -- dont check if the direction is in the air - if (BlockFace ~= -1) then - - local PROTECTRADIUS = WorldsSpawnProtect[Player:GetWorld():GetName()]; - - if not (Player:HasPermission("core.build")) then - return true - else - if not (Player:HasPermission("core.spawnprotect.bypass")) and not (PROTECTRADIUS == 0) then - local World = Player:GetWorld() - local xcoord = World:GetSpawnX() - local ycoord = World:GetSpawnY() - local zcoord = World:GetSpawnZ() - - if not ((BlockX <= (xcoord + PROTECTRADIUS)) and (BlockX >= (xcoord - PROTECTRADIUS))) then - return false -- Not in spawn area. - end - if not ((BlockY <= (ycoord + PROTECTRADIUS)) and (BlockY >= (ycoord - PROTECTRADIUS))) then - return false -- Not in spawn area. - end - if not ((BlockZ <= (zcoord + PROTECTRADIUS)) and (BlockZ >= (zcoord - PROTECTRADIUS))) then - return false -- Not in spawn area. - end - - --WriteLog(0, BlockX, BlockY, BlockZ, Player:GetName(), id, meta) - - WarnPlayer(Player) - - return true - end - end - end - - return false -end
\ No newline at end of file |