1
0
Commit Graph

559 Commits

Author SHA1 Message Date
Samuel Barney
4996e53bf5 Refactored code to use cLuaState
Fixes #2377.
2015-08-07 21:17:21 +02:00
Mattes D
6e4122e551 Unified the doxy-comment format. 2015-07-31 16:49:10 +02:00
Samuel Barney
804805d35a Silenced and fixed many warning messages across multiple files. 2015-07-29 09:49:30 -06:00
Hax52
9f1d1c058f Buttons no longer click on when already on. Buttons now play sound when clicking off. 2015-06-24 13:52:56 -05:00
Mattes D
e06dd8f20e Added basic support for loading village prefabs from files. 2015-06-20 15:37:41 +02:00
Mattes D
8df31067d4 Externalized cPrefabPiecePool self-test. 2015-06-19 16:15:59 +02:00
Mattes D
c6012a95bd LuaState: Added support for config-style usage.
Globals and table values can be queried from the Lua state easily.
Use perfect forwarding.
2015-06-17 17:13:45 +02:00
Nounours Heureux
d79f601d5a Added HOOK_KILLED 2015-06-13 10:00:31 +02:00
Mattes D
99b182b4be Added Build info to the cRoot API. 2015-06-05 10:34:13 +02:00
Mattes D
a54fa15bc6 Merge pull request #2172 from mc-server/LightingCallbacks
Made cLightingThread own its callbacks
2015-06-01 15:02:42 +02:00
Mattes D
98df75d5ab ManualBindings: Fixed DoWithXYZ and ForEachInChunk signatures.
Fixes forum report http://forum.mc-server.org/showthread.php?tid=1993
2015-05-31 19:44:08 +02:00
tycho
06a74e45e2 Made cLightingThread own its callbacks 2015-05-30 11:11:17 +01:00
tycho
b2fa71a32a Fix comments 2015-05-28 12:54:04 +01:00
tycho
e19693e529 Merge branch 'master' into PreventNewWarnings
Conflicts:
	src/Inventory.cpp
2015-05-28 11:05:41 +01:00
worktycho
6735b0d534 Only add default plugins if there are not any plugins
Fixes #2082
2015-05-25 18:43:18 +01:00
tycho
76a3165f09 Fix comments 2015-05-24 14:58:24 +01:00
tycho
dae9e5792a Made -Weverything an error. 2015-05-24 12:56:56 +01:00
tycho
81c0116cf1 Merge branch 'master' into PreventNewWarnings 2015-05-23 07:33:52 -07:00
Lukas Pioch
e30b2ed487 Fixed missing overrides and added a ignore flag for reserved macro for clang version 3.6 and higher. 2015-05-23 16:28:37 +02:00
tycho
1577a080ee Merge branch 'master' into PreventNewWarnings 2015-05-23 11:31:03 +01:00
Alexander Harkness
de5e056a88 TryGetHeight returns a bool
should fix #2099
2015-05-23 10:37:50 +01:00
Lukas Pioch
bc838e5bd2 Renamed hook HOOK_ENTITY_CHANGE_WORLD 2015-05-21 12:27:54 +02:00
tycho
77f1f58c0a Make -Werror disabling file only
Ad fix a load of warnings
2015-05-19 19:32:10 +01:00
tycho
480052c058 Added LuaState support for all integral types
All so added error handling for out of range values
2015-05-19 17:09:05 +01:00
Alexander Harkness
fff5efedc3 Merge pull request #2019 from mc-server/OverrideArgs
Initial Implementation of command line arguments
2015-05-19 10:53:44 +01:00
Lukas Pioch
4d4d1e9c69 Added hooks HOOK_ENTITY_CHANGE_WORLD and HOOK_ENTITY_CHANGED_WORLD
Fixes #1435.
2015-05-18 22:29:39 +02:00
Mattes D
1240c76cb4 Lua: Break into ZBS debugger on API errors. 2015-05-16 16:19:18 +02:00
tycho
b9efa02c80 Initial implementation of IniFile overloading 2015-05-16 10:46:51 +01:00
Mattes D
163aebf8ca Fixed cPluginManager:ForEachCommand() and ForEachConsoleCommand()
The functions would leak one value on the Lua stack for each enumerated command.
Fixes #2017.
2015-05-14 19:46:18 +02:00
Mattes D
43fecf48e3 Merge pull request #2006 from mc-server/ManualBindingsWorld
Moved cWorld manual bindings out into a separate file.
2015-05-14 08:15:40 +02:00
Mattes D
f36b00f4d4 All in-game commands go through the OnExecuteCommand hook.
Everything that has a slash at the beginning, doesn't matter if it is a registered command or not.
2015-05-13 18:31:01 +02:00
Mattes D
15771e4759 Moved cWorld manual bindings out into a separate file. 2015-05-13 11:30:57 +02:00
Mattes D
4b97569b3a ToLua now generates cLuaState::Push() and GetStackValue()
For classes exported through ToLua it generates the cLuaState::Push() and cLuaState::GetStackValue() functions, as well as the supporting forward declarations and typedefs.
Renamed virtual_method_hooks.lua to BindingsProcessor.lua since it no longer provides virtual method hooks and instead does additional processing when generating the bindings.
2015-05-12 09:20:54 +02:00
Mattes D
4083bc7005 AllToLua: Removed unneeded virtual method hooks. 2015-05-11 16:11:53 +02:00
Mattes D
dd10ffb63a OnExecuteCommand hook can override the command result (crXXX). 2015-05-10 23:11:30 +02:00
Mattes D
693ffb689c Exported cPluginManager:ExecuteConsoleCommand() to Lua API.
Fixes #1999.
2015-05-10 22:51:16 +02:00
Mattes D
6c53abed23 Call HOOK_EXECUTE_COMMAND even for unknown console commands.
This allows plugins such as Aliases to intercept even unknown commands.
2015-05-10 21:46:25 +02:00
Mattes D
cbb1eff17a Added the EntireCommand parameter to HOOK_EXECUTE_COMMAND.
Fixes #1996.
2015-05-10 21:37:46 +02:00
Tiger Wang
9c490293b8 Merge remote-tracking branch 'origin/master' into warnings
Conflicts:
	src/Mobs/Monster.cpp
	src/Vector3.h
