summaryrefslogtreecommitdiffstats
path: root/src/Bindings/Plugin.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-01-11zlib -> libdeflate (#5085)Tiger Wang1-1/+1
+ Use libdeflate + Use std::byte * Fix passing temporary to string_view + Emulate make_unique_for_overwrite
2020-09-23TABS OUT OF BED! TABS IN THE CORRIDORS!Tiger Wang1-1/+1
2020-09-23Limit fortune level, style fixesTiger Wang1-1/+1
2020-09-21Implement Dropspenser Hook (#4903)KrystilizeNevaDies1-0/+1
* 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-03-23Manual merge of #4498.Alexander Harkness1-2/+3
Credit to @MeMuXin Closes #4498
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-1/+1
2018-08-29Force all headers other than "Globals.h" to be included with relative paths (#4269)peterbell101-1/+1
Closes #4236 CMake now creates a header file in the build directory under the path "include/Globals.h" which just includes "src/Globals.h" with an absolute path. Then instead of adding "src/" to the include directories, it adds "include/". #include "Globals.h" still works by including the build generated file and any other src-relative path will not work.
2017-08-27Implement Forge protocol handshake support (#3869)satoshinm1-0/+1
2017-08-17Add cLuaWindow OnClicked Callback (#3901)Lane Kolbly1-0/+1
2016-06-27cPluginManager: Use a callback for command handler registration.Mattes D1-15/+0
2016-02-05Bulk clearing of whitespaceLogicParrot1-8/+8
2015-11-03Implemented brewingLukas Pioch1-0/+2
2015-07-31Unified the doxy-comment format.Mattes D1-1/+1
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney1-1/+1
2015-06-13Added HOOK_KILLEDNounours Heureux1-0/+1
2015-05-21Renamed hook HOOK_ENTITY_CHANGE_WORLDLukas Pioch1-1/+1
2015-05-18Added hooks HOOK_ENTITY_CHANGE_WORLD and HOOK_ENTITY_CHANGED_WORLDLukas Pioch1-0/+2
Fixes #1435.
2015-05-10OnExecuteCommand hook can override the command result (crXXX).Mattes D1-1/+1
2015-05-10Added the EntireCommand parameter to HOOK_EXECUTE_COMMAND.Mattes D1-1/+1
Fixes #1996.
2015-04-19Split the plugin names and plugin folders to avoid confusing them.Mattes D1-42/+53
Ref.: http://forum.mc-server.org/showthread.php?tid=1877
2015-03-11Fixed coding conventions for Pull Request #1807flx51-2/+2
2015-03-11Fixes #493 and #490flx51-2/+2
2015-03-05Added OnTeleportEntity hook for plugins.joshi071-0/+1
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-2/+2
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-15Functions in cPluginManager get references instead of pointers.Mattes D1-17/+17
2014-09-26Update Plugin.hworktycho1-2/+0
2014-09-26Removed a few unnessicary includesTycho1-5/+9
2014-08-22Fixed cPlugin::OnPlayerMoving signature.Mattes D1-1/+1
2014-08-20Renamed a_Motd to a_ServerDescription.Howaner1-1/+1
2014-08-20Added a_ClientHandle to the HOOK_SERVER_PING hook.Howaner1-1/+1
2014-08-20Added HOOK_SERVER_PINGHowaner1-1/+1
2014-08-16Better OnPlayerMoving hook.Howaner1-1/+1
2014-08-16First implementation of HOOK_SERVER_PING.Howaner1-0/+1
2014-07-24Removed redundant semicolons and re-added warningarchshift1-2/+2
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-2/+2
2014-07-17Basic style fixes.madmaxoft1-5/+2
2014-07-16Resolved backwards compatibility issuesTiger Wang1-1/+1
2014-07-12For now, removed creator member from Entity Effect for pointer safetyarchshift1-1/+1
2014-07-04Tailored death messagesTiger Wang1-1/+1
2014-07-02Removed foodlevel-change possibility. Plugins can cancel the event and use cPlayer:SetFoodLevel()Howaner1-1/+1
2014-06-30Add new hook: HOOK_PLAYER_FOOD_LEVEL_CHANGEHowaner1-0/+1
2014-06-17Added the OnEntityAddEffect hook.madmaxoft1-0/+1
2014-06-01Made a_BlockHitPos a referenceSTRWarrior1-1/+1
2014-05-31Used recommendationsSTRWarrior1-1/+1
2014-05-02HOOK_DISCONNECT has cClientHandle as its first parameter.madmaxoft1-1/+1
Ref.: #655.
2014-03-30Using recommendations (I think)STRWarrior1-1/+1
2014-03-30Added a BlockHitPos parameter to OnProjectileHitBlockSTRWarrior1-1/+1
2014-03-30Added a blockface parameter to the OnProjectileHitBlock hook.STRWarrior1-1/+1
2014-03-29Added HOOK_PROJECTILE_HIT_BLOCK.STRWarrior1-0/+1
2014-03-29Added HOOK_PROJECTILE_HIT_ENTITYSTRWarrior1-0/+1
2014-03-27Add SpreadSourceHowaner1-1/+1
2014-03-27Add HOOK_BLOCK_SPREADHowaner1-0/+1
2014-02-01Removed "player destroying" hookdaniel09161-1/+0
2014-01-25Added "player destroying" and "player destroyed" hooksdaniel09161-0/+2
Hooks: HOOK_PLAYER_DESTROYING HOOK_PLAYER_DESTROYED Idea from: https://github.com/mc-server/MCServer/issues/473
2014-01-07Plugin messages are received and handed to plugins.madmaxoft1-0/+1
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-2/+2
2013-12-30Implented OnPlayerFishing and OnPlayerFished.STRWarrior1-0/+2
2013-12-29Added HOOK_PLUGINS_LOADED.madmaxoft1-0/+1
This fixes #482.
2013-12-18Renamed back EntityAnimation to PlayerAnimationTiger Wang1-1/+1
This fixes #411 and partially reverts 30ead790490f04248b861db79fddde9148b552f4
2013-12-11Added a HOOK_WORLD_STARTED hook and a cRoot::CreateAndInitializeWorld function for plugins.STRWarrior1-0/+1
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+0
Ref.: #407
2013-12-07Renamed animation functionTiger Wang1-1/+1
Renamed BroadcastPlayerAnimation to BroadcastEntityAnimation. Not just players can have animations, you know.
2013-11-30Added the real tick duration to the OnWorldTick hook.madmaxoft1-1/+1
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-09-18Added cPlugin:GetLocalFolder() API function.madmaxoft1-1/+2
This supersedes the cPlugin:GetLocalDirectory() function.
2013-08-22Fixed AddHook() wanting old-style function names.madmaxoft1-7/+0
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-1/+1
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-19Implemented the OnWorldTick hook.madmaxoft1-0/+1
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/+2
Requested in FS 412, slightly modified the params.
2013-08-11Added OnPlayerAnimation() hook.madmaxoft1-0/+1
Initial patch by @STR_Warrior, updated to account for different animation packets.
2013-08-09Added OnExploding() and OnExploded() hooks.madmaxoft1-0/+2
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-08cPlugin: Removed empty default implementation of virtual calls.madmaxoft1-46/+46
2013-08-08Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.madmaxoft1-0/+4
As requested in FS 418.
2013-08-07Removed Squirrel.madmaxoft1-1/+1
This compiles under Windows, but is untested in Linux.
2013-08-02Implemented OnPlayerRightClickingEntity() hookmadmaxoft1-37/+38
Fixes FS 425
2013-07-01Rewritten entity-on-fire management ("forever on fire" bugs)madmaxoft@gmail.com1-3/+2
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-2/+4
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-1/+1
FS #376 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1622 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-21Added HOOK_EXECUTE_COMMAND for intercepting executed commands and console commands.madmaxoft@gmail.com1-0/+1
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/+10
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-1/+2
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/+5
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-18/+6
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-1/+1
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-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1180 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-1/+1
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-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-14Fixed missing bindings in cPluginmadmaxoft@gmail.com1-1/+1
FS #291 - crash on "/help" issued via client git-svn-id: http://mc-server.googlecode.com/svn/trunk@1143 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-35/+60
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-1/+1
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-10-14Completely removed support for old style Lua plugins (can use both Plugin and NewPlugin in settings.ini for now)faketruth1-7/+12
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-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-05Added the possibility of reserved player slots by implementing the HandleHandshake hook!faketruth1-0/+1
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-2/+2
git-svn-id: http://mc-server.googlecode.com/svn/trunk@814 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-29Gotten completely rid of all cPackets. The cProtocol125 class now does all the parsing and writing by itself.madmaxoft@gmail.com1-7/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@802 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-08-24cPickup doesn't use cPackets.madmaxoft@gmail.com1-1/+1
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-22WebAdmin should not cause crashes anymorefaketruth1-2/+2
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-2/+2
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-1/+1
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-15/+15
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-03Fixed a few gcc pedantic warnings; made BLOCKTYPE an unsigned char type.madmaxoft@gmail.com1-14/+15
git-svn-id: http://mc-server.googlecode.com/svn/trunk@711 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/+2
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/+1
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/+1
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-113/+113
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-14/+17
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/+11
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/+2
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/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@558 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-5/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@504 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-28Got rid of sPluginManagerStatefaketruth1-0/+4
/pluginlist now also shows the number of active plugins Fixed crash caused by lingering bound Lua commands http://forum.mc-server.org/showthread.php?tid=212&pid=2541#pid2541 Added error messages when binding commands to an invalid plugin git-svn-id: http://mc-server.googlecode.com/svn/trunk@440 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-11-08It's a Squirrel!!faketruth1-3/+15
In SquirrelBindings.h use #define USE_SQUIRREL 1 to enable squirrel git-svn-id: http://mc-server.googlecode.com/svn/trunk@76 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-26Made several recomended changes. Gamemode is now world based. Need to add it to player.admin@omencraft.com1-1/+0
git-svn-id: http://mc-server.googlecode.com/svn/trunk@18 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-26Added CreateInventoryAction packet for creative mode. Used cPacketEntityEquipment as template. Forced server into Creative Mode. Can't break blocks yet. Player can stil be damaged in creative mode and dying takes you back to survival mode.admin@omencraft.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@15 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-10-03MCServer c++ source filesfaketruth1-0/+76
git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6