Commit Graph

1670 Commits (e2aaf202abf9d677b84efeb376f55ee976b52b8d)

Author SHA1 Message Date
madmaxoft 2d7c72f1b7 DeadlockDetect now uses sleep instead of timed-wait semaphores.
The semaphores' timed-wait still has issues on Linux, it's just easier to use cSleep instead.
2013-08-19 22:35:27 +02:00
madmaxoft fdbe835131 Fixed WorldTickThread reporting wrong time durations for each tick.
This had caused food eating to fail and players unable to collect pickups on Linux.
2013-08-19 22:23:25 +02:00
madmaxoft 94f8884f60 Fixed the extreme strain on the world tick thread.
Block changes were sent even with empty changesets, causing a lot of lost CPU cycles.
2013-08-19 21:55:03 +02:00
Tiger Wang c11e252e27 Fixed piston animations...
...for the third (and hopefully last) time.
2013-08-19 19:44:22 +01:00
Tiger Wang de306d9f79 Fixed uninitialised thingummies 2013-08-19 19:43:28 +01:00
madmaxoft 53455a10fa Fixed cEvent TimedWait on Linux. 2013-08-19 17:29:08 +02:00
madmaxoft 25e2f721ad Added cPickup:IsCollected() to the Lua API. 2013-08-19 11:58:20 +02:00
madmaxoft e80c5eac40 Added cPickup:GetAge() the the Lua API. 2013-08-19 11:44:11 +02:00
madmaxoft 1a7912744f Moved entities into the Entities subfolder. 2013-08-19 11:39:13 +02:00
madmaxoft 539ae20466 Fixed timed event wait on Linux.
Was causing an error message and the DeadlockDetect didn't work.
2013-08-19 10:51:18 +02:00
madmaxoft 493100bdb0 Finished renaming cPlugin_NewLua to cPluginLua. 2013-08-19 09:39:18 +02:00
madmaxoft dd030fa892 Implemented the OnWorldTick hook.
Triggerred for each world every time it ticks, parameters are the cWorld and the previous tick length (a_Dt)
2013-08-19 09:28:22 +02:00
madmaxoft 909a9c6973 cChunk::SetBlock() now uses cChunk::FastSetBlock() for the common code path. 2013-08-19 09:19:45 +02:00
madmaxoft 82ce40e2cc Removed an unused CriticalSection from cChunk.
Fixes #109
2013-08-19 09:13:19 +02:00
madmaxoft ee2b8c7103 Fixed crash when the player is above the world.
Fixes #53.
2013-08-19 09:02:33 +02:00
madmaxoft 7b10068370 Implemented cWorld:QueueSetBlock(), as requested for delayed blocksetting.
Untested yet, so might not work.
2013-08-18 22:44:22 +02:00
madmaxoft 861d5c75c9 Removed SetServerBlock griefing. 2013-08-18 20:00:50 +02:00
madmaxoft 864a0965b1 Fixed piston code griefing damage. 2013-08-18 19:56:04 +02:00
Tiger Wang 195d10108b Emergency compilation fix! 2013-08-18 16:11:24 +01:00
Tiger Wang fb32c28f80 Merge branch 'master' of https://github.com/tigerw/MCServer into tigerw-master
Conflicts:
	source/Piston.cpp

