diff options
author | Alexander Harkness <bearbin@gmail.com> | 2013-08-11 17:00:53 +0200 |
---|---|---|
committer | Alexander Harkness <bearbin@gmail.com> | 2013-08-11 17:00:53 +0200 |
commit | cc708f757c19a2e0c66f138897f41d86d46dd0fb (patch) | |
tree | 768cee0a544f131cf6964c058ec2881346880804 /MCServer/Plugins/Core/give.lua | |
parent | Added the OnHopperPullingItem and OnHopperPushingItem hooks. (diff) | |
download | cuberite-cc708f757c19a2e0c66f138897f41d86d46dd0fb.tar cuberite-cc708f757c19a2e0c66f138897f41d86d46dd0fb.tar.gz cuberite-cc708f757c19a2e0c66f138897f41d86d46dd0fb.tar.bz2 cuberite-cc708f757c19a2e0c66f138897f41d86d46dd0fb.tar.lz cuberite-cc708f757c19a2e0c66f138897f41d86d46dd0fb.tar.xz cuberite-cc708f757c19a2e0c66f138897f41d86d46dd0fb.tar.zst cuberite-cc708f757c19a2e0c66f138897f41d86d46dd0fb.zip |
Diffstat (limited to 'MCServer/Plugins/Core/give.lua')
-rw-r--r-- | MCServer/Plugins/Core/give.lua | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/MCServer/Plugins/Core/give.lua b/MCServer/Plugins/Core/give.lua index ba3a1eb41..04f01614d 100644 --- a/MCServer/Plugins/Core/give.lua +++ b/MCServer/Plugins/Core/give.lua @@ -2,32 +2,33 @@ function HandleGiveCommand(Split, Player) -- Make sure there are a correct number of arguments. if #Split ~= 3 and #Split ~= 4 and #Split ~= 5 then - Player:SendMessage( cChatColor.Yellow .. "[INFO] " .. cChatColor.White .. "Usage: /give <player> <item> [amount] [meta]" ) + SendMessage( Player, "Usage: /give <player> <item> [amount] [meta]" ) return true end -- Get the item from the arguments and check it's valid. local Item = cItem() if #Split == 5 then - local FoundItem = StringToItem(Split[3] .. ":" .. Split[5], Item) + local FoundItem = StringToItem( Split[3] .. ":" .. Split[5], Item ) else - local FoundItem = StringToItem(Split[3], Item) - end - if not IsValidItem(Item.m_ItemType) then -- StringToItem does not check if item is valid + local FoundItem = StringToItem( Split[3], Item ) + end + + if not IsValidItem( Item.m_ItemType ) then -- StringToItem does not check if item is valid FoundItem = false end if not FoundItem then - Player:SendMessage(cChatColor.Rose .. "[INFO] " .. cChatColor.White .. "Invalid item id or name!" ) + SendMessageFailure( Player, "Invalid item id or name!" ) return true end -- Work out how many items the user wants. local ItemAmount = 1 if #Split > 3 then - ItemAmount = tonumber(Split[4]) + ItemAmount = tonumber( Split[4] ) if ItemAmount == nil or ItemAmount < 1 or ItemAmount > 512 then - Player:SendMessage(cChatColor.Rose .. "[INFO] " .. cChatColor.White .. "Invalid amount!" ) + SendMessageFailure( Player, "Invalid amount!" ) return true end end @@ -37,27 +38,27 @@ function HandleGiveCommand(Split, Player) -- Get the playername from the split. local playerName = Split[2] - local function giveItems(newPlayer) - local ItemsGiven = newPlayer:GetInventory():AddItem(Item) + local function giveItems( newPlayer ) + local ItemsGiven = newPlayer:GetInventory():AddItem( Item ) if ItemsGiven == ItemAmount then - newPlayer:SendMessage(cChatColor.Green .. "[INFO] " .. cChatColor.White .. "You were given " .. Item.m_ItemCount .. " of " .. Item.m_ItemType .. "." ) + SendMessageSuccess( newPlayer, "You were given " .. Item.m_ItemCount .. " of " .. Item.m_ItemType .. "." ) if not newPlayer == Player then - Player:SendMessage(cChatColor.Green .. "[INFO] " .. cChatColor.White .. "Items given!" ) + SendMessageSuccess( Player, "Items given!" ) end - LOG("Gave " .. newPlayer:GetName() .. " " .. Item.m_ItemCount .. " times " .. Item.m_ItemType .. ":" .. Item.m_ItemDamage) + LOG("Gave " .. newPlayer:GetName() .. " " .. Item.m_ItemCount .. " times " .. Item.m_ItemType .. ":" .. Item.m_ItemDamage ) else - Player:SendMessage( cChatColor.Rose .. "[INFO] " .. cChatColor.White .. "Not enough space in inventory, only gave " .. ItemsGiven) + SendMessageFailure( Player, "Not enough space in inventory, only gave " .. ItemsGiven ) LOG( "Player " .. Player:GetName() .. " asked for " .. Item.m_ItemCount .. " times " .. Item.m_ItemType .. ":" .. Item.m_ItemDamage ..", but only could fit " .. ItemsGiven ) end return true end -- Finally give the items to the player. - itemStatus = cRoot:Get():FindAndDoWithPlayer(playerName, giveItems) + itemStatus = cRoot:Get():FindAndDoWithPlayer( playerName, giveItems ) -- Check to make sure that giving items was successful. if not itemStatus then - Player:SendMessage( cChatColor.Rose .. "[INFO] " .. cChatColor.White .. "There was no player that matched your query.") + SendMessageFailure( Player, "There was no player that matched your query." ) end return true |