summaryrefslogtreecommitdiffstats
path: root/src/Bindings/PluginLua.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-21Implement Dropspenser Hook (#4903)KrystilizeNevaDies1-0/+9
* Implement Dropspenser Hook Implemented a hook for dropspensing. HOOK_DROPSPENSE When plugin callback returns true then dropspense is cancelled * Update src/Bindings/PluginManager.h Co-authored-by: peterbell10 <peterbell10@live.co.uk> * Create OnDropSpense.lua * Fix indent * Forgot include Forgot to include the plugin manager. Although now im confused why it was working on my end without including the plugin manager * Update plugins.lua with dropspense * fix typos * haha notepad++ go brr Co-authored-by: peterbell10 <peterbell10@live.co.uk>
2020-05-15Enable some more clang-tidy linter checks (#4738)peterbell101-1/+1
* Avoid inefficient AString -> c_str() -> AString round trip * Avoid redundant string init expressions * Avoid unnecessary return, continue, etc. * Add .clang-format to help with clang-tidy fix-its * Avoid unnecessary passing by value * Avoid unnecessary local copying * Avoid copying in range-for loops * Avoid over-complicated boolean expressions * Some violations missed by my local clang-tidy * Allow unnecessary continue statements * Add brackets * Another expression missed locally * Move BindingsProcessor call into clang-tidy.sh and add space * Fix pushd not found error * Different grouping of CheckBlockInteractionRate
2020-05-07Remove old Android leftovers (#4722)Mat1-3/+3
2020-04-16Using Super.Mattes D1-1/+1
2020-03-23Manual merge of #4498.Alexander Harkness1-2/+13
Credit to @MeMuXin Closes #4498
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-2/+17
2018-05-02Prefer static_cast to reinterpret_cast (#4223)peterbell101-14/+14
* Change reinterpret_cast -> static_cast wherever possible * Remove more unnecessary `const_cast`s. reinterpret_casts should be avoided for the same reason as c-style casts - they don't do any type-checking. reinterpret_cast was mainly being used for down-casting in inheritance hierarchies but static_cast works just as well while also making sure that there is actually an inheritance relationship there.
2017-08-27Implement Forge protocol handshake support (#3869)satoshinm1-0/+10
2017-08-17Add cLuaWindow OnClicked Callback (#3901)Lane Kolbly1-0/+10
2017-07-07Changed Lua plugins to only execute files ending in .lua (#3831)Lane Kolbly1-1/+2
2017-05-09Fixed Lua bindings for const objects.Mattes D1-1/+2
2017-01-18DeadlockDetect now lists some tracked CS's stats.Mattes D1-2/+5
2016-09-05PluginLua: Removed unneeded assignment.Mattes D1-1/+0
Duplicated in SetLoadError().
2016-06-27Converted cLuaState::cCallbackPtr into a UniquePtr.Mattes D1-3/+3
2016-06-27Removed dead code related to callbacks.Mattes D1-26/+0
2016-06-27cPluginManager: Use a callback for command handler registration.Mattes D1-108/+1
2016-06-27LuaState: Implemented proper locking for cCallback.Mattes D1-52/+38
2016-06-27Removed the cPluginLua::cResettable class.Mattes D1-45/+0
The functionality provided by that class has been superseded by cLuaState::cCallback, with better multithreading support.
2016-06-27Changed plugin hook registrations to use cLuaState::cCallback.Mattes D1-985/+111
2016-06-27Removed cWebPlugin, WebAdmin uses cLuaState::cCallback.Mattes D1-47/+17
2016-03-21Revert "Lua callback"Mattes D1-121/+1070
2016-03-17Removed the cPluginLua::cResettable class.Mattes D1-45/+0
The functionality provided by that class has been superseded by cLuaState::cCallback, with better multithreading support.
2016-03-17Changed plugin hook registrations to use cLuaState::cCallback.Mattes D1-985/+111
2016-03-17Removed cWebPlugin, WebAdmin uses cLuaState::cCallback.Mattes D1-47/+17
2016-02-05Bulk clearing of whitespaceLogicParrot1-17/+17
2015-12-18Revised the explosion-related Lua API and docs.Mattes D1-20/+28
Fixes #2746.
2015-11-03Implemented brewingLukas Pioch1-0/+48
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney1-82/+82
2015-06-13Added HOOK_KILLEDNounours Heureux1-0/+24
2015-05-21Renamed hook HOOK_ENTITY_CHANGE_WORLDLukas Pioch1-3/+3
2015-05-19Added LuaState support for all integral typestycho1-10/+0
All so added error handling for out of range values
2015-05-18Added hooks HOOK_ENTITY_CHANGE_WORLD and HOOK_ENTITY_CHANGED_WORLDLukas Pioch1-0/+50
Fixes #1435.
2015-05-10OnExecuteCommand hook can override the command result (crXXX).Mattes D1-2/+2
2015-05-10Added the EntireCommand parameter to HOOK_EXECUTE_COMMAND.Mattes D1-2/+2
Fixes #1996.
2015-04-25Plugin removes its command registrations and webtabs when unloaded.Mattes D1-0/+5
Fixes #1890.
2015-04-19Refactored cWebPlugin for C++11 style and proper WebTab clearing.Mattes D1-32/+16
2015-04-19Split the plugin names and plugin folders to avoid confusing them.Mattes D1-1/+18
Ref.: http://forum.mc-server.org/showthread.php?tid=1877
2015-04-10Fixed plugin hook calls when unloading plugins.Mattes D1-1/+248
If a plugin installs any hooks in its Initialize method and then causes the Lua runtime to abort, the server asserted because the hooks were called while the plugin was being unloaded.
2015-03-20cPluginLua:cResettable no longer shares CS with plugin.Mattes D1-7/+11
This fixes locking the resettable while the plugin is already gone. Hopefully no deadlocks.
2015-03-20Added cPluginLua::cResettable interface, used for scheduled tasks.Mattes D1-16/+61
This allows plugins to register objects that can "survive" the plugin unloading - they will simply bail out if the plugin is already unloaded, instead of referencing bad plugin data. Fixes #1556.
2015-03-11Fixed coding conventions for Pull Request #1807flx51-4/+4
2015-03-11Fixes #493 and #490flx51-4/+4
2015-03-05Added OnTeleportEntity hook for plugins.joshi071-0/+21
Plugins may or may not allow teleport to the new position. Updated the HookNotify plugin with it.
2015-01-11Initial convertion of a_Dt to std::chronoTycho1-1/+1
also refactored cWorld::m_WorldAge and cWorld::m_TimeOfDay
2014-12-24Refactored all player block placing to go through hooks.Mattes D1-4/+14
Fixes #1618.
2014-12-04Fixed the CRAFTING_NO_RECIPE hook call.Mattes D1-1/+1
It used a pointer-to-pointer-to-cCraftingRecipe, which the Lua bindings didn't know how to handle, and emitted a warning message at runtime. Fixes #1641.
2014-10-23En masse NULL -> nullptr replaceTiger Wang1-7/+7
2014-10-20En masse NULL -> nullptr replaceTiger Wang1-7/+7
2014-10-15Functions in cPluginManager get references instead of pointers.Mattes D1-41/+41
2014-09-26Removed a few unnessicary includesTycho1-1/+3
2014-08-22Fixed cPlugin::OnPlayerMoving signature.Mattes D1-1/+1
2014-08-21Fixed a compile-time warning in MSVC.Mattes D1-1/+1
2014-08-20Renamed a_Motd to a_ServerDescription.Howaner1-2/+2
2014-08-20Added a_ClientHandle to the HOOK_SERVER_PING hook.Howaner1-2/+3
2014-08-20Added HOOK_SERVER_PINGHowaner1-2/+2
2014-08-16Better OnPlayerMoving hook.Howaner1-2/+2
2014-08-16First implementation of HOOK_SERVER_PING.Howaner1-0/+20
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-1/+1
2014-07-17Basic style fixes.madmaxoft1-7/+7
2014-07-17Normalized comments.madmaxoft1-2/+2
This was mostly done automatically and then visually inspected for obvious errors. All //-style comments should have a 2-space separation from the code, and 1 space after the comment sign.
2014-07-16Resolved backwards compatibility issuesTiger Wang1-2/+2
2014-07-12For now, removed creator member from Entity Effect for pointer safetyarchshift1-2/+2
2014-07-04Tailored death messagesTiger Wang1-2/+2
2014-07-03Changed OnWeatherChanging hook to always read the returned weather.madmaxoft1-4/+1
Ref.: http://forum.mc-server.org/showthread.php?tid=1512
2014-07-02Removed foodlevel-change possibility. Plugins can cancel the event and use cPlayer:SetFoodLevel()Howaner1-2/+2
2014-07-01Fixed a possibly unused variable.madmaxoft1-1/+1
2014-06-30Fixes.Howaner1-1/+1
2014-06-30Add new hook: HOOK_PLAYER_FOOD_LEVEL_CHANGEHowaner1-0/+20
2014-06-19Nullify deleted pointers.archshift1-0/+1
2014-06-17Added the OnEntityAddEffect hook.madmaxoft1-0/+21
2014-06-03Fixed OnProjectileHitBlock bindings.madmaxoft1-1/+1
Also sorted the various cLuaState::Push() functions.
2014-06-01Made a_BlockHitPos a referenceSTRWarrior1-2/+2
2014-05-31Used recommendationsSTRWarrior1-2/+2
2014-05-02HOOK_DISCONNECT has cClientHandle as its first parameter.madmaxoft1-2/+2
Ref.: #655.
2014-04-27Fixed OnPluginMessage hook not exiting early.Tycho1-1/+1
OnPluginMessage hook would call all plugins even after one returned true. Fixes CID 43512
2014-03-30Using recommendations (I think)STRWarrior1-1/+1
2014-03-30Added a BlockHitPos parameter to OnProjectileHitBlockSTRWarrior1-2/+2
2014-03-30Added a blockface parameter to the OnProjectileHitBlock hook.STRWarrior1-2/+2
2014-03-29Added HOOK_PROJECTILE_HIT_BLOCK.STRWarrior1-0/+20
2014-03-29Added HOOK_PROJECTILE_HIT_ENTITYSTRWarrior1-0/+20
2014-03-27Add SpreadSourceHowaner1-2/+2
2014-03-27Add HOOK_BLOCK_SPREADHowaner1-0/+21
2014-03-25More fixes to get it to compile for me on Mac 10.9. Mostly just newline additions, but some of the unused variables were causing errors, so I wrapped them in #ifndef __APPLE__ calls, since I didn't know if they were going to be used in the future.Samuel Barney1-0/+5
Also had to undefine TOLUA_TEMPLATE_BIND a couple of times.
2014-03-12Moved Lua API registering into a separate function.madmaxoft1-0/+1
This will allow us to use Lua as lite-config files as well, should we want to.
2014-02-17Add Lua plugin path to package.path and .cpath.madmaxoft1-0/+8
Fixes #693.
2014-02-01Removed "player destroying" hookdaniel09161-20/+0
2014-01-29Plugin files are loaded in alphabetical order.madmaxoft1-17/+35
Except for the Info.lua file which gets loaded always last. Implements #597.
2014-01-25Added "player destroying" and "player destroyed" hooksdaniel09161-0/+40
Hooks: HOOK_PLAYER_DESTROYING HOOK_PLAYER_DESTROYED Idea from: https://github.com/mc-server/MCServer/issues/473
2014-01-21Implemented cPluginManager:CallPlugin() API.madmaxoft1-0/+34
This function supersedes cPlugin:Call(), is safer to use in regards to multithreading and once again removes the need for the cPlugin class being exported at all.
2014-01-13cCreeper is no longer available in API.madmaxoft1-1/+1
Has been replaced by cMonster.
2014-01-08A couple touchupsBill Derouin1-2/+3
2014-01-07Add missing plugin errorBill Derouin1-0/+12
Previously, if a plugin was included but the folder had no lua files, the error given was ambiguous. Now, it explicitly describes lack of lua files. See issue #512 P.S. This probably isn't the best way, but this is where the fix can be made.
2014-01-07Plugin messages are received and handed to plugins.madmaxoft1-1/+32
Note that MCS doesn't currently handle any channel registrations, this will come later on.
2014-01-01OnPlayerFishing doesn't have a const cItems anymoreSTRWarrior1-1/+1
2013-12-31implemented the recommendations Xoft gave.STRWarrior1-4/+4
2013-12-30Implented OnPlayerFishing and OnPlayerFished.STRWarrior1-0/+40
2013-12-23Replaced esCreeper with esMonster.madmaxoft1-1/+1
Any monster will be able to explode, and also this fixes #425.
2013-12-29Added HOOK_PLUGINS_LOADED.madmaxoft1-0/+18
This fixes #482.
2013-12-18Renamed back EntityAnimation to PlayerAnimationTiger Wang1-4/+4
This fixes #411 and partially reverts 30ead790490f04248b861db79fddde9148b552f4
2013-12-11Added a HOOK_WORLD_STARTED hook and a cRoot::CreateAndInitializeWorld function for plugins.STRWarrior1-0/+15
2013-12-08Fixed tolua++ compilation.madmaxoft1-1/+1
Duplicate files, wrong includes, const-incorrect code...
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+1
Ref.: #407
2013-12-07Renamed animation functionTiger Wang1-4/+4
Renamed BroadcastPlayerAnimation to BroadcastEntityAnimation. Not just players can have animations, you know.
2013-11-30Added the real tick duration to the OnWorldTick hook.madmaxoft1-2/+2
2013-11-27Fixed the remaining derpsAlexander Harkness1-1/+1
2013-11-24Attempt to fix compilationTiger Wang1-1/+1
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-22Added cFile:GetFolderContents().madmaxoft1-3/+3
Fix 162.
2013-09-18Added a global "g_Plugin" object to all Lua plugins.madmaxoft1-0/+3
This allows plugins to have an empty Initialize function and implementing all their initialization at global level, thus modularising everything.
2013-08-22Fixed AddHook() wanting old-style function names.madmaxoft1-10/+20
Error reported by STR_Warrior in the forum http://forum.mc-server.org/showthread.php?tid=1227&pid=9620#pid9620
2013-08-21Hook adding uses the new API.madmaxoft1-143/+551
Multiple hooks per plugin can be added. The cPluginManager.AddHook() has four available signatures, the recommended one is cPluginManager.AddHook(HOOK_TYPE, CallbackFunction)
2013-08-20Fixed a warning on closing invalid plugins.madmaxoft1-1/+4
2013-08-19Finished renaming cPlugin_NewLua to cPluginLua.madmaxoft1-67/+67
2013-08-19Implemented the OnWorldTick hook.madmaxoft1-0/+12
Triggerred for each world every time it ticks, parameters are the cWorld and the previous tick length (a_Dt)
2013-08-11Added the OnHopperPullingItem and OnHopperPushingItem hooks.madmaxoft1-0/+24
Requested in FS 412, slightly modified the params.
2013-08-11Added OnPlayerAnimation() hook.madmaxoft1-0/+13
Initial patch by @STR_Warrior, updated to account for different animation packets.
2013-08-10Renamed Plugin_NewLua to PluginLua.madmaxoft1-1/+5
2013-08-09Renamed Plugin_NewLua to PluginLua.madmaxoft1-994/+0
2013-08-09Added OnExploding() and OnExploded() hooks.madmaxoft1-0/+60
As requested in FS 413, with extra parameters: World, BlockX, BlockY, BlockZ, Size, CanCauseFire, Source, SourceData OnExploding() can return 3 values: StopHook, CanCauseFire, ExplosionSize
2013-08-08Fixed a copypasta error in hook function names.madmaxoft1-1/+1
Thanks STR_Warrior for the report
2013-08-08cPlugin_NewLua is now completely rewritten to use templated LuaState calls.madmaxoft1-281/+33
2013-08-08LuaState refactoring: using templates for hook function calls.madmaxoft1-745/+166
This simplifies calling Lua functions considerably, it's almost like calling a C++ function, only with an extra argument to delimit args from returned values.
2013-08-08Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.madmaxoft1-0/+115
As requested in FS 418.
2013-08-07Plugin: Fixed plugin name in the cLuaState's subsystemmadmaxoft1-1/+1
2013-08-06cLuaState now tracks the function name and number of argsmadmaxoft1-267/+231
2013-08-04LuaState refactoring: initial part.madmaxoft1-232/+118
The cLuaState class is a wrapper for the lua_State * and for the common functions on it. The cPlugin_NewLua has been rewritten to use it instead of the raw pointer. Part of #33
2013-08-02Implemented OnPlayerRightClickingEntity() hookmadmaxoft1-38/+66
Fixes FS 425
2013-07-29WebAdmin templates can use LuaFakeTruth1-2/+2
New WebAdmin templates can use Lua to completely compose the pages themselves. This should allow infinite WebAdmin design possibilities.
2013-07-01Rewritten entity-on-fire management ("forever on fire" bugs)madmaxoft@gmail.com1-4/+4
Fixes FS #297 and part of FS #403. Added sizes to all entities. Moved all damage-related functions from cPawn to cEntity API change: renamed cPawn:TeleportTo() to cEntity:TeleportToCoords() git-svn-id: http://mc-server.googlecode.com/svn/trunk@1635 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-29Advanced RCON: Command output is sent to the RCON client.madmaxoft@gmail.com1-7/+14
RCON authentication is now required before executing commands. Console command handlers now return two values, bool (IsHandled) and string (CommandOutput). API change: removed cRoot:ExecuteConsoleCommand(), added cRoot:QueueExecuteConsoleCommand(). API change: removed cPluginManager:ExecuteConsoleCommand(), use cRoot:QueueExecuteConsoleCommand() instead git-svn-id: http://mc-server.googlecode.com/svn/trunk@1631 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22Plugins can modify message in the OnChat() hook handler.madmaxoft@gmail.com1-4/+8
FS #376 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1622 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-02LuaWindow: Fixed memory leaks with unclosed windowsmadmaxoft@gmail.com1-2/+3
A player disconnecting will now force all windows to close, not respecting any plugin's overrides. http://forum.mc-server.org/showthread.php?tid=1146&pid=8350#pid8350 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1543 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-31Added cLuaWindow:SetOnSlotChanged(); the callback is called only for non-inventory slotsmadmaxoft@gmail.com1-0/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1535 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-30Added the OnClosing callback to cLuaWindow APImadmaxoft@gmail.com1-0/+24
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1534 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-30LuaWindow: Initial code, the window can be opened, but not much manipulatedmadmaxoft@gmail.com1-0/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1532 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-25Added all new bindings, refactored Debuggers; new Debuggers function.madmaxoft@gmail.com1-1/+1
Rclk with a redstone torch on a dispenser causes the dispenser to spit out one item each tick. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1509 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-09Added Expat and LuaExpat, XML parsing now available in the API.madmaxoft1-0/+7
FS #336 Windows version only, Linux to be fixed soon. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1374 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-07Added SQLite and LuaSQLite, Lua plugins can now use SQLite.madmaxoft@gmail.com1-0/+11
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1368 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-21Added HOOK_EXECUTE_COMMAND for intercepting executed commands and console commands.madmaxoft@gmail.com1-12/+44
Note that built-in console commands are exempt to this hook - they are always performed and the hook is not called. Also note that, for reasons unknown, the HookNotify plugin doesn't list the callback arguments. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1221 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-15Plugins can now bind console commandsmadmaxoft@gmail.com1-1/+82
FS #300 Most console commands are now implemented in the Core plugin. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1214 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-13Added HOOK_WEATHER_CHANGING.madmaxoft@gmail.com1-2/+34
http://www.mc-server.org/support/index.php?do=details&task_id=299 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1210 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-05Added new hooks: OnChunkAvailable(), OnChunkUnloaded() and OnChunkUnloading(). Modified OnChunkGenerated() signature.madmaxoft@gmail.com1-2/+90
http://forum.mc-server.org/showthread.php?tid=464&pid=6312#pid6312 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1193 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-01Moved command API into cPluginManager.madmaxoft@gmail.com1-5/+112
As specified in http://forum.mc-server.org/showthread.php?tid=765 , commands are now bound using a single function, cPluginManager:BindCommand(). git-svn-id: http://mc-server.googlecode.com/svn/trunk@1183 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-28Renamed HOOK_KILLED to HOOK_KILLING to match naming conventions.madmaxoft@gmail.com1-12/+9
Also tweaked the mechanics so that plugins may revive without dropping other plugins out of the picture. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1182 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-28Renamed HOOK_COLLECT_PICKUP to HOOK_COLLECTING_PICKUP to match other hooks' naming.madmaxoft@gmail.com1-3/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1180 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-27Added cItems to Lua API.madmaxoft@gmail.com1-1/+0
Now HOOK_BLOCK_TO_PICKUPS is fully functional, as demonstrated by HookNotify. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1178 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-27Added the HOOK_BLOCK_TO_PICKUPS hook that fires when a block is dug up and should be converted to pickups.madmaxoft@gmail.com1-0/+34
Note that cItems is used in the function signature but not yet exported in the API, TODO! git-svn-id: http://mc-server.googlecode.com/svn/trunk@1176 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-26Changed HOOK_PLAYER_MOVED to HOOK_PLAYER_MOVING to match the scheme used for names.madmaxoft@gmail.com1-2/+2
-ING means the event is being processed and may be refused by a plugin, -ED means it has already happenned and the plugin cannot do anything about it. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1174 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-25Merged the usable portion of the "gens" branch.madmaxoft@gmail.com1-2/+2
Splitting off the Composable generator and fiddling with LuaChunk / ChunkDesc is good, other generators not good yet. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1171 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-18Renamed rclk hook to HOOK_PLAYER_RIGHT_CLICK.madmaxoft@gmail.com1-2/+2
http://forum.mc-server.org/showthread.php?tid=464&pid=6163#pid6163 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1158 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-168/+674
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-21Refactored the TakeDamage API to take equipped weapon and armor into consideration (PvP untested)madmaxoft@gmail.com1-7/+16
http://forum.mc-server.org/showthread.php?tid=625 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1087 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-11Cleanup: Removed deprecated functions from Lua APImadmaxoft@gmail.com1-12/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1033 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-14Completely removed support for old style Lua plugins (can use both Plugin and NewPlugin in settings.ini for now)faketruth1-17/+8
Removed cPlugin_Lua, obviously cPluginManager stores plugins by their (folder)name cPluginManager now scans the Plugins folder for potential plugins and adds them as non-loaded plugins Added a DisablePlugin and LoadPlugin to disable and load plugins on a per-plugin basis instead of all at once cPluginManager::FindPlugins refreshes the plugin list by removing non-existing plugins and adding new plugins Made it incredibly easy to use new plugins from the WebAdmin Exposed some food/hunger related functions in cPlayer to Lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@959 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-11Got rid of "self" in plugins, which is deprecated anywayfaketruth1-5/+28
Fixed bug in many On* hooks that did not pop the return values from the stack Fixed Plugin:Call() that removed one too many items from the stack git-svn-id: http://mc-server.googlecode.com/svn/trunk@950 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-08GetLocalDirectory should not include FILE_IO_PREFIX since that is already included in cIniFilefaketruth1-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@851 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-08Added cPlugin_NewLua::GetLocalDirectory() and exported it to Lua so plugins can store their settings in their own folder.faketruth1-1/+10
Core now stores banned players and whitelist data in its own directory git-svn-id: http://mc-server.googlecode.com/svn/trunk@850 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-05Added the possibility of reserved player slots by implementing the HandleHandshake hook!faketruth1-0/+24
More info: http://forum.mc-server.org/showthread.php?tid=555 git-svn-id: http://mc-server.googlecode.com/svn/trunk@836 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-01Added a Player parameter to OnUpdatedSign and OnUpdatingSign Lua callbacks and to the cWorld:UpdateSign method (http://forum.mc-server.org/showthread.php?tid=464&pid=4393#pid4393)madmaxoft@gmail.com1-4/+8
git-svn-id: http://mc-server.googlecode.com/svn/trunk@814 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-24cPickup doesn't use cPackets.madmaxoft@gmail.com1-7/+10
Also, Lua API change, OnCollectItem -> OnCollectPickup; first param is cPlayer to match other callbacks. git-svn-id: http://mc-server.googlecode.com/svn/trunk@786 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-23Added plugin name to deprecation messagesmadmaxoft@gmail.com1-2/+4
Removed duplicate inheritance of m_Name in cPlugin_NewLua by making cWebPlugin interface-only git-svn-id: http://mc-server.googlecode.com/svn/trunk@782 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-22WebAdmin should not cause crashes anymorefaketruth1-12/+82
Got rid of cWebPlugin_Lua cPlugin_Lua is also a cWebPlugin now, so plugins don't need a separate cWebPlugin object Changed some stuff to use AString instead of char* git-svn-id: http://mc-server.googlecode.com/svn/trunk@777 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-19Almost all packets' handling is now rewritten not to use cPacket descendants elsewhere than in cClientHandle.madmaxoft@gmail.com1-7/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@761 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-18Chat packet handled in the new way; fixed missing packet sending for inventory slot.madmaxoft@gmail.com1-7/+10
Again, API change! cPlugin:OnChat() has had its parameters swapped, to match all the other callbacks - Player first, Message second git-svn-id: http://mc-server.googlecode.com/svn/trunk@751 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-18Packet refactoring, phase two, partial. Rewritten a few packet handling functions not to use cPacket-descendant objects.madmaxoft@gmail.com1-18/+35
This breaks plugin API! Plugins need to modify their hook functions to match those used in the Core plugin git-svn-id: http://mc-server.googlecode.com/svn/trunk@750 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-18Android: Pressing back button sends stop command to serverfaketruth1-1/+1
Android: ToJava can call functions on Java by using JNI Android: Plugins work Android: Added android specific files to VS2008 project, but they are excluded from compiling git-svn-id: http://mc-server.googlecode.com/svn/trunk@747 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-16Added new hooks: UPDATING_SIGN and UPDATED_SIGN. The first one is capable of changing the sign text by returning the new four lines along with the bool valuemadmaxoft@gmail.com1-0/+84
git-svn-id: http://mc-server.googlecode.com/svn/trunk@622 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Renamed HOOK_WEATHER_CHANGE to HOOK_WEATHER_CHANGED, added the glue code for it to actually workmadmaxoft@gmail.com1-0/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@610 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Added a world parameter to HOOK_CHUNK_GENERATING.madmaxoft@gmail.com1-1/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@609 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-550/+550
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-13Added a BlockToPickup hook for modifying pickups when a player breaks a block.madmaxoft@gmail.com1-1/+55
git-svn-id: http://mc-server.googlecode.com/svn/trunk@602 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-12Added working crafting hooks HOOK_PRE_CRAFTING, HOOK_CRAFTING_NO_RECIPE and HOOK_POST_CRAFTINGmadmaxoft@gmail.com1-0/+69
git-svn-id: http://mc-server.googlecode.com/svn/trunk@598 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-11Added implementation of E_PLUGIN_CHUNK_GENERATING lua hookfaketruth1-0/+21
It crashes the server when a plugin actually overrides default behavior though... git-svn-id: http://mc-server.googlecode.com/svn/trunk@594 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-05New hook, E_PLUGIN_CHUNK_GENERATED, called after each chunk is generated (the chunk is already present in cWorld)madmaxoft@gmail.com1-0/+66
git-svn-id: http://mc-server.googlecode.com/svn/trunk@558 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-25A globally-accessible OS-independent GetDirectoryContents() function for listing all objects in a folder as an AStringListmadmaxoft@gmail.com1-30/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@433 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22Added a CriticalSection to cPlugin_NewLua. Lua plugins are not threadsafe but they ARE accessed by multiple threads, this can create some hard to find errors, but I fixed it now :Pfaketruth1-0/+16
git-svn-id: http://mc-server.googlecode.com/svn/trunk@311 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-01Added all current hooks to the new plugin structure.faketruth1-9/+113
Converted MagicCarpet to the new plugin structure When you fall of the MagicCarpet you teleport back up :D git-svn-id: http://mc-server.googlecode.com/svn/trunk@220 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com1-0/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@188 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-28Converted entire Core plugin including WebAdmin interface to new plugin method/system/thingy and sexyfied it.faketruth1-7/+27
Made some changes to WebAdmin to make the new plugins work Old plugins still work like they're supposed to Not all hooks have been programmed for the new plugins yet, this still needs to be done git-svn-id: http://mc-server.googlecode.com/svn/trunk@182 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-27Converted all of the Core plugin to the new plugin structure, except for the WebAdmin partfaketruth1-16/+86
git-svn-id: http://mc-server.googlecode.com/svn/trunk@175 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-26No longer hard coded Lua files in new plugin systemfaketruth1-20/+34
git-svn-id: http://mc-server.googlecode.com/svn/trunk@173 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-26Working on a new plugin design with Lua. While retaining backwards compatibility of course...faketruth1-0/+121
In this new design a plugin consists of a folder with Lua files, this should enable plugin developers to keep things separate and have more overview. git-svn-id: http://mc-server.googlecode.com/svn/trunk@172 0a769ca7-a7f5-676a-18bf-c427514a06d6