Merged pull request and fixed merge conflicts
2013-08-18 15:58:27 +01:00
Tiger Wang fbbf12f3a6 Added checks to bail out if block entities are being pushed by a piston 2013-08-18 15:04:38 +01:00
Tiger Wang 8a3174164b Properly fixed piston non-animation
Fixes #57
2013-08-18 14:52:38 +01:00
madmaxoft a46977f56e Made cPiston code more readable and configurable.
Fixed some minor problems with pistons, such as pulling water etc. Thanks to TigerW for some inspiration.
2013-08-18 14:28:52 +02:00
madmaxoft 0d323563e4 Added cWindow property manipulation API.
Now enchantment table and furnace properties can be set by a plugin
2013-08-18 13:26:37 +02:00
Tiger Wang 9e0b8b5bee Enhancements to Tabcompletion and Compile Fix
Tab complete now finds the last word and matches accordingly, with a 20%
increase in speed!
Fixed missing comma breaking compilation
2013-08-18 11:58:19 +01:00
madmaxoft 40e9e5b95b cListenThread correctly closes all sockets.
This partially fixes FS 421.
2013-08-18 12:27:46 +02:00
madmaxoft 76cf61ce66 Disabled Lua virtual hooks.
This technology was used for old-style plugins and is no longer supported nor needed. Fixes #78.
2013-08-18 10:51:21 +02:00
Tiger Wang 7014979bff Merge remote-tracking branch 'upstream/master' 2013-08-18 00:36:51 +01:00
Tiger Wang 679085b520 Bugfix Update [SEE DESC}
Added stained clay, coal block, and hardened clay Block IDs
Added stained clay and carpet block Metas
Fixed bug with sticky retract bailing out but not unsetting arm
Fixed autocomplete not working when not at the first character, fixes
#64
Added furnace recipes for hardened clay and coal and coal blocks
2013-08-18 00:33:14 +01:00
madmaxoft 8fe6bb55dd Fixed LuaWindow destructor causing a crash.
It was leaving the m_Contents' relations to listeners and SlotAreas' relations to m_Contents, which were already gone.
2013-08-18 00:39:15 +02:00
madmaxoft 5efbb46ff0 Fixed assert failures in cLuaState when using it for pushing a StringVector. 2013-08-18 00:20:23 +02:00
madmaxoft d287183137 Added cRoot:BroadcastChat() to the Lua API.
This allows plugins to broadcast a chat message to all connected players. It is a replacement for previously removed cServer:BroadcastChat().
2013-08-17 23:58:37 +02:00
madmaxoft fcfbdee76d The server Tick thread ticks PluginManager.
This fixes #104 and #102
2013-08-17 23:45:58 +02:00
madmaxoft 4a3d0fcff5 Fixed compile-time warning in TNTEntity.
The FuseTime is now a double instead of a float
2013-08-17 18:08:46 +02:00
Tiger Wang a4d927c9e1 Another compile fix 2013-08-16 13:20:33 +01:00
Tiger Wang 6981e55b6c Possible entity ID fix? 2013-08-16 13:12:44 +01:00
Tiger Wang e64c40115e Compilation and Minecart fixes 2013-08-16 13:04:06 +01:00
Tiger Wang cbde4f546a Merge remote-tracking branch 'upstream/master' 2013-08-16 11:25:53 +01:00
Tiger Wang 7f87d6c3d6 Feature and bugfixes [SEE DESC]
Added TNT and Hopper minecarts
Fixed piston code failing without an extension set
Repeaters are now broken
Fixed not being able to place a minecart on an activator rail
Added much needed comments on piston code
Fixed minor formatting issue
2013-08-16 11:23:24 +01:00
madmaxoft 0cb00996de Replaced E_ENTITY_TYPE_XXX with cMonster::mtXXX.
Also slightly improved the spawning algorithm.
2013-08-16 10:48:30 +02:00
madmaxoft 7acb665f25 Exported cWorld:DoExplosionAt() to Lua API. 2013-08-15 22:12:57 +02:00
madmaxoft 28de751f2c Attempting to fix CentOS / gcc 4.4.7 compilation problem.
Reported by ThijsD in the forum http://forum.mc-server.org/showthread.php?tid=1220
2013-08-15 13:05:24 +02:00
Mattes D 1a52e89177 Merge pull request #93 from mc-server/PerWorldThreads
Per world threads
2013-08-15 01:56:52 -07:00
Tiger Wang d4f8a057dd Generation and simulation defaults
...are no longer set, instead, the server operator is told to set them.
2013-08-14 22:26:15 +01:00
madmaxoft 50205bc4df Added simple deadlock detection code.
This will assert and then deliberately crash the server once a deadlock is detected. For detection, only the world tick threads are considered, cWorld's m_WorldAge is checked periodically and if it doesn't increment for several seconds, a deadlock is reported.
2013-08-14 22:39:12 +02:00
madmaxoft f93d13c419 Fixed world's a_Dt parameter getting time values in wrong units. 2013-08-14 22:36:34 +02:00
madmaxoft 259cf9f027 cEvent can now wait for the event with a specified timeout. 2013-08-14 22:27:49 +02:00
madmaxoft 0af2a0b08c ClientHandle no longer queues chat messages.
It is no longer needed to queue chat messages, because the protocol is parsed within the Tick thread itself, without holding any SocketThread CS.
2013-08-14 20:08:05 +02:00
madmaxoft e2ff4a2e5c Clients are deleted when the world is stopped.
This fixes #92.
2013-08-14 19:56:29 +02:00
madmaxoft cce9642c7b Fixed wrong names for some metas.
They were E_BLOCK_ instead of E_META_.
2013-08-14 19:49:53 +02:00
madmaxoft 17b2353d71 Server counts the players correctly.
Was missing the PlayerDestroying() call, so players weren't removed from the playercount.
2013-08-14 19:11:54 +02:00
madmaxoft f8757d3606 Fixed crashes in world's clientlist manipulators 2013-08-14 13:43:55 +02:00
Tiger Wang ad57f1966c Okay, changed to xoft's partial fix 2013-08-14 12:08:36 +01:00
Tiger Wang 77468f87b7 Merge remote-tracking branch 'upstream/master'
Conflicts:
	source/Piston.cpp

