From 53e22b11857fed62e2313d6d84d90f88ed412ffb Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Mon, 29 Jul 2013 12:13:03 +0100 Subject: Changed everyting to Unix line endings. --- MCServer/Plugins/DiamondMover/DiamondMover.lua | 164 ++++++++++++------------- 1 file changed, 82 insertions(+), 82 deletions(-) (limited to 'MCServer/Plugins/DiamondMover/DiamondMover.lua') diff --git a/MCServer/Plugins/DiamondMover/DiamondMover.lua b/MCServer/Plugins/DiamondMover/DiamondMover.lua index eaced1058..c89a3394f 100644 --- a/MCServer/Plugins/DiamondMover/DiamondMover.lua +++ b/MCServer/Plugins/DiamondMover/DiamondMover.lua @@ -1,83 +1,83 @@ - --- DiamondMover.lua - --- An example Lua plugin using the cBlockArea object --- When a player rclks with a diamond in their hand, an area around the clicked block is moved in the direction the player is facing - - - - - --- Global variables -PLUGIN = {} -- Reference to own plugin object -MOVER_SIZE_X = 4; -MOVER_SIZE_Y = 4; -MOVER_SIZE_Z = 4; - - - - - -function Initialize(Plugin) - PLUGIN = Plugin; - - Plugin:SetName("DiamondMover"); - Plugin:SetVersion(1); - - PluginManager = cRoot:Get():GetPluginManager(); - PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USED_ITEM); - return true; -end - - - - - -function OnPlayerUsedItem(Player, BlockX, BlockY, BlockZ, BlockFace, CursorX, CursorY, CursorZ) - - -- Don't check if the direction is in the air - if (BlockFace == -1) then - return false; - end; - - if (Player:HasPermission("diamondmover.move") == false) then - return true; - end; - - -- Rclk with a diamond to push in the direction the player is facing - if (Player:GetEquippedItem().m_ItemType == E_ITEM_DIAMOND) then - local Area = cBlockArea(); - Area:Read(Player:GetWorld(), - BlockX - MOVER_SIZE_X, BlockX + MOVER_SIZE_X, - BlockY - MOVER_SIZE_Y, BlockY + MOVER_SIZE_Y, - BlockZ - MOVER_SIZE_Z, BlockZ + MOVER_SIZE_Z - ); - - local PlayerPitch = Player:GetPitch(); - if (PlayerPitch < -70) then -- looking up - BlockY = BlockY + 1; - else - if (PlayerPitch > 70) then -- looking down - BlockY = BlockY - 1; - else - local PlayerRot = Player:GetRotation() + 180; -- Convert [-180, 180] into [0, 360] for simpler conditions - if ((PlayerRot < 45) or (PlayerRot > 315)) then - BlockZ = BlockZ - 1; - else - if (PlayerRot < 135) then - BlockX = BlockX + 1; - else - if (PlayerRot < 225) then - BlockZ = BlockZ + 1; - else - BlockX = BlockX - 1; - end; - end; - end; - end; - end; - - Area:Write(Player:GetWorld(), BlockX - MOVER_SIZE_X, BlockY - MOVER_SIZE_Y, BlockZ - MOVER_SIZE_Z); - return false; - end + +-- DiamondMover.lua + +-- An example Lua plugin using the cBlockArea object +-- When a player rclks with a diamond in their hand, an area around the clicked block is moved in the direction the player is facing + + + + + +-- Global variables +PLUGIN = {} -- Reference to own plugin object +MOVER_SIZE_X = 4; +MOVER_SIZE_Y = 4; +MOVER_SIZE_Z = 4; + + + + + +function Initialize(Plugin) + PLUGIN = Plugin; + + Plugin:SetName("DiamondMover"); + Plugin:SetVersion(1); + + PluginManager = cRoot:Get():GetPluginManager(); + PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USED_ITEM); + return true; +end + + + + + +function OnPlayerUsedItem(Player, BlockX, BlockY, BlockZ, BlockFace, CursorX, CursorY, CursorZ) + + -- Don't check if the direction is in the air + if (BlockFace == -1) then + return false; + end; + + if (Player:HasPermission("diamondmover.move") == false) then + return true; + end; + + -- Rclk with a diamond to push in the direction the player is facing + if (Player:GetEquippedItem().m_ItemType == E_ITEM_DIAMOND) then + local Area = cBlockArea(); + Area:Read(Player:GetWorld(), + BlockX - MOVER_SIZE_X, BlockX + MOVER_SIZE_X, + BlockY - MOVER_SIZE_Y, BlockY + MOVER_SIZE_Y, + BlockZ - MOVER_SIZE_Z, BlockZ + MOVER_SIZE_Z + ); + + local PlayerPitch = Player:GetPitch(); + if (PlayerPitch < -70) then -- looking up + BlockY = BlockY + 1; + else + if (PlayerPitch > 70) then -- looking down + BlockY = BlockY - 1; + else + local PlayerRot = Player:GetRotation() + 180; -- Convert [-180, 180] into [0, 360] for simpler conditions + if ((PlayerRot < 45) or (PlayerRot > 315)) then + BlockZ = BlockZ - 1; + else + if (PlayerRot < 135) then + BlockX = BlockX + 1; + else + if (PlayerRot < 225) then + BlockZ = BlockZ + 1; + else + BlockX = BlockX - 1; + end; + end; + end; + end; + end; + + Area:Write(Player:GetWorld(), BlockX - MOVER_SIZE_X, BlockY - MOVER_SIZE_Y, BlockZ - MOVER_SIZE_Z); + return false; + end end \ No newline at end of file -- cgit v1.2.3