2015-05-10 12:16:20 +01:00
Mattes D
846d16315a CheckBasicStyle: checks spaces around * and &. 2015-05-09 12:58:55 +02:00
Mattes D
c13b1931ff More style checking.
Spaces around some operators are checked.
2015-05-09 12:58:54 +02:00
Tiger Wang
218010cd96 Fixed some Visual Studio warnings 2015-05-08 23:32:02 +01:00
Mattes D
fee690a3d1 Fixed inter-plugin calls.
When an inter-plugin call failed due to function not found, the server would maul the LuaState and "yield".
Fixes #1959.
2015-05-07 23:03:04 +02:00
tycho
448df85e56 Added support for additional data in the ParticleEffect Packet
Also started refactoring how broadcasts are handled
2015-05-07 03:47:46 +01:00
Tiger Wang
2919d08883 Update submodules 2015-05-02 15:57:49 +01:00
Mattes D
8d4a87d2c4 Fixed bindings for cFile:ReadWholeFile().
Fixes #1914
2015-04-30 11:44:42 +02:00
Mattes D
fc95501f68 Added cBlockArea:GetNonAirCropRelCoords() API function.
Fixes #1915.
2015-04-29 15:14:22 +02:00
Mattes D
b5998873e4 cPlayer now checks restrictions.
Fixes #1331.
2015-04-25 21:05:43 +02:00
Mattes D
9c5797f27d Added player restrictions to the DB and API. 2015-04-25 21:05:35 +02:00
Mattes D
b7d1d701b9 Plugin removes its command registrations and webtabs when unloaded.
Fixes #1890.
2015-04-25 18:11:14 +02:00
Mattes D
a89d5f53fd Refactored ManualBindings' callbacks using templates.
This is a bit easier to read, has better error reporting and fixes a few subtle bugs.
Fixes #1889.
2015-04-23 22:20:31 +02:00
Mattes D
08624348f4 Implemented cPluginManager:DoWithPlugin(), fixed ForEachPlugin().
Both functions are exported as static.
2015-04-23 19:41:01 +02:00
Mattes D
4a946aa8c4 Added cPluginManager:IsPluginLoaded() API, better load error msgs. 2015-04-19 17:20:15 +02:00
Mattes D
288d2280fa Refactored cWebPlugin for C++11 style and proper WebTab clearing. 2015-04-19 14:35:04 +02:00
Mattes D
a9b5a6c3a6 Split the plugin names and plugin folders to avoid confusing them.
Ref.: http://forum.mc-server.org/showthread.php?tid=1877
2015-04-19 10:57:41 +02:00
Mattes D
29af16143e Removed HOOK_MAX and HOOK_NUM_HOOKS from Lua API. 2015-04-13 12:33:25 +02:00
Mattes D
38d666432d Fixed plugin hook calls when unloading plugins.
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-04-10 22:31:23 +02:00
Mattes D
e5a7a730ed Merge pull request #1826 from mc-server/UnifyPacketizer
Unify packetizer
2015-03-24 13:09:41 +01:00
Mattes D
cc069ccb2a Changed cEntity::m_UniqueID to UInt32. 2015-03-21 15:18:17 +01:00
Mattes D
0f45d1fbe2 cPluginLua:cResettable no longer shares CS with plugin.
This fixes locking the resettable while the plugin is already gone. Hopefully no deadlocks.
2015-03-20 16:51:49 +01:00
Mattes D
781c8683f7 Added cPluginLua::cResettable interface, used for scheduled tasks.
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-20 15:13:33 +01:00
Mattes D
2d1d4ae3e3 Removed unwanted base classes from Lua API. 2015-03-19 21:26:38 +01:00
Mattes D
93031dffd8 AllToLua: Fixed cMonster inheritance. 2015-03-19 21:06:28 +01:00
Mattes D
2fed8c3227 Improved DoWithID bindings. 2015-03-19 16:24:32 +01:00
Mattes D
9eb9541060 AllToLua: Removed an unneeded class declaration.
It's perfectly possible to declare a class in ManualBindings without the need for declaration in AllToLua.pkg.
2015-03-19 12:34:16 +01:00
Mattes D
09da6e7a6e AllToLua: Fixed the parse order for bindings generation.
Fixes #1789.
2015-03-19 12:19:04 +01:00
Mattes D
f9991c9f92 Merge pull request #1761 from mc-server/NetworkIPEnum
cNetwork: Added EnumLocalIPAddresses() function.
2015-03-12 13:35:45 +01:00
Mattes D
439eb8d6cb Merge pull request #1807 from flx5/master
Fixes #493 and #490
2015-03-11 22:43:52 +01:00
flx5
f6912bd01c Fixed coding conventions for Pull Request #1807 2015-03-11 20:02:11 +01:00
flx5
d130696e95 Fixes #493 and #490 2015-03-11 04:14:17 +01:00
Howaner
a96c21fc0d Merge branch 'master' into Inventory 2015-03-09 22:39:11 +01:00
joshi07
f71b1fe799 Added OnTeleportEntity hook for plugins.
Plugins may or may not allow teleport to the new position.
Updated the HookNotify plugin with it.
2015-03-05 11:52:42 +01:00
Mattes D
d4b505db02 Lua API: Fixed md5 and sha1 hex formatting.
std::setw() is only valid for one output operation and needs to be set again in each loop repetition.
2015-03-03 01:28:58 +01:00
STRWarrior
9e1db16ba4 Fixed operators 2015-02-23 16:09:35 +01:00
STRWarrior
d39d2ca5e9 Added forgotten indent 2015-02-23 15:40:31 +01:00
STRWarrior
8c8ec1094d Replaced lua_isXYZ with cLuaState::CheckParamXYZ 2015-02-23 15:29:07 +01:00
STRWarrior
54410bfe4d Exported all compression functions in a new class. 2015-02-23 12:53:02 +01:00
STRWarrior
13f81a051d Exported CompressString and UncompressString to Lua 2015-02-22 17:34:20 +01:00
Mattes D
c758482ece cNetwork: Added EnumLocalIPAddresses() function. 2015-02-22 10:51:16 +01:00
Mattes D
006b1afa9e Merge pull request #1758 from mc-server/CryptoHashAPI
Added cCryptoHash namespace to Lua API
2015-02-21 12:19:07 +01:00
Mattes D
9971670b40 Merge pull request #1755 from mc-server/NetworkUDP
cNetwork: Added UDP API.
2015-02-21 12:19:03 +01:00
Mattes D
b9e4fe0a3b Added cCryptoHash namespace to Lua API. 2015-02-21 09:41:14 +01:00
Mattes D
9c5162041e cNetwork: Added UDP API. 2015-02-20 14:28:05 +01:00
Matyas Dolak
5d4dd103a1 Fixed crash when logging nil values.
Ref.: http://forum.mc-server.org/showthread.php?tid=1798
2015-02-20 09:51:18 +01:00
Mattes D
1f3d11de32 Fixed Linux compilation. 2015-02-14 09:17:26 +01:00
Mattes D
557adf3be9 Exported TLS server start on cTCPLink to Lua API. 2015-02-13 23:18:22 +01:00
Mattes D
b8bf795dd1 Exported cTCPLink:Close and :Shutdown() to Lua API. 2015-02-13 18:31:54 +01:00
Mattes D
505dce1fc3 Fixed Linux compilation.
std::make_unique is not available in C++11.
2015-02-12 20:22:39 +01:00
Mattes D
16636ff6e2 LuaAPI: Added client TLS support for TCP links. 2015-02-12 20:05:55 +01:00
Howaner
2c7925f0ad Merge branch 'master' into Inventory 2015-02-06 21:52:14 +01:00
Mattes D
adf0020cd4 APIDump: Added cNetwork documentation. 2015-02-06 18:44:05 +01:00
Mattes D
0e769f12ac LuaServerHandle: Removed debugging output. 2015-02-04 08:42:28 +01:00
Mattes D
014b96adb3 Exported cServerHandle and cNetwork:Listen to Lua.
Also added an example to the NetworkTest plugin.
2015-02-04 08:40:52 +01:00
Mattes D
17498a97a2 cNetwork: Exported lookup functions to Lua API.
Also added an example in the NetworkTest plugin.
2015-02-04 08:40:52 +01:00
Mattes D
360c632e36 cNetwork: Exported the Connect() method and cTCPLink class to Lua. 2015-02-04 08:40:50 +01:00
tycho
e7424adbf4 Switched LuaState to use sizeof... 2015-01-31 15:44:14 +00:00
Howaner
1eedccc56a Merge branch 'master' into Inventory 2015-01-25 00:34:19 +01:00
Mattes D
e38f41d32f Merge pull request #1702 from mc-server/chrono
Started to convert more of MCServer to std::chrono
2015-01-18 11:21:36 +01:00
Mattes D
e211aafaa4 Fixed type-conversion warnings. 2015-01-18 11:02:17 +01:00
Kirill Kirilenko
2ce2741968 Fixed CppCheck: (performance) Function parameter should be passed by reference. 2015-01-17 15:19:23 +03:00
Tycho
2a9664d6ca Initial convertion of a_Dt to std::chrono
also refactored cWorld::m_WorldAge and cWorld::m_TimeOfDay
2015-01-11 21:12:26 +00:00
Mattes D
ccdf03daaf Refactored all player block placing to go through hooks.
Fixes #1618.
2014-12-24 07:20:17 +01:00
Howaner
8277e1ec4e C++11 and function rename. 2014-12-17 19:14:01 +01:00
Mattes D
6cd7e52eb7 Exported cWorld:PrepareChunk to Lua API, test in Debuggers. 2014-12-12 13:32:52 +01:00
Mattes D
e2a04f580a BasicStyle: Added missing braces to control statements. 2014-12-05 16:59:11 +01:00
Mattes D
34807248e2 Fixed the CRAFTING_NO_RECIPE hook call.
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-12-04 09:21:57 +01:00
p-mcgowan
27185dd374 clearing CheckBasicStyle.lua messages 2014-12-03 00:26:15 -08:00
Howaner
677dde51bd Merge branch 'master' into MobSpawner
Conflicts:
	MCServer/Plugins/APIDump/APIDesc.lua