Merge conflict?
2013-08-14 12:03:13 +01:00
Tiger Wang 4ae1750da2 Alpha sorted PistonBreakable list 2013-08-14 11:50:21 +01:00
madmaxoft b1a892bd9a Partially fixed tonibm19's mess. 2013-08-14 12:45:39 +02:00
Tiger Wang 303b1a9c45 Buncha bugfixes [SEE DESC]
Fixed generation values not being written
Fixed piston being able to push water
Fixed ice creating a non-source block (still doesn't update though)
Removed problematic piston code
2013-08-14 11:44:02 +01:00
Tiger Wang 7803bde6b6 Merge pull request #85 from tigerw/master
Fixed #57
2013-08-14 03:36:16 -07:00
madmaxoft c0629a9a6e Fixed player swimstate crash.
The check for swimming / submersion checks the Y coord first. Fixes #63.
2013-08-14 10:33:26 +02:00
madmaxoft 8c3837987b Player counts are now properly handled.
Fixes #80
2013-08-14 10:24:34 +02:00
madmaxoft b65a91dde3 Exported cWorld:BroadcastChat() to the Lua API; used in the Core. 2013-08-13 23:10:59 +02:00
madmaxoft af645c62c9 Merge branch 'master' into PerWorldThreads.
Also fixed the AllToLua script not resolving conflicts.
2013-08-13 23:02:22 +02:00
madmaxoft 9020dc9932 Clients are now ticked in cServer first, then in cWorld once they get assigned a world. 2013-08-13 22:45:29 +02:00
Tiger Wang 020ff36af2 YET ANOTHER ERROR >:( 2013-08-13 17:45:40 +01:00
Tiger Wang 27b400adf8 Credits 2013-08-13 17:44:01 +01:00
Tiger Wang dd6450c2a9 Attempt three
This is extremely embarrassing...
2013-08-13 17:41:50 +01:00
Tiger Wang a322bb275f Attempt two 2013-08-13 16:47:44 +01:00
Tiger Wang 2b0541ab39 Attempt at fixing sleep issue 2013-08-13 16:42:02 +01:00
Tiger Wang 23a5fb1450 Removed more comments 2013-08-13 16:36:19 +01:00
Tiger Wang 9ec248eaa0 Fixes #57 2013-08-13 16:34:26 +01:00
madmaxoft 27d0c9aef2 Fixed logging into debug console.
Was missing the LF at the end.
2013-08-12 14:47:08 +02:00
STRWarrior 9ad3c52593 Keep players from taking damage when teleporting. 2013-08-12 02:52:32 -07:00
STRWarrior 83d3635e0b Added quartz stairs. 2013-08-12 02:31:02 -07:00
madmaxoft 90ef9cfe97 Fixed logging into debug console.
Was missing the LF at the end.
2013-08-12 08:42:18 +02:00
madmaxoft c628ab03e9 Removed cServer::BroadcastChat() and cServer::SendMessage().
These two functions make it difficult to move to the new ticking system, and they aren't used anyway. If so required, they can be emulated by ForEachWorld / ForEachPlayer calls.
2013-08-12 08:35:13 +02:00
madmaxoft 6914bf4c65 Removed unused cServer::IsConnected() function. 2013-08-12 07:55:53 +02:00
madmaxoft 79ece8eb0d Merge branch 'master' into PerWorldThreads 2013-08-12 07:46:41 +02:00
Tiger Wang d23b8e0c7c Merge pull request #77 from tonibm19/patch-1
Now Endermans spawn in The End
2013-08-11 14:38:31 -07:00
Tiger Wang b48651a034 Really removed comments this time 2013-08-11 21:08:20 +01:00
tonibm19 67351d7d7b Now Endermans spawn in The End 2013-08-11 21:54:39 +02:00
Tiger Wang 1599d607d1 Merge pull request #74 from tigerw/master
Further attempt at fixing torch placements
2013-08-11 12:44:54 -07:00
madmaxoft 829cc866cd Added cWorld:QueueSaveAllChunks() function for saving chunks asynchronously.
The cWorld:SaveAllChunks() is therefore deprecated in the API and will be removed soon, use QueueSaveAllChunks() instead.
2013-08-11 21:05:44 +02:00
madmaxoft ac9224da91 cIsThread threads get a window identification on Win.
This enables tools such as TaskInfo to report the thread name directly.
2013-08-11 20:22:42 +02:00
madmaxoft 4c5590636c Each world now ticks in a separate thread. 2013-08-11 20:16:41 +02:00
madmaxoft c59d80a2af Removed cServer::m_pState, dissolved into direct member variables.
The server tick thread is now in the cServer::cTickThread object.
2013-08-11 19:46:27 +02:00
madmaxoft 2baa6634ec cIsThread: Added the Stop() method and debugging output in Wait() 2013-08-11 19:40:15 +02:00
madmaxoft eb9d45e906 Moved MaxPlayers and Description from cWorld to cServer.
Also started creating a new cWorld::cTickThread class, but not used yet.
2013-08-11 19:18:06 +02:00
madmaxoft b58ca60815 Added doxyComments for cIsThread. 2013-08-11 18:46:49 +02:00
Tiger Wang 93f5a4388c Removed unneeded case clause 2013-08-11 15:21:31 +01:00
madmaxoft dd60f55bcc Added the OnHopperPullingItem and OnHopperPushingItem hooks.
Requested in FS 412, slightly modified the params.
2013-08-11 14:57:07 +02:00
madmaxoft d97b4463c6 Added an AllowEmptyStacks param to cItemGrid::HowManyCanFit(). 2013-08-11 14:54:45 +02:00
Tiger Wang e7ecd78312 Tried adding bracket 2013-08-11 12:08:09 +01:00
Tiger Wang baae26ab22 Further attempt at fixing torch placements
Also fixed block on flower placement. #71
2013-08-11 11:58:57 +01:00
madmaxoft deeb3a15dc Added OnPlayerAnimation() hook.
Initial patch by @STR_Warrior, updated to account for different animation packets.
2013-08-11 12:29:05 +02:00
Tiger Wang 7e288850b1 Attempt at fixing torch placement
Attempt at fixing #71 and placement of torches.
2013-08-10 21:32:50 +01:00
Alexander Harkness 7d6bde3d93 Added back the required extra line in player.cpp 2013-08-10 17:40:52 +01:00
Tiger Wang b999b27e05 Removed extra disconnect message
There seems to be already one in the HandleDisconnect hook function.
2013-08-10 17:09:14 +01:00
Tiger Wang 7035dbd7f1 Deleting cPlayer now does LOGD instead of LOG
Hopefully only prints in debug the debug message!
2013-08-10 16:59:48 +01:00
Alexander Harkness e508e09753 Merge pull request #56 from mc-server/LinuxColorConsole
Linux color console
2013-08-10 04:40:38 -07:00
madmaxoft 15f80e0811 Linux color redirection fixed.
Outputting to stdin, yeah, right, that's gonna work :P
2013-08-10 13:07:49 +02:00
madmaxoft 19781ecad5 Coloring is reset before the LF. 2013-08-10 13:03:05 +02:00
madmaxoft 9794496571 Another Linux compilation fix. 2013-08-10 12:51:57 +02:00
madmaxoft 211a8395d4 Fixed Linux build. 2013-08-10 12:50:23 +02:00
madmaxoft 63b2fa21e8 Disabled coloring for redirected output. 2013-08-10 12:44:39 +02:00
madmaxoft 528feaba2c Use printf() instead of puts().
puts() outputs an extra newline, making it unsuitable
2013-08-10 09:45:05 +02:00
madmaxoft 2a97bed3b4 Bad preprocesor used for discovering Linux 2013-08-10 09:42:20 +02:00
madmaxoft d3c29c5a88 Piston head, when removed, removes the associated piston body, too.
Fixes FS 388
2013-08-10 08:22:53 +02:00
madmaxoft 72e2891017 Fixed squid crashing the server when above or below the world 2013-08-10 08:22:53 +02:00
madmaxoft c85acd4ece Renamed Plugin_NewLua to PluginLua. 2013-08-10 08:22:52 +02:00
madmaxoft 8fd67cf12a First attempt at Linux console colors
Ref.: issue #41
2013-08-09 22:40:12 +02:00
Alexander Harkness 33155a51e2 Merge pull request #55 from mc-server/falldamage-teleport
Keep players from taking damage when teleporting. (Hopefully).
2013-08-09 12:36:45 -07:00
Alexander Harkness e9b9f1861c Fixed stupid syntax error (thanks build system). 2013-08-09 17:17:04 +01:00
Alexander Harkness eaec6a4aab Keep players from taking damage when teleporting. (Hopefully).
Fixes #29
2013-08-09 16:18:24 +01:00
madmaxoft f89d6cc9af Piston head, when removed, removes the associated piston body, too.
Fixes FS 388
2013-08-09 16:20:12 +02:00
madmaxoft 7c9c51425b Fixed squid crashing the server when above or below the world 2013-08-09 15:53:43 +02:00
madmaxoft 7d70a06461 Renamed Plugin_NewLua to PluginLua. 2013-08-09 15:15:56 +02:00
madmaxoft d4a3c451c4 Added OnExploding() and OnExploded() hooks.
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-09 14:58:43 +02:00
Alexander Harkness 6f2c099f70 Merge pull request #52 from ravenscroftj/feature/food
A few fixes for the hunger/food system + tests for swimming and submerged in cPlayer.
2013-08-09 01:06:30 -07:00
James Ravenscroft 6963e8119c Fixed some formatting issues I accidentally introduced 2013-08-09 08:57:24 +01:00
James Ravenscroft ffce5d143f Removed the need to recalculate whether player is under water in ApplyFoodExhaustion 2013-08-09 08:50:33 +01:00
James Ravenscroft dace1f7bd2 Added IsSwimming and IsSubmerged flags and access methods 2013-08-09 08:37:39 +01:00
James Ravenscroft 2b9fdc3e36 Fixed the jump food exhaustion being added when player is swimming 2013-08-08 16:57:34 +01:00
James Ravenscroft 9f7db50de0 Fixed food handler for mushroom soup - proper food level and saturation are applied and the player receives a wooden bowl back after nomming 2013-08-08 16:32:14 +01:00
madmaxoft 23b15a926c Fixed a copypasta error in hook function names.
Thanks STR_Warrior for the report
2013-08-08 16:32:55 +02:00
madmaxoft eb323166d9 Removed LuaScript.
The WebAdmin now uses LuaState directly to call the one function it needs.
2013-08-08 16:30:02 +02:00
madmaxoft cc920ea929 cPlugin_NewLua is now completely rewritten to use templated LuaState calls. 2013-08-08 16:02:07 +02:00
madmaxoft 9e34a878ef cPlugin: Name now defaults to the plugin folder name. 2013-08-08 16:01:26 +02:00
madmaxoft 198b221997 LuaState refactoring: using templates for hook function calls.
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-08 14:08:35 +02:00
madmaxoft 6c54650b27 cPlugin: Removed empty default implementation of virtual calls. 2013-08-08 14:08:34 +02:00
madmaxoft ae9334bd93 Merge pull request #49 from mc-server/RemoveSquirrel
Remove squirrel
2013-08-08 03:14:47 -07:00
James Ravenscroft 864bdd2626 Made comments more readable by adding space between // and text content. Added /// doxygen syntax comments to declarations 2013-08-08 11:01:45 +01:00
James Ravenscroft 9a6442a206 Fixed the formatting issues in player cpp files 2013-08-08 10:57:36 +01:00
James Ravenscroft e6c33b0256 Made player drowning implementation 2013-08-08 10:32:34 +01:00
madmaxoft 3f4abe8c95 Addeed OnSpawningEntity, OnSpawnedEntity, OnSpawningMonster, OnSpawnedMonster hooks.
As requested in FS 418.
2013-08-08 09:13:13 +02:00
madmaxoft 09ebda4d10 Removed Squirrel.
This compiles under Windows, but is untested in Linux.
2013-08-07 22:39:40 +02:00
madmaxoft 3d027a8928 Merge pull request #48 from mc-server/BlockTracing
Block tracing
2013-08-07 06:46:43 -07:00
madmaxoft 58a76a90dc Added cLineBlockTracer to the API 2013-08-07 14:34:00 +02:00
madmaxoft 10b8ee7441 Plugin: Fixed plugin name in the cLuaState's subsystem 2013-08-07 14:33:16 +02:00
madmaxoft 29b9fb0a8b LuaScript: removed unused code 2013-08-07 14:32:40 +02:00
madmaxoft 9b839aa32e cLuaState has reference management, param checking and a fixed destructor.
References are now managed as RAII objects, cLuaState::cRef.
Destructor now calls correct function, either Close() or Detach(), based on the owned-ness of the lua_State *.
2013-08-07 14:26:18 +02:00
tonibm19 d48ff88e07 Now zombies spawn in Overworld during night 2013-08-06 21:38:32 +02:00
madmaxoft c55fabb5ad cLuaScript now uses cLuaState 2013-08-06 19:28:09 +02:00
madmaxoft 0281b1db6e Fixed compilation in ManualBindings 2013-08-06 19:27:48 +02:00
madmaxoft 4034136922 cLuaState is used for pushing splits in ManualBindings 2013-08-06 17:17:26 +02:00
madmaxoft 2030bd47c8 cLuaState now tracks the function name and number of args 2013-08-06 08:59:54 +02:00
madmaxoft 2151bb8f5b cLuaState can now contain a detached LuaState, too.
This will be useful for cases when we get a lua_State * from the outside and are asked to perform operations on it.
2013-08-06 08:01:00 +02:00
madmaxoft c0066e7260 Merge branch 'master' into BlockTracing 2013-08-05 16:02:41 +02:00
madmaxoft 73fcd7ad1c Exported the cWorld:TryGetHeight() function 2013-08-05 15:54:10 +02:00
madmaxoft d83e4369d3 Exported cWorld:DoWithEntityByID() to Lua API 2013-08-05 15:41:24 +02:00
madmaxoft 3b418c7695 Alpha-sorted the manual bindings' functions. 2013-08-05 15:26:43 +02:00
madmaxoft ca5561c395 cIniFile now reads .example.ini if not requested not to.
As specified in #44, when the .ini file cannot be opened, a .example.ini is tried, and if it succeeds, it is written as .ini. This makes it easy to provide ini file templates.
2013-08-05 15:24:23 +02:00
madmaxoft 073bcd0361 Added the Carpet block. 2013-08-05 10:43:43 +02:00
madmaxoft 71bb41ee86 LuaState refactoring: initial part.
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-04 23:11:25 +02:00
madmaxoft e21ed58d5f cWorld: Added a self-test for LineBlockTracer, disabled by an #ifdef. 2013-08-04 16:08:09 +02:00
madmaxoft 654714e7bc LineBlockTracer: Fixed initial errors 2013-08-04 16:07:15 +02:00
madmaxoft 6af81c66e9 cItem: Removed a warning emitted when creating an item from air 2013-08-04 16:06:28 +02:00
madmaxoft 5fe7008966 First attempt at implementing a cLineBlockTracer class
Not yet tested, will probably have lots of bugs, if it is at all usable.
2013-08-04 13:25:48 +02:00
madmaxoft 37850433d2 Improved logging coloring performance on Windows. 2013-08-04 08:56:20 +02:00
madmaxoft 106308796d Merge branch 'master' into BlockTracing 2013-08-03 20:45:08 +02:00
madmaxoft 4f26f11dc7 Added cWorld::DoWithChunk() function.
This will be used by the blocktracers to gain direct access to chunk data.
2013-08-03 20:26:50 +02:00
madmaxoft b688ba9be8 Removed the unused BlockY parameter from cChunkDef::BlockToChunk() 2013-08-03 20:05:07 +02:00
Alexander Harkness 3255c29e7a Removed some stuff again. 2013-08-03 18:36:04 +01:00
Alexander Harkness e585600e41 Revert "Rm'd startup credits & mv'd to README"
This reverts commit 2383977fe7.
2013-08-03 18:29:49 +01:00
Tiger Wang e3ddfbc566 Commented out groups spam
Further reduces chance of error message burying.
2013-08-03 17:49:38 +01:00
Tiger Wang 2383977fe7 Rm'd startup credits & mv'd to README
Removed as I feel it serves no purpose other than spam console and bury real error messages from plugins, etc. This is especially the case with running under screen, which makes it very difficult to scroll up or down.
2013-08-03 17:45:24 +01:00
Tiger Wang ff91a3317d Updated inbuilt commands description
Did this to meet help format standards.
2013-08-03 17:24:06 +01:00
madmaxoft 13c5a7864e AllToLua now resets the git status for the files.
This should auto-fix merge conflicts when they occur on the Bindings.cpp / Bindings.h files.
http://forum.mc-server.org/showthread.php?tid=1200&pid=9315#pid9315
2013-08-02 09:25:12 +02:00
madmaxoft edb299db09 Shift+clicking won't combine different item metas.
Fixes FS 424.
2013-08-02 09:12:16 +02:00
bearbin 86ca755bc2 Merge pull request #35 from mc-server/foodstuffs
Add the new food items.
2013-08-01 23:56:10 -07:00
bearbin 1d233bdc68 Alpha-sort the foodstuffs. 2013-08-02 07:54:30 +01:00
bearbin 7642fdd194 Add the new food items.
Enchanted golden apples are not required, as they are a meta value and provide the same nourishment as plain golden apples.
2013-08-02 07:46:30 +01:00
madmaxoft 3531bdb60b Implemented OnPlayerRightClickingEntity() hook
Fixes FS 425
2013-08-02 08:44:06 +02:00
madmaxoft f481865c35 New players get full health
Fixes #28.
2013-08-01 09:51:25 +02:00
madmaxoft 86831056dc ClientHandle: alpha-sorted the HandleXXX functions declarations 2013-08-01 09:46:01 +02:00
madmaxoft 3683601b8b Merge branch 'tabcompletion' 2013-08-01 09:36:33 +02:00
madmaxoft e8a907d89e Implemented the actual tab completion for commands and playernames.
Each command is reported only if the player has the permission to use it.
2013-07-31 11:16:11 +02:00
madmaxoft e9f18f8b4f Tab completion packet is handled and sent.
This only handles the network comm and the overall design logic, the actual completion is not yet implemented, only dummy values are returned for now.
2013-07-30 22:48:59 +02:00
madmaxoft fedb803acb Fixed inverted sanity check in SetGameMode()
Fixes #22.
2013-07-30 14:48:18 +02:00
madmaxoft 9efcd5b82f Added the "Edit Sign" packet sent to the client placing a sign.
Fixes issue #20. The 1.6.2 client wouldn't open the sign editor UI unless it receives a special packet
2013-07-29 21:42:05 +02:00
madmaxoft 3920e872f7 Updated the nightbuild script for Git 2013-07-29 19:53:41 +02:00
Alexander Harkness 53e22b1185 Changed everyting to Unix line endings. 2013-07-29 12:13:03 +01:00
madmaxoft 20e7221c7c WebAdmin: Removed the duplicate memory usage querying 2013-07-29 10:59:10 +02:00
madmaxoft e51221eaf9 Fixed formatting in LuaScript.* 2013-07-29 10:03:42 +02:00
madmaxoft 473dec42c8 Updated the automatic Lua bindings 2013-07-29 09:55:37 +02:00
madmaxoft 752e57108d Merge remote-tracking branch 'origin/master' into hunger 2013-07-29 09:53:47 +02:00
FakeTruth 5a9d4f89c2 WebAdmin templates can use Lua
New WebAdmin templates can use Lua to completely compose the pages
themselves. This should allow infinite WebAdmin design possibilities.
2013-07-29 02:37:59 +02:00
madmaxoft 3bf4130e3f Player eating is now properly broadcast to other players.
Also fixed the API relating to food, determining player gamemode, and removed several unneeded API functions.
2013-07-28 22:55:09 +02:00
madmaxoft 4746d2251c Implemented basic eating support.
Food is now properly consumed and it takes 1.5 sec.
2013-07-28 19:15:03 +02:00
madmaxoft 0caadbb25c Hunger-per-distance is calculated only for the XZ distance 2013-07-28 11:54:37 +02:00
madmaxoft d155c1cb00 Player food level is reset on respawn 2013-07-28 11:52:24 +02:00
madmaxoft c5c233312a Merge remote-tracking branch 'origin/master' into hunger 2013-07-28 11:47:29 +02:00
madmaxoft d3801c0296 Added cPlayer::IsGameModeXXX() and cWorld::IsGameModeXXX() functions.
These are the preferred way of determining the gamemode, you should use those instead of doing manual comparisons to the gamemode value.
2013-07-28 11:30:54 +02:00
Tiger Wang 265fa6d750 Fixed Window Titles being MCS-*
For example, MCS-Chest, MCS-DoubleChest, etc.
2013-07-27 22:32:07 +01:00
STRWarrior 235c23d464 Hunger: If a player dies the food level resets. 2013-07-27 06:07:10 -07:00
madmaxoft@gmail.com 6b348717d8 Removed debug-logging the player movement in each tick
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1685 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-26 20:03:25 +00:00
madmaxoft@gmail.com fa66659456 cItemGrid: ChangeSlotCount() now returns -1 if invalid SlotNum
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1684 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-26 19:53:47 +00:00
madmaxoft@gmail.com cd8720bf7e cInventory: Added the ChangeSlotCount() function to the Lua API
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1683 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-26 19:50:06 +00:00
madmaxoft@gmail.com 1b20cfa425 cEntity doesn't process physics / burning when in an invalid chunk
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1680 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-24 20:36:12 +00:00
madmaxoft@gmail.com df34c43293 Server shuts down when the stdin is closed (linux Ctrl+D / win Ctrl+Z)
Fixes FS #419

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1679 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-24 20:25:27 +00:00
madmaxoft@gmail.com a96ee0abfa cListenThread initializes m_ShouldReuseAddr to false (valgrind error)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1677 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-22 19:55:10 +00:00
madmaxoft@gmail.com 889402a56a Simulators don't simulate in invalid chunks (valgrind error)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1676 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-22 19:54:27 +00:00
madmaxoft@gmail.com 2fca0567bf Added a StringToMobType() function to the Lua API (patch contributed by STR_Warrior)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1674 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-12 20:28:41 +00:00
madmaxoft@gmail.com 4fb771f3ff First implementation of movement-related hunger and API
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1673 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-12 20:01:25 +00:00
madmaxoft@gmail.com f5e475d44f Added the cFastRandom class
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1672 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-11 08:34:41 +00:00
madmaxoft@gmail.com 94a92a219b Server sends PlayerMaxSpeed after a respawn.
http://forum.mc-server.org/showthread.php?tid=434&pid=8912#pid8912

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1671 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-08 18:30:27 +00:00
madmaxoft@gmail.com 97dc5a5365 Color codes are stripped from the DC message
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1670 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-08 13:00:09 +00:00
madmaxoft@gmail.com 791bf732fd 1.6.2 protocol implemented, both in MCServer and in ProtoProxy
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1669 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-08 12:59:15 +00:00
madmaxoft@gmail.com a40585ec99 Pickups have an initial health of 5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1668 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-08 07:23:44 +00:00
madmaxoft@gmail.com 9214a134ca World: More unused variables removed.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1667 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 20:48:50 +00:00
madmaxoft@gmail.com 3df8cfb091 World: Removed an unused variable
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1666 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 20:41:43 +00:00
madmaxoft@gmail.com 254295b5b8 Squid: fixed a possible crash caused by access to a wrong chunk
Fixes FS #411.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1665 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 20:20:18 +00:00
madmaxoft@gmail.com a72c6d9613 Ice is a solid block.
Helps with FS #381

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1664 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 19:58:33 +00:00
madmaxoft@gmail.com a3c8b12ee9 Mobs are assigned MaxHealth from monsters.ini; reading monsters.ini doesn't need settings.ini values anymore.
Fixes FS #409.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1662 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 15:09:05 +00:00
madmaxoft@gmail.com 5951bc76ec Added StringUtils functions to Lua API; added StripColorCodes(); ChatLog now strips color codes from logged messages.
Fixes FS #398

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1661 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 14:42:07 +00:00
madmaxoft@gmail.com 0224a4f7fc Fixed sprinting in 1.6.1, made speeds available through API; fixed messages containing quotes.
Fixes FS #415

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1660 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 14:13:43 +00:00
madmaxoft@gmail.com b1d05b0f57 Improved function names for protocol packet sending; alpha-sorted the function lists
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1659 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 13:06:06 +00:00
madmaxoft@gmail.com 762f78774d Declaring full 1.6.1 compatibility
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1651 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05 21:14:55 +00:00
madmaxoft@gmail.com 37590c4bd8 Unmounting vehicles implemented in the 1.6.1 way
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1650 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05 21:11:06 +00:00
madmaxoft@gmail.com b818addde4 Fixed 1.6.1's movement speed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1649 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05 21:02:08 +00:00
madmaxoft@gmail.com de5cec7419 Initial 1.6.1 protocol support.
The client connects and is capable of basic gameplay, but the player moves at an incredible speed (50 blocks / sec).

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1646 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05 19:40:19 +00:00
madmaxoft@gmail.com eff79ee55f Fixed a crash when moving a player to a non-existent world (reported by tonibm19)
http://forum.mc-server.org/showthread.php?tid=434&pid=8865#pid8865 crashdump.zip/crash_mcs_165c.dmp

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1645 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-05 17:04:12 +00:00
madmaxoft e27a5db409 Empty buckets replace fluid buckets on use and vice versa (patch contributed by Mgueydan)
Fixes FS #277.
API change: added an optional parameter to cItemGrid:AddItem(), cItemGrid:AddItems(), cInventory:AddItem() and cInventory:AddItems()

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1643 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-03 13:56:11 +00:00
madmaxoft@gmail.com f7b8a301f8 Fixed player moving between worlds.
Fixes FS #407.
Also fixes a few possible deadlocks between SocketThreads and TickThread

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1641 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-03 07:47:35 +00:00
madmaxoft@gmail.com 2f8eebaad1 dtOnFire damage wasn't dealt properly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1640 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-01 18:52:24 +00:00
madmaxoft@gmail.com 37f6c78404 Added DamageType translation to API
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1639 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-01 18:46:45 +00:00
madmaxoft@gmail.com 2e9cf0ae28 Fixed burn / fire damage in each game tick.
http://forum.mc-server.org/showthread.php?tid=434&pid=8798#pid8798

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1638 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-01 18:37:27 +00:00
madmaxoft@gmail.com 37276a4430 Rewritten entity-on-fire management ("forever on fire" bugs)
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-07-01 10:39:56 +00:00
madmaxoft@gmail.com 623adcad0f Fixed crouch-placing unplaceable items (FS #399)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1632 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-29 15:45:46 +00:00
madmaxoft@gmail.com 7b75aaea7c Advanced RCON: Command output is sent to the RCON client.
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-29 15:30:05 +00:00
madmaxoft@gmail.com bc421842c6 Added a basic RCON protocol
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1628 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-27 15:14:20 +00:00
madmaxoft@gmail.com f6b3ab7b42 Added a warning when spawning an entity in a non-existent chunk
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1627 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-25 06:48:17 +00:00
madmaxoft@gmail.com 4fe7801cfc Unified the way mobs are spawned (egg vs natural). Fixed deadlocks in mob moving. Fixed mob destroying code.
Should fix FS #400 and partially fix FS #381

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1626 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-25 06:36:59 +00:00
nielsbreu@gmail.com 146b3d568a The weather doesn't change if the dimension is not Overworld.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1624 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-24 16:50:32 +00:00
madmaxoft@gmail.com 943dcaea14 Plugins can modify message in the OnChat() hook handler.
FS #376

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1622 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22 19:08:34 +00:00
madmaxoft@gmail.com 9dd0486faf Added the End height and composition generators.
Also made the dimension in world.ini specifiable by a string. Exported StringToDimension() and StringToBiome() to Lua API.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1621 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22 18:41:08 +00:00
nielsbreu@gmail.com c8fc397b43 Made redstone lamps turn on when powered and turn off when not powered.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1620 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22 11:45:41 +00:00
nielsbreu@gmail.com c153a5c6df Dispensers spawn fire if it has Flint and steel.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1619 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22 10:03:41 +00:00
nielsbreu@gmail.com 5a18b9b6b7 TNT changes to primed TNT when powered by redstone.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1618 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22 08:42:49 +00:00
madmaxoft@gmail.com e2281df8d8 Dispensers dispense primed TNT
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1617 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-21 21:19:47 +00:00
madmaxoft@gmail.com fe02bf374a Explosions don't produce warnings in cBlockArea; fixed logging in cBlockArea
Fixes FS #389

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1616 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-21 21:19:02 +00:00
madmaxoft@gmail.com d95756c5cc Simulators are woken up after an explosion.
Fixes FS #391

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1615 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-21 20:47:58 +00:00
madmaxoft@gmail.com c867bdac24 Updated the stacking (Patch contributed by Stephen304)
http://forum.mc-server.org/showthread.php?tid=503&pid=8609#pid8609

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1614 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-20 18:29:34 +00:00
madmaxoft@gmail.com 0aba613084 Furnace window progressbars are initialized when the window is opened
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1613 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-20 11:46:08 +00:00
madmaxoft@gmail.com 8dd5fe5070 Furnaces light up visually when they're cooking
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1612 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-20 11:41:44 +00:00
madmaxoft@gmail.com 512c342782 Implemented hopper output
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1611 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-20 11:02:09 +00:00
madmaxoft@gmail.com d633f8a671 Fixed a crash when placing new furnaces
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1610 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-20 11:01:13 +00:00
madmaxoft@gmail.com 30f808034c Improved comment
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1609 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-19 20:21:26 +00:00
nielsbreu@gmail.com bcfa09aa14 Explosions do not effect the terrain when they are in water.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1608 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18 20:32:22 +00:00
madmaxoft@gmail.com 73fb71e164 Crouching will allow block placement on otherwise functional blocks.
Fixes FS #382

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1607 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18 20:15:29 +00:00
madmaxoft@gmail.com 32f28bf1fb Added a crude limiter for explosions sent to client.
Now the client can survive even 3000k TNT blocks exploding without jerking much.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18 19:32:31 +00:00