1
0
cuberite-2a/MCServer/Plugins/Core/give.lua
Alexander Harkness 67924b5941 Pulled in the latest version of core - fix the bugs that were stopping - #5
Squashed commit of the following:

commit 1ca42172391d41ba71c65a3f15d3a96d15a80496
Merge: 52a6f4e 7a40336
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 09:01:45 2013 -0700

    Merge pull request #2 from tigerw/master

    Fixed /give descriptor & removed webadmin

commit 7a40336437525c447adae3d9800e75b39c0300c4
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 17:00:38 2013 +0100

    Fixed /give descriptor & removed webadmin

commit 52a6f4e35bdea2ae9f33977928b6693f5800e515
Merge: f5d56ff 2af1da8
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 08:51:45 2013 -0700

    Merge pull request #1 from tigerw/master

    Added TPA (tonibm9's fork)

commit 2af1da8a3cd8e94674b22805662b83de87ac4a95
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 16:38:10 2013 +0100

    Added TPA (tonibm9's fork)

    With code from STR_Warrior.

commit f5d56ffeb02fef4735e846661fa71d15622d25b9
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Sat Jul 27 15:51:18 2013 +0100

    Integrated SpawnProtect & Bugfixes [SEE DESC.]

    Integrated bearbin's SpawnProtect. Fixed config file bugs. Improved
    SpawnProtect to use settings.ini. Variable cleanup (SHOW_PLUGIN_NAMES).
    File and filename cleanup.

commit 56dc51c00af4514253c04e38b5ccc9fbed2f0022
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Fri Jul 26 23:14:40 2013 +0100

    Update README.md

    Added info.

commit acd7e2849dcd7f3ee7bdc6b0f9b777ee1d9cbb3c
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Fri Jul 26 19:37:59 2013 +0100

    Implemented Block Property checking for Collisions

    Used g_BlockIsSolid, instead of checking data values.

commit 246d423ff9660a2b00a1c51e6276ec74eb3419de
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Fri Jul 26 15:49:55 2013 +0100

    Updated Files

    Buildpermandcollision: updated collision code to check for torches and
    redstone torches.
    Help: attempt at always showing page number
    Web_serversettings: attempt at introducing a check for Maximum Players
    (must be above zero).

commit 868f99ab49edeee78f4fc1c212c6bf614b860378
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 19:46:08 2013 +0100

    Update README.md

    Extended 'GUI Redesign' section.

commit e0df40bd082bdeb5c6823b485bc5001103a77502
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 19:43:00 2013 +0100

    Update README.md

    Added features and fixes and instructions for use.

commit 332d8221f753f1a38d6c21bfc30af5890f48e3bb
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 19:35:27 2013 +0100

    Uploaded All Files

    All Core files, both modified and unmodified.

commit 3dd191f6bed71c863ee264856fbc3660e52cf88b
Author: Tiger Wang <ziwei.tiger@hotmail.co.uk>
Date:   Thu Jul 25 04:59:50 2013 -0700

    Initial commit
2013-07-27 17:07:28 +01:00

39 lines
1.3 KiB
Lua

function HandleGiveCommand(Split, Player)
if ((#Split ~= 2) and (#Split ~=3)) then
Player:SendMessage(cChatColor.Green .. "Usage: /give [ItemType/Name:Dmg] <Amount>");
return true;
end
local Item = cItem();
local FoundItem = StringToItem(Split[2], Item);
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.Green .. "Invalid item id or name!" )
return true
end
local ItemAmount = 1;
if (#Split == 3) then
ItemAmount = tonumber(Split[3]);
if ((ItemAmount == nil) or (ItemAmount < 1) or (ItemAmount > 512)) then
Player:SendMessage(cChatColor.Green .. "Invalid amount!");
return true;
end
end
Item.m_ItemCount = ItemAmount;
local ItemsGiven = Player:GetInventory():AddItem(Item);
if (ItemsGiven == ItemAmount) then
Player:SendMessage( cChatColor.Green .. "There you go!");
LOG("Gave " .. Player:GetName() .. " " .. Item.m_ItemCount .. " times " .. Item.m_ItemType .. ":" .. Item.m_ItemDamage);
else
Player:SendMessage(cChatColor.Green .. "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