2014-12-01 14:43:03 +01:00
Howaner
c673eb590f Mark StringToMobType() as deprecated. Use cMonster:StringToMobType() instead 2014-11-29 15:40:38 +01:00
Howaner
2478e290f9 Many api fixes, add vanilla names to mob type -> string functions and mob spawner fixes. 2014-11-29 15:20:44 +01:00
Howaner
d7efece5f2 Use cLuaState's stack trace. 2014-11-17 18:01:56 +01:00
Howaner
0e491273c1 Added UpdateSign() method to DeprecatedBindings.cpp 2014-11-17 14:57:24 +01:00
Howaner
78fb789631 Fixed a security problem with signs. 2014-11-15 15:16:52 +01:00
Lukas Pioch
13b20d6fe2 renamed FindAndDoWithUUID to DoWithPlayerByUUID, fixed style and comments, added description to APIDump 2014-11-05 21:57:38 +01:00
Lukas Pioch
9f71a4e7ae Added FindAndDoWithUUID 2014-11-02 21:01:23 +01:00
Mattes D
2b7f34515a cLuaState: Fixed errors on non-existent callbacks.
This mostly affected table-based callbacks, such as the cLineBlockTracer. If a callback didn't exist, the code would still push its arguments on the stack, breaking the next callback.
2014-10-31 19:25:45 +01:00
Mattes D
449d08cb3d Merged IniFile into main MCS sources. 2014-10-23 15:15:10 +02:00
Tiger Wang
a26541a7c3 En masse NULL -> nullptr replace 2014-10-22 20:12:49 -07:00
Mattes D
7ed27c6b80 LuaState: Projectiles are pushed using their full class. 2014-10-22 16:06:32 +02:00
Mattes D
a42fa071bc Properly exported cItemFrame and cHangingEntity to Lua. 2014-10-21 22:02:30 +02:00
Mattes D
0c0c762412 Exported individual projectile classes to Lua API.
They used to be exported, but then they were moved to separate files and those werent' added to the ToLua processing list.
2014-10-21 21:25:52 +02:00
Mattes D
dc4185fb86 cLuaState: cEntity is pushed with specific type. 2014-10-21 12:43:06 +02:00
Mattes D
b78078a3a6 Fixed a potential crash in cEntity bindings. 2014-10-20 17:32:09 +02:00
Julian Laubstein
4a58ce1df6 Found it! 2014-10-20 16:00:33 +02:00
Julian Laubstein
c2560cc1be Added error message 2014-10-20 15:08:48 +02:00
Julian Laubstein
1a46feda43 Added error handling to load <plugin> command 2014-10-20 14:46:24 +02:00
Mattes D
cf73fee7e3 Fixed minor style issues. 2014-10-19 18:45:42 +02:00
Mattes D
d50bbf3899 cLuaState: cMonster descendants don't push their specific type.
The individual mob types aren't exported to Lua, so pushing them would crash the server.
2014-10-19 12:49:54 +02:00
Mattes D
b0a59927fb cLuaState: cBlockEntity descendants are pushed with proper class type. 2014-10-19 12:46:25 +02:00
Mattes D
ebd31ff132 LuaState: Pushing a cEntity pushes the correct class name.
This makes Lua scripts easier, as they don't need to cast values from cEntity to the specific descendant.
2014-10-19 11:46:38 +02:00
Mattes D
fe153cc763 Bindings: Removed obsolete codegen files.
LuaState_Call.inc is no longer needed, it was replaced with variadic templates.
2014-10-19 11:32:17 +02:00
Tiger Wang
2874bf73be Merge pull request #1502 from mc-server/furnaces
Improved furnaces
2014-10-18 21:33:55 +01:00
Tiger Wang
eb821ff240 Fixed failure for cRankManager to restart 2014-10-18 19:55:01 +01:00
Mattes D
803666d480 LuaChunkStay: Fixed a crash on unused callback. 2014-10-17 13:17:56 +02:00
worktycho
25ebedbe45 Use universal references 2014-10-16 15:11:35 +01:00
Mattes D
f58d44ea50 cLuaState::Call() uses variadic templates.
(doesn't compile)
2014-10-15 19:18:23 +02:00
Mattes D
eeb580a74e Functions in cPluginManager get references instead of pointers. 2014-10-15 19:09:09 +02:00
tycho
473c0425d3 Moved a few objects to unique_ptr 2014-10-10 15:33:19 +01:00
madmaxoft
4e82a58060 Fixed crash in ForEachEntityInBox API.
Fixes #1511.
2014-10-06 13:48:44 +02:00
madmaxoft
77c5b410e6 Fixed eMonsterType Lua API mismatch. 2014-10-05 22:09:19 +02:00
madmaxoft
886a7d7bbb Bindings: Fixed binding for cPlayer::PermissionMatches(). 2014-10-01 12:59:31 +02:00
Howaner
ff3a3b801d Renamed GetAllPlayers() to GetAllPlayerUUIDs() 2014-09-29 14:43:16 +02:00
Howaner
4391b3fc09 Fixed SetDefaultRank() return value. 2014-09-28 19:08:33 +02:00
Howaner
63c53a8e23 cRankManager: Added ClearPlayerRanks() 2014-09-28 15:16:11 +02:00
Howaner
2fb3eb3532 cRankManager: Added GetAllPlayers() and GetPlayerName() 2014-09-28 02:17:32 +02:00
Tiger Wang
4e2b838a69 Merge pull request #1455 from mc-server/includes
Removed a few unnecessary includes
2014-09-26 19:46:43 +01:00
worktycho
02db79d725 Update Plugin.h 2014-09-26 19:00:26 +01:00
Tycho
a3f940f47c Removed more unessicary includes 2014-09-26 18:13:19 +01:00
Tycho
6ffb7835e7 Removed a few unnessicary includes 2014-09-26 16:26:03 +01:00
Tycho
6e7c0e33b5 Added first test to show the object can be created 2014-09-17 18:40:10 +01:00