summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins
diff options
context:
space:
mode:
Diffstat (limited to 'MCServer/Plugins')
-rw-r--r--MCServer/Plugins/ChatLog/plugin.lua27
-rw-r--r--MCServer/Plugins/ChunkWorx/chunkworx_main.lua4
-rw-r--r--MCServer/Plugins/Core/item.lua4
-rw-r--r--MCServer/Plugins/Core/main.lua42
-rw-r--r--MCServer/Plugins/Core/oncraftingnorecipe.lua14
-rw-r--r--MCServer/Plugins/Core/onplayerbreakingblock.lua (renamed from MCServer/Plugins/Core/onblockdig.lua)2
-rw-r--r--MCServer/Plugins/Core/onplayerjoin.lua4
-rw-r--r--MCServer/Plugins/Core/onplayerjoined.lua4
-rw-r--r--MCServer/Plugins/Core/onplayerplacingblock.lua (renamed from MCServer/Plugins/Core/onblockplace.lua)4
-rw-r--r--MCServer/Plugins/Debuggers/Debuggers.lua16
-rw-r--r--MCServer/Plugins/DiamondMover/DiamondMover.lua4
-rw-r--r--MCServer/Plugins/HookNotify/HookNotify.lua333
12 files changed, 405 insertions, 53 deletions
diff --git a/MCServer/Plugins/ChatLog/plugin.lua b/MCServer/Plugins/ChatLog/plugin.lua
index 0288d1aa9..9ef321b48 100644
--- a/MCServer/Plugins/ChatLog/plugin.lua
+++ b/MCServer/Plugins/ChatLog/plugin.lua
@@ -1,15 +1,30 @@
-function Initialize( Plugin )
- Plugin:SetName( "ChatLog" )
- Plugin:SetVersion( 2 )
+
+-- plugin.lua
+
+-- Implements the main entrypoint for the plugin, as well as all the handling needed
+
+-- ChatLog plugin logs all chat messages into the server log
+
+
+
+
+
+function Initialize(Plugin)
+ Plugin:SetName("ChatLog")
+ Plugin:SetVersion(3)
PluginManager = cRoot:Get():GetPluginManager()
- PluginManager:AddHook( Plugin, cPluginManager.E_PLUGIN_CHAT )
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_CHAT)
- LOG( "Initialized " .. Plugin:GetName() .. " v." .. Plugin:GetVersion() )
+ LOG("Initialized " .. Plugin:GetName() .. " v." .. Plugin:GetVersion())
return true
end
-function OnChat( Player, Message )
+
+
+
+
+function OnChat(Player, Message)
-- Lets get loggin'
LOGINFO("[" .. Player:GetName() .. "]: " .. Message);
diff --git a/MCServer/Plugins/ChunkWorx/chunkworx_main.lua b/MCServer/Plugins/ChunkWorx/chunkworx_main.lua
index 95d17aefc..66cf00b97 100644
--- a/MCServer/Plugins/ChunkWorx/chunkworx_main.lua
+++ b/MCServer/Plugins/ChunkWorx/chunkworx_main.lua
@@ -27,7 +27,7 @@ function Initialize(Plugin)
PLUGIN:SetVersion(6)
PluginManager = cRoot:Get():GetPluginManager()
- PluginManager:AddHook(PLUGIN, cPluginManager.E_PLUGIN_TICK)
+ PluginManager:AddHook(PLUGIN, cPluginManager.HOOK_TICK)
Plugin:AddWebTab("(Re)Generation", HandleRequest_Generation)
@@ -71,7 +71,7 @@ function OnDisable()
LOG(PLUGIN:GetName() .. " v" .. PLUGIN:GetVersion() .. " is shutting down...")
end
-function Tick( DeltaTime )
+function OnTick( DeltaTime )
if (GENERATION_STATE == 1 or GENERATION_STATE == 3) then
LOGINFO("" .. PLUGIN:GetName() .. " v" .. PLUGIN:GetVersion() .. ": works STARTED!")
LOGINFO("" .. PLUGIN:GetName() .. " v" .. PLUGIN:GetVersion() .. ": At world: " .. WORK_WORLD)
diff --git a/MCServer/Plugins/Core/item.lua b/MCServer/Plugins/Core/item.lua
index ce80ec7d3..00a6aa790 100644
--- a/MCServer/Plugins/Core/item.lua
+++ b/MCServer/Plugins/Core/item.lua
@@ -1,6 +1,6 @@
function HandleItemCommand( Split, Player )
if( #Split ~= 2 and #Split ~=3 ) then
- Player:SendMessage( cChatColor.Green .. "Usage: /item [ItemID/Name:Dmg] <Amount>" )
+ Player:SendMessage( cChatColor.Green .. "Usage: /item [ItemType/Name:Dmg] <Amount>" )
return true
end
@@ -12,7 +12,7 @@ function HandleItemCommand( Split, Player )
end
if( FoundItem == false ) then
- Player:SendMessage( cChatColor.Green .. "Invalid Item ID / Name !" )
+ Player:SendMessage( cChatColor.Green .. "Invalid Item type / name !" )
return true
end
diff --git a/MCServer/Plugins/Core/main.lua b/MCServer/Plugins/Core/main.lua
index c6a1b7e6a..97263f1d6 100644
--- a/MCServer/Plugins/Core/main.lua
+++ b/MCServer/Plugins/Core/main.lua
@@ -12,34 +12,34 @@ function Initialize( Plugin )
PLUGIN = Plugin
Plugin:SetName( "Core" )
- Plugin:SetVersion( 8 )
+ Plugin:SetVersion(9)
PluginManager = cRoot:Get():GetPluginManager()
- PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_JOIN)
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_JOINED)
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_BREAKING_BLOCK)
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_PLACING_BLOCK)
PluginManager:AddHook(Plugin, cPluginManager.HOOK_LOGIN)
- PluginManager:AddHook(Plugin, cPluginManager.HOOK_BLOCK_PLACE)
- PluginManager:AddHook(Plugin, cPluginManager.HOOK_BLOCK_DIG)
PluginManager:AddHook(Plugin, cPluginManager.HOOK_KILLED)
PluginManager:AddHook(Plugin, cPluginManager.HOOK_CRAFTING_NO_RECIPE)
PluginManager:AddHook(Plugin, cPluginManager.HOOK_CHAT) -- used in web_chat.lua
- Plugin:AddCommand("/help", " - [Page] Show this message", "core.help")
- Plugin:AddCommand("/pluginlist", " - Show list of plugins", "core.pluginlist")
- Plugin:AddCommand("/tp", " - [Player] - Teleport yourself to a player", "core.teleport")
- Plugin:AddCommand("/item", " - [ItemID/Name] <Amount> - Spawn an item for yourself", "core.item")
- Plugin:AddCommand("/list", " - Shows list of connected players", "core.playerlist")
- Plugin:AddCommand("/motd", " - Show message of the day", "core.motd")
- Plugin:AddCommand("/reload", " - Reload all plugins", "core.reload")
- Plugin:AddCommand("/stop", " - Stops the server", "core.stop")
- Plugin:AddCommand("/time", " - [Day/Night] - Sets the time of day", "core.time")
- Plugin:AddCommand("/spawn", " - Return to the spawn", "core.spawn")
- Plugin:AddCommand("/kick", " - [Player] - Kick a player", "core.kick")
- Plugin:AddCommand("/ban", " - [Player] - Ban a player", "core.ban")
- Plugin:AddCommand("/unban", " - [Player] - Unban a player", "core.unban")
- Plugin:AddCommand("/top", " - Teleport yourself to the top most block", "core.top")
- Plugin:AddCommand("/gm", " - [Gamemode (0|1)] - Change your gamemode", "core.changegm")
- Plugin:AddCommand("/gotoworld", " - Move to a different world!", "core.gotoworld")
- Plugin:AddCommand("/coords", " - Show your current server coordinates", "core.coords")
+ Plugin:AddCommand("/help", " - [Page] Show this message", "core.help")
+ Plugin:AddCommand("/pluginlist", " - Show list of plugins", "core.pluginlist")
+ Plugin:AddCommand("/tp", " - [Player] - Teleport yourself to a player", "core.teleport")
+ Plugin:AddCommand("/item", " - [ItemType/Name] <Amount> - Give yourself an item", "core.item")
+ Plugin:AddCommand("/list", " - Shows list of connected players", "core.playerlist")
+ Plugin:AddCommand("/motd", " - Show message of the day", "core.motd")
+ Plugin:AddCommand("/reload", " - Reload all plugins", "core.reload")
+ Plugin:AddCommand("/stop", " - Stops the server", "core.stop")
+ Plugin:AddCommand("/time", " - [Day/Night] - Sets the time of day", "core.time")
+ Plugin:AddCommand("/spawn", " - Return to the spawn", "core.spawn")
+ Plugin:AddCommand("/kick", " - [Player] - Kick a player", "core.kick")
+ Plugin:AddCommand("/ban", " - [Player] - Ban a player", "core.ban")
+ Plugin:AddCommand("/unban", " - [Player] - Unban a player", "core.unban")
+ Plugin:AddCommand("/top", " - Teleport yourself to the top most block", "core.top")
+ Plugin:AddCommand("/gm", " - [Gamemode (0|1)] - Change your gamemode", "core.changegm")
+ Plugin:AddCommand("/gotoworld", " - Move to a different world!", "core.gotoworld")
+ Plugin:AddCommand("/coords", " - Show your current server coordinates", "core.coords")
Plugin:AddCommand("/viewdistance", " - [".. cClientHandle.MIN_VIEW_DISTANCE .."-".. cClientHandle.MAX_VIEW_DISTANCE .."] - Change your view distance", "core.viewdistance")
Plugin:AddCommand("/regeneratechunk", " - <X [Z]> - Regenerates a chunk", "core.regeneratechunk")
diff --git a/MCServer/Plugins/Core/oncraftingnorecipe.lua b/MCServer/Plugins/Core/oncraftingnorecipe.lua
index 2006e410f..b6909d672 100644
--- a/MCServer/Plugins/Core/oncraftingnorecipe.lua
+++ b/MCServer/Plugins/Core/oncraftingnorecipe.lua
@@ -16,7 +16,7 @@ function OnCraftingNoRecipe(Player, Grid, Recipe)
for x = 0, Grid:GetWidth() - 1 do
for y = 0, Grid:GetHeight() - 1 do
local Item = Grid:GetItem(x, y)
- if (Item.m_ItemID ~= E_ITEM_EMPTY) then
+ if (Item.m_ItemType ~= E_ITEM_EMPTY) then
table.insert(Items, Item)
end
end
@@ -27,23 +27,23 @@ function OnCraftingNoRecipe(Player, Grid, Recipe)
return false
end
- if (Items[1].m_ItemID ~= Items[2].m_ItemID) then
+ if (Items[1].m_ItemType ~= Items[2].m_ItemType) then
-- Only items of the same type may be fixed
return false
end
if (
- (Items[1].m_ItemHealth == 0) or
- (Items[2].m_ItemHealth == 0)
+ (Items[1].m_ItemDamage == 0) or
+ (Items[2].m_ItemDamage == 0)
)
then
-- Only damaged items may be fixed
return false
end
- local _ID = Items[1].m_ItemID
- local _least_hp = math.max(Items[1].m_ItemHealth, Items[2].m_ItemHealth)
- local _most_hp = math.min(Items[1].m_ItemHealth, Items[2].m_ItemHealth)
+ local _ID = Items[1].m_ItemType
+ local _least_hp = math.max(Items[1].m_ItemDamage, Items[2].m_ItemDamage)
+ local _most_hp = math.min(Items[1].m_ItemDamage, Items[2].m_ItemDamage)
local _item_hp = 0
-- TODO: This could be refactored into better code, using an _ID-indexed table for _item_hp
diff --git a/MCServer/Plugins/Core/onblockdig.lua b/MCServer/Plugins/Core/onplayerbreakingblock.lua
index 65e48576c..fc7d5897d 100644
--- a/MCServer/Plugins/Core/onblockdig.lua
+++ b/MCServer/Plugins/Core/onplayerbreakingblock.lua
@@ -1,4 +1,4 @@
-function OnBlockDig(Player, BlockX, BlockY, BlockZ, BlockFace, Status, OldBlockType, OldBlockMeta)
+function OnPlayerBreakingBlock(Player, BlockX, BlockY, BlockZ, BlockFace, Status, OldBlockType, OldBlockMeta)
-- dont check if the direction is in the air
if (BlockFace ~= -1) then
diff --git a/MCServer/Plugins/Core/onplayerjoin.lua b/MCServer/Plugins/Core/onplayerjoin.lua
deleted file mode 100644
index e8263f608..000000000
--- a/MCServer/Plugins/Core/onplayerjoin.lua
+++ /dev/null
@@ -1,4 +0,0 @@
-function OnPlayerJoin( Player )
- ShowMOTDTo( Player )
- return false
-end \ No newline at end of file
diff --git a/MCServer/Plugins/Core/onplayerjoined.lua b/MCServer/Plugins/Core/onplayerjoined.lua
new file mode 100644
index 000000000..8aa067a0c
--- /dev/null
+++ b/MCServer/Plugins/Core/onplayerjoined.lua
@@ -0,0 +1,4 @@
+function OnPlayerJoined(Player)
+ ShowMOTDTo( Player )
+ return false
+end \ No newline at end of file
diff --git a/MCServer/Plugins/Core/onblockplace.lua b/MCServer/Plugins/Core/onplayerplacingblock.lua
index 9032f8207..be2fd64d3 100644
--- a/MCServer/Plugins/Core/onblockplace.lua
+++ b/MCServer/Plugins/Core/onplayerplacingblock.lua
@@ -1,4 +1,4 @@
-function OnBlockPlace(Player, BlockX, BlockY, BlockZ, BlockFace, HeldItem)
+function OnPlayerPlacingBlock(Player, BlockX, BlockY, BlockZ, BlockFace, CursorX, CursorY, CursorZ, BlockType)
-- dont check if the direction is in the air
if (BlockFace == -1) then
@@ -14,7 +14,7 @@ function OnBlockPlace(Player, BlockX, BlockY, BlockZ, BlockFace, HeldItem)
local X = BlockX
local Y = BlockY
local Z = BlockZ
- X, Y, Z = AddDirection(X, Y, Z, BlockFace)
+ X, Y, Z = AddFaceDirection(X, Y, Z, BlockFace)
if (Y >= 256 or Y < 0) then
return true
end
diff --git a/MCServer/Plugins/Debuggers/Debuggers.lua b/MCServer/Plugins/Debuggers/Debuggers.lua
index 5550f0335..f2f3f9570 100644
--- a/MCServer/Plugins/Debuggers/Debuggers.lua
+++ b/MCServer/Plugins/Debuggers/Debuggers.lua
@@ -13,7 +13,7 @@ function Initialize(Plugin)
Plugin:SetVersion(1)
PluginManager = cRoot:Get():GetPluginManager()
- PluginManager:AddHook(Plugin, cPluginManager.E_PLUGIN_BLOCK_PLACE)
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USING_ITEM)
PluginManager:AddHook(Plugin, cPluginManager.HOOK_TAKE_DAMAGE)
LOG("Initialized " .. Plugin:GetName() .. " v." .. Plugin:GetVersion())
@@ -24,13 +24,15 @@ end
-function OnBlockPlace(Player, BlockX, BlockY, BlockZ, BlockFace, HeldItem)
+function OnPlayerUsingItem(Player, BlockX, BlockY, BlockZ, BlockFace, CursorX, CursorY, CursorZ)
-- dont check if the direction is in the air
- if BlockFace == BLOCK_FACE_NONE then
+ if (BlockFace == BLOCK_FACE_NONE) then
return false
end
+ local HeldItem = Player:GetEquippedItem();
+
if (HeldItem.m_ItemType == E_ITEM_STICK) then
-- Magic sTick of ticking: set the pointed block for ticking at the next tick
Player:SendMessage(cChatColor.LightGray .. "Setting next block tick to {" .. BlockX .. ", " .. BlockY .. ", " .. BlockZ .. "}")
@@ -42,7 +44,9 @@ function OnBlockPlace(Player, BlockX, BlockY, BlockZ, BlockFace, HeldItem)
-- Magic rod of query: show block types and metas for both neighbors of the pointed face
local Type = 0;
local Meta = 0;
- Type, Meta = Player:GetWorld():GetBlockTypeMeta(BlockX, BlockY, BlockZ, Type, Meta);
+ local Valid = false;
+ Valid, Type, Meta = Player:GetWorld():GetBlockTypeMeta(BlockX, BlockY, BlockZ, Type, Meta);
+
if (Type == E_BLOCK_AIR) then
Player:SendMessage(cChatColor.LightGray .. "Block {" .. BlockX .. ", " .. BlockY .. ", " .. BlockZ .. "}: air:" .. Meta);
else
@@ -53,8 +57,8 @@ function OnBlockPlace(Player, BlockX, BlockY, BlockZ, BlockFace, HeldItem)
local X = BlockX;
local Y = BlockY;
local Z = BlockZ;
- X, Y, Z = AddDirection(BlockX, BlockY, BlockZ, BlockFace);
- Type, Meta = Player:GetWorld():GetBlockTypeMeta(X, Y, Z, Type, Meta);
+ X, Y, Z = AddFaceDirection(BlockX, BlockY, BlockZ, BlockFace);
+ Valid, Type, Meta = Player:GetWorld():GetBlockTypeMeta(X, Y, Z, Type, Meta);
if (Type == E_BLOCK_AIR) then
Player:SendMessage(cChatColor.LightGray .. "Block {" .. X .. ", " .. Y .. ", " .. Z .. "}: air:" .. Meta);
else
diff --git a/MCServer/Plugins/DiamondMover/DiamondMover.lua b/MCServer/Plugins/DiamondMover/DiamondMover.lua
index 075268fa4..eaced1058 100644
--- a/MCServer/Plugins/DiamondMover/DiamondMover.lua
+++ b/MCServer/Plugins/DiamondMover/DiamondMover.lua
@@ -25,7 +25,7 @@ function Initialize(Plugin)
Plugin:SetVersion(1);
PluginManager = cRoot:Get():GetPluginManager();
- PluginManager:AddHook(Plugin, cPluginManager.HOOK_BLOCK_PLACE);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USED_ITEM);
return true;
end
@@ -33,7 +33,7 @@ end
-function OnBlockPlace(Player, BlockX, BlockY, BlockZ, BlockFace, HeldItem)
+function OnPlayerUsedItem(Player, BlockX, BlockY, BlockZ, BlockFace, CursorX, CursorY, CursorZ)
-- Don't check if the direction is in the air
if (BlockFace == -1) then
diff --git a/MCServer/Plugins/HookNotify/HookNotify.lua b/MCServer/Plugins/HookNotify/HookNotify.lua
new file mode 100644
index 000000000..5a5a48c72
--- /dev/null
+++ b/MCServer/Plugins/HookNotify/HookNotify.lua
@@ -0,0 +1,333 @@
+
+-- Global variables
+PLUGIN = {} -- Reference to own plugin object
+
+
+
+
+
+function Initialize(Plugin)
+ PLUGIN = Plugin
+
+ Plugin:SetName("HookNotify")
+ Plugin:SetVersion(1)
+
+ PluginManager = cRoot:Get():GetPluginManager()
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_CHAT);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_CHUNK_GENERATED);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_CHUNK_GENERATING);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_COLLECT_PICKUP);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_CRAFTING_NO_RECIPE);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_DISCONNECT);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_HANDSHAKE);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_KILLED);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_LOGIN);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_BREAKING_BLOCK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_BROKEN_BLOCK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_EATING);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_JOINED);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_LEFT_CLICK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_MOVED);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_PLACED_BLOCK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_PLACING_BLOCK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_RIGHTCLICK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_SHOOTING);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_SPAWNED);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_TOSSING_ITEM);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USED_BLOCK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USED_ITEM);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USING_BLOCK);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PLAYER_USING_ITEM);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_POST_CRAFTING);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_PRE_CRAFTING);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_TAKE_DAMAGE);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_UPDATED_SIGN);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_UPDATING_SIGN);
+ PluginManager:AddHook(Plugin, cPluginManager.HOOK_WEATHER_CHANGED);
+
+ LOGINFO("HookNotify plugin is installed, beware, the log output may be quite large!");
+ LOGINFO("You want this plugin enabled only when developing another plugin, not for regular gameplay.");
+
+ return true
+end
+
+
+
+
+
+function LogHook(FnName, ...)
+ LOG(FnName .. "(");
+ for i, v in ipairs(arg) do
+ local vt = tostring(v);
+ local TypeString = type(v);
+ if (type(v) == "userdata") then
+ TypeString = tolua.type(v);
+ end;
+ LOG(" " .. tostring(i) .. ": " .. TypeString .. ": " .. tostring(v));
+ end
+ LOG(")");
+end
+
+
+
+
+
+function OnChat(...)
+ LogHook("OnChat", unpack(arg));
+end
+
+
+
+
+
+function OnChunkGenerated(...)
+ LogHook("OnChunkGenerated", unpack(arg));
+end
+
+
+
+
+
+function OnChunkGenerating(...)
+ LogHook("OnChunkGenerating", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerUsingItem(...)
+ LogHook("OnPlayerUsingItem", unpack(arg));
+end
+
+
+
+
+
+function OnCollectPickup(...)
+ LogHook("OnCollectPickup", unpack(arg));
+end
+
+
+
+
+function OnCraftingNoRecipe(...)
+ LogHook("OnCraftingNoRecipe", unpack(arg));
+end
+
+
+
+
+
+function OnDisconnect(...)
+ LogHook("OnDisconnect", unpack(arg));
+end
+
+
+
+
+
+function OnHandshake(...)
+ LogHook("OnHandshake", unpack(arg));
+end
+
+
+
+
+
+function OnKilled(...)
+ LogHook("OnKilled", unpack(arg));
+end
+
+
+
+
+
+function OnLogin(...)
+ LogHook("OnLogin", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerBreakingBlock(...)
+ LogHook("OnPlayerBreakingBlock", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerBrokenBlock(...)
+ LogHook("OnPlayerBrokenBlock", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerEating(...)
+ LogHook("OnPlayerEating", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerJoined(...)
+ LogHook("OnPlayerJoined", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerLeftClick(...)
+ LogHook("OnPlayerLeftClick", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerMoved(...)
+ LogHook("OnPlayerMoved", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerPlacedBlock(...)
+ LogHook("OnPlayerPlacedBlock", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerPlacingBlock(...)
+ LogHook("OnPlayerPlacingBlock", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerRightClick(...)
+ LogHook("OnPlayerRightClick", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerShooting(...)
+ LogHook("OnPlayerShooting", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerSpawned(...)
+ LogHook("OnPlayerSpawned", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerTossingItem(...)
+ LogHook("OnPlayerTossingItem", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerUsedBlock(...)
+ LogHook("OnPlayerUsedBlock", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerUsedItem(...)
+ LogHook("OnPlayerUsedItem", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerUsingBlock(...)
+ LogHook("OnPlayerUsingBlock", unpack(arg));
+end
+
+
+
+
+
+function OnPlayerUsingItem(...)
+ LogHook("OnPlayerUsingItem", unpack(arg));
+end
+
+
+
+
+
+function OnPostCrafting(...)
+ LogHook("OnPostCrafting", unpack(arg));
+end
+
+
+
+
+
+function OnPreCrafting(...)
+ LogHook("OnPreCrafting", unpack(arg));
+end
+
+
+
+
+
+function OnUpdatedSign(...)
+ LogHook("OnUpdatedSign", unpack(arg));
+end
+
+
+
+
+
+function OnUpdatingSign(...)
+ LogHook("OnUpdatingSign", unpack(arg));
+end
+
+
+
+
+
+function OnWeatherChanged(...)
+ LogHook("OnWeatherChanged", unpack(arg));
+end
+
+
+
+
+
+------------------------------------------------------------------
+-- Special handling for OnTakeDamage to print the contents of TDI:
+
+function OnTakeDamage(Receiver, TDI)
+ -- Receiver is cPawn
+ -- TDI is TakeDamageInfo
+
+ LOG("OnTakeDamage(): " .. Receiver:GetClass() .. " was dealt RawDamage " .. TDI.RawDamage .. ", FinalDamage " .. TDI.FinalDamage .. " (that is, " .. (TDI.RawDamage - TDI.FinalDamage) .. " HPs covered by armor)");
+end
+
+
+