summaryrefslogtreecommitdiffstats
path: root/source (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Attempt to bring sanity to newlines across systems.cedeel@gmail.com2012-06-14330-70605/+70605
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added HOOK_WEATHER_CHANGE.cedeel@gmail.com2012-06-144-2/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@605 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Exported the ItemCategory functions and added a IsTool() function to it, for easy checking whether an item is a toolfaketruth2012-06-133-4/+198
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@603 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a BlockToPickup hook for modifying pickups when a player breaks a block.madmaxoft@gmail.com2012-06-1313-88/+636
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@602 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Modified ToLua additional script to allow multi-usertype virtual functionsmadmaxoft@gmail.com2012-06-131-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@601 0a769ca7-a7f5-676a-18bf-c427514a06d6
* I think the chunk generation hooks for Lua are pretty good now, though it might still need some tweakingfaketruth2012-06-134-35/+655
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@600 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Revamped the weather system.cedeel@gmail.com2012-06-134-32/+107
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@599 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added working crafting hooks HOOK_PRE_CRAFTING, HOOK_CRAFTING_NO_RECIPE and HOOK_POST_CRAFTINGmadmaxoft@gmail.com2012-06-1211-73/+637
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@598 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Updated the crafting recipes architecture to better support crafting hooks. Removed the old recipe file and implementation altogether.madmaxoft@gmail.com2012-06-1215-675/+1393
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@597 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed an errorcedeel@gmail.com2012-06-121-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@596 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Allow current itemscedeel@gmail.com2012-06-121-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@595 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added implementation of E_PLUGIN_CHUNK_GENERATING lua hookfaketruth2012-06-1110-25/+316
| | | | | | 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
* Fixed a bug in crafting recipes - would consume multiple items of asterisked ingredients (FS #205)madmaxoft@gmail.com2012-06-091-18/+25
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@593 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Disallowed placing cacti in watermadmaxoft@gmail.com2012-06-091-0/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@592 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Snow cover breaks when the block below it is removed (FS #184).madmaxoft@gmail.com2012-06-091-1/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@591 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a forgotten ini file readmadmaxoft@gmail.com2012-06-091-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@590 0a769ca7-a7f5-676a-18bf-c427514a06d6
* More ini settings save their defaultsmadmaxoft@gmail.com2012-06-094-20/+18
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@588 0a769ca7-a7f5-676a-18bf-c427514a06d6
* World generator uses the new Ini interface; also set new defaults for the generator to match the best generation we currently havemadmaxoft@gmail.com2012-06-091-63/+57
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@587 0a769ca7-a7f5-676a-18bf-c427514a06d6
* New IniFile functionality: read value and set default if it isn't present (GetValueSet() ); used by cWorldmadmaxoft@gmail.com2012-06-093-56/+246
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@586 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Sugarcane and cactus max height can be set in world.ini.madmaxoft@gmail.com2012-06-095-8/+77
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@585 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Plants growable by bonemeal are settable in the world.ini. Default matches vanilla MC.madmaxoft@gmail.com2012-06-095-15/+88
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@584 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Cacti grow by themselves and by bonemealmadmaxoft@gmail.com2012-06-097-6/+83
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@583 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Bonemeal is consumed in survival mode when used on growable blocksmadmaxoft@gmail.com2012-06-094-10/+15
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@582 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Tall grass finally drops seedsmadmaxoft@gmail.com2012-06-091-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@581 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Biomal CompoGen now correctly produces sand in desert mountains, toomadmaxoft@gmail.com2012-06-081-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@580 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed random drops not occurring at allmadmaxoft@gmail.com2012-06-081-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@579 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Sugarcane grows and can be grown using bonemeal.madmaxoft@gmail.com2012-06-086-60/+132
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@578 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Simplify ifdef. Makes compiling possible on BSDcedeel@gmail.com2012-06-081-8/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@577 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Sugarcane and Pumpkins get placed (quite rarely) in the SprinkleSmallFoliage FinishGenmadmaxoft@gmail.com2012-06-085-39/+136
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@576 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Configurable classic composition generatorcedeel@gmail.com2012-06-089-61/+47
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@575 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Bonemeal works on crops, melons, pumpkins, saplings and grass. Plant growing has been refactored into separate functions callable from Lua, too.madmaxoft@gmail.com2012-06-0710-6/+286
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@573 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Nightbuild: bindings are automatically update before the buildmadmaxoft@gmail.com2012-06-071-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@572 0a769ca7-a7f5-676a-18bf-c427514a06d6
* BlockChecking split into a separate functionmadmaxoft@gmail.com2012-06-072-94/+98
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@571 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Repeaters' delays can be set by rclkmadmaxoft@gmail.com2012-06-078-4/+49
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@570 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Grass grows under vinesmadmaxoft@gmail.com2012-06-071-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@569 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Multiple packets are serialized in one request.madmaxoft@gmail.com2012-06-071-5/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@568 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a typo in grass spreading causing much of the "too many packets" error.madmaxoft@gmail.com2012-06-071-5/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@567 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added more statistics to the packet queue overfill problem.madmaxoft@gmail.com2012-06-071-2/+20
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@566 0a769ca7-a7f5-676a-18bf-c427514a06d6
* (Temporary) hotfix for the "too many packets" error - set the packet limit 5x higher.madmaxoft@gmail.com2012-06-071-1/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@565 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Snow drops snowballs only when mined with a shovelmadmaxoft@gmail.com2012-06-071-1/+11
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@564 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Grass spreads to adjacent dirt blocks. Doesn't check dest light yet.madmaxoft@gmail.com2012-06-062-17/+53
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@563 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Hopefully fixed lighting around chests and cropsmadmaxoft@gmail.com2012-06-061-0/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@562 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Item-dropping code rewritten and centralized - now there's only one place to modify if we want to split or merge same-item drops: cWorld:SpawnItemPickups(). Also, mined blocks can now drop more items, and they recognize if they're being mined by the correct tool.madmaxoft@gmail.com2012-06-0635-326/+1051
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@561 0a769ca7-a7f5-676a-18bf-c427514a06d6
* BlockIDs, ItemIDs and Metas updated, courtesy of Taugeshtumadmaxoft@gmail.com2012-06-061-5/+168
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@560 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed webadmin for the fixed stringsplittingmadmaxoft@gmail.com2012-06-051-140/+150
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@559 0a769ca7-a7f5-676a-18bf-c427514a06d6
* New hook, E_PLUGIN_CHUNK_GENERATED, called after each chunk is generated (the chunk is already present in cWorld)madmaxoft@gmail.com2012-06-0510-856/+287
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@558 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed tolua++ sources to consider AString a builtin string type. Fixed tolua++ VC projects for compilation with local Lua.madmaxoft@gmail.com2012-06-041-0/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@551 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed Linux compilation.cedeel@gmail.com2012-06-041-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@550 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the new recipe parser, parsing the crafting.txt file. Included are a few recipes. The old parser still works, but will be replaced soon.madmaxoft@gmail.com2012-06-0414-18917/+19801
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@549 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Updated zlib, added chat formatting, fixed upside down stairs and slabs, fixed makefiles, hopefully updated vc project filescedeel@gmail.com2012-06-049-18816/+18942
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@546 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Biomal composition gen: added the bedrock layer at the bottommadmaxoft@gmail.com2012-06-021-4/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@542 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the Biomal composition generator.madmaxoft@gmail.com2012-06-025-18/+283
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@541 0a769ca7-a7f5-676a-18bf-c427514a06d6
* ClientHandle dumps the contents of all packets in the queue if the packet queue gets overloaded to the point of client-kicking. Use this to debug FS #197.madmaxoft@gmail.com2012-06-021-0/+63
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@540 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed Linux compilation complaining about min() and max(), hopefully forever. Use std::min() and std::max()madmaxoft@gmail.com2012-06-023-10/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@539 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a cHeiGenCache object for caching generated heightmaps. World generation is now about twice as fast as before Rev 535 :)madmaxoft@gmail.com2012-06-023-0/+143
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@538 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a cBioGenCache object for caching generated biomesmadmaxoft@gmail.com2012-06-023-0/+144
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@537 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the Biomal height generator, made it the default height generator.madmaxoft@gmail.com2012-06-026-6/+176
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@536 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added Lua function cRoot:ForEachWorld(), removed the obsolete cRoot:GetWorld() method (both C++ and Lua)madmaxoft@gmail.com2012-06-026-64/+137
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@534 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a nasty int overflow bug in blockticking code ( http://forum.mc-server.org/showthread.php?tid=457 )madmaxoft@gmail.com2012-06-011-3/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@533 0a769ca7-a7f5-676a-18bf-c427514a06d6
* DistortedVoronoi biome generatormadmaxoft@gmail.com2012-05-313-36/+67
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@532 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cWorld::UnloadUnusedChunks() exported to Luamadmaxoft@gmail.com2012-05-313-3/+37
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@531 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed melons and pumpkins generating in a wrong place.madmaxoft@gmail.com2012-05-311-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@530 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added more statistics to the "chunkstats" server console commandmadmaxoft@gmail.com2012-05-301-1/+19
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@528 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added support for SetNextBlockTick() function callable from Luamadmaxoft@gmail.com2012-05-308-20/+92
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@527 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Melon and pumpkin stems now grow melons and pumpkinsmadmaxoft@gmail.com2012-05-301-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@526 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed blocktick distributionmadmaxoft@gmail.com2012-05-302-18/+15
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@525 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Lua plugins can now query the world for various queue sizes ( http://forum.mc-server.org/showthread.php?tid=432 )madmaxoft@gmail.com2012-05-303-4/+142
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@524 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Seeds can now be planted and they grow (albeit too quickly and too non-uniformly, need to fix blocktick selection)madmaxoft@gmail.com2012-05-301-1/+28
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@523 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Farmland gets hydrated and dehydrated. Fixed an off-by-one error in neighbor-chunk manipulation.madmaxoft@gmail.com2012-05-302-3/+76
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@522 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a crash when chunks were loaded / generated with entities ( http://forum.mc-server.org/showthread.php?tid=450 )madmaxoft@gmail.com2012-05-301-26/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@521 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Farmland is created using a hoe on dirt or grass.madmaxoft@gmail.com2012-05-292-2/+16
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@520 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Refactored item-eating from cClientHandle into cPlayermadmaxoft@gmail.com2012-05-293-82/+72
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@519 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added code for the chunks to manipulate their neighbors while ticking. Also added some basic farming support - melon and pumpkin growing code. Untested and untestable so far, will test and fix later.madmaxoft@gmail.com2012-05-299-324/+439
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@518 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Cacti don't gather snowmadmaxoft@gmail.com2012-05-281-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@517 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chests and Furnaces are now saved properly into Anvil scheme.madmaxoft@gmail.com2012-05-289-57/+210
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@516 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Ice finisher generator; fixed snow on water.madmaxoft@gmail.com2012-05-272-1/+33
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@515 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a snow finisher generatormadmaxoft@gmail.com2012-05-271-1/+25
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@514 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added some useful biome synonyms; added block property IsSnowable; alphabetically sorted block property settingmadmaxoft@gmail.com2012-05-273-53/+85
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@513 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Voronoi has a minimum cell size of 4 blocks now, to avoid some extreme corner-casesmadmaxoft@gmail.com2012-05-271-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@512 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a voronoi biome generator (#180)madmaxoft@gmail.com2012-05-273-0/+91
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@511 0a769ca7-a7f5-676a-18bf-c427514a06d6
* DebugBiomes composition generator now uses only blocks suitable for terrain (from an internal list)madmaxoft@gmail.com2012-05-271-1/+28
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@510 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added wool and netherrack block IDsmadmaxoft@gmail.com2012-05-273-4/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@509 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Restructured biome generators with a list of available biomes to use a common ancestor (preparation for Voronoi and DistortedVoronoi)madmaxoft@gmail.com2012-05-272-11/+30
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@508 0a769ca7-a7f5-676a-18bf-c427514a06d6
* ConstantBiome parsing now uses the string-to-biome conversion (#183)madmaxoft@gmail.com2012-05-271-2/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@507 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the CheckerBoardBiomes parameter for setting biomes that CheckerBoard generates (#179). Added string-to-biome conversion (#183). Added OreNests to default Structures configuration.madmaxoft@gmail.com2012-05-275-8/+109
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@506 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Improved logging on mis-configuration in cPlayer and cWorldStoragemadmaxoft@gmail.com2012-05-272-2/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@505 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Merged the composable_generator branch into the trunkmadmaxoft@gmail.com2012-05-2576-2841/+5199
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@504 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed a debugging construct that accidentally leaked into previous commitmadmaxoft@gmail.com2012-05-081-8/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@485 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fast NBT writer (Saving a chunk is now about twice as fast)madmaxoft@gmail.com2012-05-084-73/+364
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@484 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed two "bottlenecks" found using profiling - MakeIndex() instead of MakeIndexNoCheck()madmaxoft@gmail.com2012-05-081-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@483 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fast NBT Parser (loading a chunk is now about 10 times faster)madmaxoft@gmail.com2012-05-076-88/+651
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@481 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Updated version text to include 1.2.5; ChunkSender doesn't serialize chunk packets for chunks without a clientmadmaxoft@gmail.com2012-05-072-1/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@480 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Anvil storage writing (Basic storage is working, NO entities except for chests are working! Don't use for real servers)madmaxoft@gmail.com2012-04-2311-35/+431
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@475 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Lapis gets generated (thanks, Fordship)madmaxoft@gmail.com2012-04-151-0/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@463 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Moved the commands /coords /viewdistance and /regeneratechunks from cServer.cpp to the Core pluginfaketruth2012-04-115-64/+11
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@457 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added error messages to socket closing error conditions for *nixmadmaxoft@gmail.com2012-04-101-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@456 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the permission "builtin.regeneratechunk" needed for regenerating chunks using a command.madmaxoft@gmail.com2012-04-101-0/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@455 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the "/regeneratechunk" command that regenerates either current chunk or a chunk specified with x, z parameters. TODO: permissions - we don't want guests erasing our chunks!madmaxoft@gmail.com2012-04-1010-37/+104
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@454 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Compression error -5 fixmadmaxoft@gmail.com2012-04-041-2/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@452 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a parsing error in NBT classes (doubles weren't parsing correctly);madmaxoft@gmail.com2012-04-042-1/+227
| | | | | | Added a working NBT serialization (verified in another project) git-svn-id: http://mc-server.googlecode.com/svn/trunk@451 0a769ca7-a7f5-676a-18bf-c427514a06d6
* StringUtils' GetDirectoryContents() now accepts empty string and interprets it as "current directory" (*nix fix)madmaxoft@gmail.com2012-04-041-1/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@450 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Logging OnBlockDig and OnBlockPlace only in Debug mode ( http://mc-server.org/support/index.php?do=details&task_id=133&project=2 )madmaxoft@gmail.com2012-04-031-2/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@447 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Attempted a fix for cSocket's Bind() call on MacOS-based systems (initializing the whole sockaddr_in structure with zeroes first)madmaxoft@gmail.com2012-04-031-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@446 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket.cpp should also compile on Mac now (I hope)faketruth2012-03-311-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@443 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a crash when fluid would try to go below the world (y = -1)faketruth2012-03-311-4/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@442 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Got rid of sPluginManagerStatefaketruth2012-03-285-70/+90
| | | | | | | | /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
* Fixed a possible crash in ChunkSender - a client would be reported as removed but still would be in the internal queue.madmaxoft@gmail.com2012-03-272-2/+16
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@438 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed the unneeded header wdirent.hmadmaxoft@gmail.com2012-03-261-369/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@437 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the supported client version to banner; shamelessly added myself to the authors list ;)madmaxoft@gmail.com2012-03-263-4/+13
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@436 0a769ca7-a7f5-676a-18bf-c427514a06d6
* A globally-accessible OS-independent GetDirectoryContents() function for listing all objects in a folder as an AStringListmadmaxoft@gmail.com2012-03-256-85/+81
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@433 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed the Log altogether (doesn't use NULL-to-va_list assignment, compiles for RaspberryPi)madmaxoft@gmail.com2012-03-252-14/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@432 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the new 1.2.4's PlayerAbilities packet; restructures packet files for less files, more dense.madmaxoft@gmail.com2012-03-2414-382/+398
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@431 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Protocol version bumped up to 29 (MC 1.2.4), seems to work.madmaxoft@gmail.com2012-03-241-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@430 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed the split between 1.2.3 and 1.1, left only 1.2.3 codemadmaxoft@gmail.com2012-03-2412-226/+10
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@429 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Reverted the previous commit - it is useless, since entities still depend heavily on cWorldmadmaxoft@gmail.com2012-03-2418-258/+47
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@428 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Encapsulated cWorld functions needed in cWorldStorage into an interface, so that cWorldStorage can actually be used outside of MC-Server (such as storage conversion tools and chunk analyzers)madmaxoft@gmail.com2012-03-2318-47/+258
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@427 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.madmaxoft@gmail.com2012-03-226-22/+51
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@426 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed player heads always pointing north (new EntityHeadLook packet)madmaxoft@gmail.com2012-03-196-15/+81
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@424 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a warning in a Release buildmadmaxoft@gmail.com2012-03-191-1/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@423 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Made some logging output debug-onlymadmaxoft@gmail.com2012-03-191-6/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@421 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Basic cWindow thread-safetymadmaxoft@gmail.com2012-03-196-63/+132
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@420 0a769ca7-a7f5-676a-18bf-c427514a06d6
* SocketThreads: proper thread finishing sequence (doesn't trigger AppVerifier checks :)madmaxoft@gmail.com2012-03-191-0/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@419 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Got rid of cPlayer::sPlayerStatefaketruth2012-03-162-88/+47
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@418 0a769ca7-a7f5-676a-18bf-c427514a06d6
* That didn't work.. I forgot some cChunk functions were changed. Now it should compile againfaketruth2012-03-162-1/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@417 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Exposed a function to Lua to get a block's sky light valuefaketruth2012-03-166-33/+72
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@416 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Actually commented out the Anvil terrain inversion codemadmaxoft@gmail.com2012-03-141-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@415 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Anvil support: Added a debugging section for inverting terrain (So that MC cave generator can be seen in action). Commented out, so that it doesn't make it into the release versionsmadmaxoft@gmail.com2012-03-141-0/+24
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@414 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Unified the chunk data to use the BLOCKDATA datatype.madmaxoft@gmail.com2012-03-1416-33/+52
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@413 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com2012-03-1433-592/+799
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@411 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed the server not waiting for the world to save completely before stoppingmadmaxoft@gmail.com2012-03-131-0/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@410 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed an unwarranted assert in cChunkSendermadmaxoft@gmail.com2012-03-131-2/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@409 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Small optimizations in the SetNibble() and GetNibble() functions; removed unused lighting functions from cChunkmadmaxoft@gmail.com2012-03-132-96/+23
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@408 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a few warnings, lifted up the block interactinos limit to 20 (10 was not enough for Creative mode)madmaxoft2012-03-133-21/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@407 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Gotten rid of stricmp MSVC warningsmadmaxoft@gmail.com2012-03-121-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@406 0a769ca7-a7f5-676a-18bf-c427514a06d6
* *nix compilation fix (for rev 402)madmaxoft@gmail.com2012-03-121-4/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@405 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a flat terrain generator with settable terrain heightmadmaxoft@gmail.com2012-03-125-10/+148
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@404 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed MapChunk packets to include (fake) biome data, makes clients happymadmaxoft@gmail.com2012-03-125-15/+55
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@403 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixing compilation on Drawin 9 / MacOS Xmadmaxoft@gmail.com2012-03-123-14/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@402 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Stopping the ChunkSender upon server stopmadmaxoft@gmail.com2012-03-113-2/+15
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@401 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a small bug in chunk version check D:faketruth2012-03-111-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@400 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Not sending chunks to the client twicemadmaxoft@gmail.com2012-03-115-24/+40
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@399 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Anvil format: fixed loading with XZY orderingmadmaxoft@gmail.com2012-03-111-11/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@398 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a few obsoleted functionsmadmaxoft@gmail.com2012-03-1012-49/+83
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@397 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Completely integrated the new axis ordering. Will update worlds accordinglyfaketruth2012-03-103-2/+151
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@396 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Anvil support: compatible with both chunk orderingsmadmaxoft@gmail.com2012-03-101-0/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@395 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Using references instead of pointers for sending packetsmadmaxoft@gmail.com2012-03-108-26/+24
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@394 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed mob spawn packet for 1.2 client, now client doesn't bail out when mobs are turned onmadmaxoft@gmail.com2012-03-103-8/+11
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@393 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed *nix threading issue;madmaxoft@gmail.com2012-03-1011-88/+93
| | | | | | | Thread objects now use variable names consistent with MCS convention; Fixed a few *nix threading cornercases git-svn-id: http://mc-server.googlecode.com/svn/trunk@392 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Was using "#else if" which is not valid apparently, now using "#elif"faketruth2012-03-104-6/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@391 0a769ca7-a7f5-676a-18bf-c427514a06d6
* You can change axis ordering by setting AXIS_ORDER to AXIS_ORDER_XZY in cChunk.h !THIS WILL SCREW UP YOUR WORLDS THOUGH!faketruth2012-03-105-15/+46
| | | | | | Still need to update world storage schemes, converters and such git-svn-id: http://mc-server.googlecode.com/svn/trunk@390 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Using more of the index functions in cChunk, so it should be easy enough to flip the axis ordering nowfaketruth2012-03-103-82/+94
| | | | | | Added some more functions that use Vector3i for block coordinates in cChunk git-svn-id: http://mc-server.googlecode.com/svn/trunk@389 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cClientHandles have a unique ID now to distinguish themfaketruth2012-03-0924-71/+224
| | | | | | | | | | | cAuthenticator uses unique client ID for authentication Changed the kick function used by cAuthenticator to take a client ID instead of name, so the correct user is kicked Using callback reference instead of pointer in GetChunkData and affiliates GetChunkData returns false when failed, and true when succeeded Renamed entity type enums to something prettier Exposed some functions to Lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@388 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Using the _DEBUG macro for *nix debug builds as well; trying to force 8-byte alignment on critical sections ( http://forum.mc-server.org/showthread.php?tid=384 )madmaxoft@gmail.com2012-03-096-28/+57
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@387 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Anvil format: loading chests' contents.madmaxoft@gmail.com2012-03-074-11/+240
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@385 0a769ca7-a7f5-676a-18bf-c427514a06d6
* ChunkSender: Fixed a potential crash: removing a client means that no Send() is called on that client anymoremadmaxoft@gmail.com2012-03-072-16/+27
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@384 0a769ca7-a7f5-676a-18bf-c427514a06d6
* WSSCompact: fixed switched version values (!); removed unused methodsmadmaxoft@gmail.com2012-03-072-4/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@383 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed bug where cPlayer's cClientHandle was used after cPlayer was destroyed http://forum.mc-server.org/showthread.php?tid=380faketruth2012-03-0713-107/+306
| | | | | | | | | Also removed the SetClientHandle() function from cPlayer Added a Destroyed() function to cEntity that is called ONLY ONCE after an entity has been 'destroyed' Cleaned up some code, using enums for GameMode and Weather and replaced some 'const char *' with 'const AString &' Exposed some more functions to Lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@382 0a769ca7-a7f5-676a-18bf-c427514a06d6
* No need to reset zlib (copypasta error)madmaxoft@gmail.com2012-03-071-1/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@381 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the Anvil level format (MCA) support, read-only for the time being. Now MCS can read your worlds from the official server :)madmaxoft@gmail.com2012-03-076-2/+1258
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@380 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Sticky pistons should work as well nowfaketruth2012-03-061-0/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@379 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a little documentation on ChunkSender.madmaxoft@gmail.com2012-03-061-1/+14
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@378 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed redstone repeater bug where it could not get the direction when it has delay bits setfaketruth2012-03-061-3/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@377 0a769ca7-a7f5-676a-18bf-c427514a06d6
* ChunkSender won't send NULL packets anymoremadmaxoft@gmail.com2012-03-061-1/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@376 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed rev 373 not compiling on linuxmadmaxoft@gmail.com2012-03-061-0/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@375 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Yay redstone repeaters!faketruth2012-03-064-49/+355
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@374 0a769ca7-a7f5-676a-18bf-c427514a06d6
* World storage names are now case-INsensitivemadmaxoft@gmail.com2012-03-061-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@373 0a769ca7-a7f5-676a-18bf-c427514a06d6
* That was not a good place to use ARRAYCOUNT()madmaxoft@gmail.com2012-03-061-5/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@372 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkListsmadmaxoft@gmail.com2012-03-065-26/+155
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@371 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed bug FS#157 http://mc-server.org/support/index.php?do=details&task_id=157faketruth2012-03-061-5/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@370 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a potential deadlock ( http://forum.mc-server.org/showthread.php?tid=374 )madmaxoft@gmail.com2012-03-051-4/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@369 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Using a fixed-size array instead of AString for conversion. Conversion now runs ~10x faster :) (in debug mode)madmaxoft@gmail.com2012-03-051-25/+29
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@368 0a769ca7-a7f5-676a-18bf-c427514a06d6
* WSS conversion quickfix: reserving memory so that AString doesn't need to re-alloc (but still uses painfully slow push_back()s )madmaxoft@gmail.com2012-03-051-0/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@366 0a769ca7-a7f5-676a-18bf-c427514a06d6
* ChunkSender: Chunks are now compressed and sent to clients from a separate threads, proper passive waiting between threads. Not much tested, just appears to work :)madmaxoft@gmail.com2012-03-0518-229/+453
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@365 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed redstone debugging: powered dirt blocks change into stonefaketruth2012-03-041-8/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@364 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Yay tiny commits XD fixed % signfaketruth2012-03-041-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@363 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Lowered the amount of logging while converting chunksfaketruth2012-03-041-1/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@362 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Converted pak files were not marked 'dirty' and wouldn't be saved. Fixed now :)faketruth2012-03-041-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@361 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Forcing the use of the new redstone simulatorfaketruth2012-03-041-1/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@359 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Should have complete support for 256 blocks high worlds. Old save files are converted to new ones at load.faketruth2012-03-043-16/+165
| | | | | | BACK UP YOUR WORLD! git-svn-id: http://mc-server.googlecode.com/svn/trunk@358 0a769ca7-a7f5-676a-18bf-c427514a06d6
* The world can now truly be made higher by incrementing cChunk::c_ChunkHeight to 256. !!HOWEVER THIS WILL DESTROY YOUR SAVED WORLD!!faketruth2012-03-042-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@357 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Changed signed char to unsigned char in block packets, so we can receive height up to 255faketruth2012-03-049-28/+47
| | | | | | Blocks placed above 128 limit don't become obsidian anymore. This was due to the cChunk::MakeIndex() function return 0 when outside of bounds, it now returns an 'error constant' git-svn-id: http://mc-server.googlecode.com/svn/trunk@356 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Got rid of some hardcoded numbers, now using hardcoded variables! woofaketruth2012-03-0311-145/+151
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@355 0a769ca7-a7f5-676a-18bf-c427514a06d6
* That should not have been committed...faketruth2012-03-021-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@354 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunk light and metadata are also sent now, should take a load off of the clientfaketruth2012-03-021-5/+38
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@353 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Finally got the multiblock packet working! It seems the byte order was wrongfaketruth2012-03-022-6/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@352 0a769ca7-a7f5-676a-18bf-c427514a06d6
* MultiBlock packet is working partly.. I really don't understand what's wrong with this packet :/faketruth2012-03-024-2/+54
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@351 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunks are successfully streamed to clients (in a bad a slow way, but whatever)faketruth2012-03-014-5/+49
| | | | | | Fixed respawn packet for 1.2.2 git-svn-id: http://mc-server.googlecode.com/svn/trunk@350 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Clients can join the server, but chunks are sent completely emptyfaketruth2012-03-012-0/+80
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@349 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Forgot to update packet size (though I'm not even sure it's used anymore)faketruth2012-03-011-2/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@348 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Started carefully moving to 1.2.2faketruth2012-03-016-67/+135
| | | | | | Clients can get up to the login packet, after which the server tries to send chunks but in the wrong format and the client disconnects git-svn-id: http://mc-server.googlecode.com/svn/trunk@347 0a769ca7-a7f5-676a-18bf-c427514a06d6
* New redstone simulator. Should work without crashes!faketruth2012-03-018-8/+650
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@345 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed the authenticator bugmadmaxoft@gmail.com2012-02-292-0/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@344 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Making sure cClientHandle::m_Player was NULL after authentication completedfaketruth2012-02-291-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@343 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added validity checks to world broadcasting. Also added logging to cPlayer deletion to catch that stupid BugByBoo.madmaxoft@gmail.com2012-02-292-4/+12
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@342 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Improved threading performance by reducing thread-hopping in queue locks (cs unlocked before event set)madmaxoft@gmail.com2012-02-283-29/+41
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@341 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk listsmadmaxoft@gmail.com2012-02-281-3/+10
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@340 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Server uses ~40% less CPU nowfaketruth2012-02-282-87/+93
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@339 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Linux compilation fix (y u no support const_iterator, gcc?)madmaxoft@gmail.com2012-02-281-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@338 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunk now has an indicator of load failure; Chunk generator uses cChunkStaymadmaxoft@gmail.com2012-02-289-6/+89
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@337 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;)madmaxoft@gmail.com2012-02-288-152/+342
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@336 0a769ca7-a7f5-676a-18bf-c427514a06d6
* ChunkGenerator: fixed an inverted condition on chunk-skipping when the generator is overloaded; set the overload threshold to 500 chunks (from original 50 which is not enough even for a single player)madmaxoft@gmail.com2012-02-281-6/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@334 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Const-correctness for packet broadcasting (fixes GCC compilation)madmaxoft@gmail.com2012-02-284-6/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@333 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fix for the perpetual load issuemadmaxoft@gmail.com2012-02-271-1/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@332 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Implemented chunk loading without generating on load-failuremadmaxoft@gmail.com2012-02-263-16/+62
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@331 0a769ca7-a7f5-676a-18bf-c427514a06d6
* New cChunkStay class for temporarily keeping chunks loaded even when then have no clients. For now unused, will be used by generator and lighting in the future.madmaxoft@gmail.com2012-02-266-1/+152
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@330 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Attempt at fixing crashes with disconnecting playersmadmaxoft@gmail.com2012-02-266-18/+38
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@329 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Using cSocketThreads for client outgoing packets. Unfortunately had to put in one intermediate thread (cServer::cNotifyWriteThread) to avoid deadlocks. Still, seems we have a proper multithreading for clients and no more per-client threads, yay :)madmaxoft@gmail.com2012-02-264-150/+253
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@328 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Extended SocketThreads for writing support (unusable in cClientHandle due to too many deadlock possibilities)madmaxoft@gmail.com2012-02-264-33/+218
| | | | | | Extended the range of ignored packets in pre-game client states (fixes connection issues with some mods installed) git-svn-id: http://mc-server.googlecode.com/svn/trunk@327 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Made the viewdistance settable by users and default in settings.ini. The default is 9.madmaxoft@gmail.com2012-02-235-28/+73
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@326 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Plain pointer cChunkPtr finishing touches; removed cChunk's critical sectionsmadmaxoft@gmail.com2012-02-234-176/+35
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@325 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Made cChunkPtr a plain old pointer again, since it's safe nowmadmaxoft@gmail.com2012-02-232-5/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@324 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cChunk: removed unused codemadmaxoft@gmail.com2012-02-232-8/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@323 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added cmdline parameters "/cdg" and "/cdf" for crashdump flags "globals" and "full memory"madmaxoft@gmail.com2012-02-231-2/+17
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@322 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Rewritten ore generation from scratch, using a different (much faster) algorithm. Chunk generation now about 2x faster :)madmaxoft@gmail.com2012-02-222-25/+111
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@321 0a769ca7-a7f5-676a-18bf-c427514a06d6
* That 2nd assert didn't make much sense...faketruth2012-02-221-1/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@320 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added some asserts to trace a bugfaketruth2012-02-222-2/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@319 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a bug that no chunks were unloaded on the client. Now chunks are properly unloaded on the clients.faketruth2012-02-222-0/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@318 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Noise function optimization (chunk generation now about 1.5x faster :)madmaxoft@gmail.com2012-02-223-10/+33
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@317 0a769ca7-a7f5-676a-18bf-c427514a06d6
* WorldGenerator: fixed small foliage - cacti now generate only at beaches, not underwater.madmaxoft@gmail.com2012-02-221-32/+33
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@316 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Lua seems to have trouble with a combination of overloaded functions and class inheritance, so I renamed TeleportTo( cEntity* ) to TeleportToEntityfaketruth2012-02-224-32/+53
| | | | | | /tp command should work again :) git-svn-id: http://mc-server.googlecode.com/svn/trunk@314 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a potential deadlock in cChunkMap::m_CSLayers vs cWorld::m_CSAllEntitiesmadmaxoft@gmail.com2012-02-221-6/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@313 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a crude way of disabling redstone. It's necessary though, redstone is completely broken, crashes the server all the timefaketruth2012-02-225-158/+199
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@312 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added 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 :Pfaketruth2012-02-222-0/+18
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@311 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Restricted windows crash dump generating code to 32-bit platforms only due to inline assemblymadmaxoft@gmail.com2012-02-221-5/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@307 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added code to produce dump files on Windows builds to aid with debugging server crashesmadmaxoft@gmail.com2012-02-211-0/+85
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@306 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Changed ASSERT() to not cause warnings during compilefaketruth2012-02-211-1/+9
| | | | | | | Added VERIFY(); it's the same as ASSERT() but also works in release builds VS2010 project uses warning level 4 git-svn-id: http://mc-server.googlecode.com/svn/trunk@305 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com2012-02-2110-109/+231
| | | | | | Also fixed a threading issue when a player connecting might have gotten stuck in "Downloading world" forever git-svn-id: http://mc-server.googlecode.com/svn/trunk@304 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com2012-02-218-38/+146
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@303 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Optimized hightmap recalc when setting a chunk's blockmadmaxoft@gmail.com2012-02-211-7/+31
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@302 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed block-getting so that simulators work againmadmaxoft@gmail.com2012-02-216-24/+128
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@301 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed some more cChunkPtr usagemadmaxoft@gmail.com2012-02-2013-114/+372
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@298 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Using own ASSERT() that logs to filefaketruth2012-02-2021-59/+49
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@297 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed assertion bug in NamedEntitySpawn packet, it used to assert when item ID is 0, but now 0 is allowedfaketruth2012-02-191-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@296 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Substantial cWorld::FastSetBlock() speed up by queueing all such calls and processing them later chunk-wise (makes growing trees in the generator fast again)madmaxoft@gmail.com2012-02-186-45/+106
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@295 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed previous commit: forgot to remove a debugging settingmadmaxoft@gmail.com2012-02-181-3/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@294 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.madmaxoft@gmail.com2012-02-1811-111/+205
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@293 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Thread-safe chunk generation, storage and generator are queried for progress while initializing servermadmaxoft@gmail.com2012-02-1816-176/+408
| | | | | | Note that this commit breaks foliage generation - there are no trees in the chunks generated! git-svn-id: http://mc-server.googlecode.com/svn/trunk@292 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Logging: added thread ID to the log output in debug buildsmadmaxoft@gmail.com2012-02-183-7/+11
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@291 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Logging: added LOGD macro that logs only in debug buildsmadmaxoft@gmail.com2012-02-181-3/+22
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@290 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Moved stdarg.h inclusion into Globals.hmadmaxoft@gmail.com2012-02-183-5/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@289 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cIsThread: Added support for getting current thread IDmadmaxoft@gmail.com2012-02-182-0/+15
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@288 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added the skeleton of the cLightingThread objectmadmaxoft@gmail.com2012-02-172-0/+196
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@286 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com2012-02-1711-67/+101
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@285 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed useless log messagesmadmaxoft@gmail.com2012-02-171-1/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@284 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Lots of logging addedmadmaxoft@gmail.com2012-02-176-12/+45
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@282 0a769ca7-a7f5-676a-18bf-c427514a06d6
* git-svn-id: http://mc-server.googlecode.com/svn/trunk@281 0a769ca7-a7f5-676a-18bf-c427514a06d6faketruth2012-02-165-6/+6
|
* New server command "unload" to manually unload unused chunksmadmaxoft@gmail.com2012-02-162-3/+11
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@280 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.madmaxoft@gmail.com2012-02-1611-42/+81
| | | | | | cChunk fix - setting a block to the same value doesn't mark chunk dirty (resulted in un-unloadable chunks) git-svn-id: http://mc-server.googlecode.com/svn/trunk@279 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Got rid of dangerous GetEntity(), not using DoWithEntity()faketruth2012-02-165-53/+29
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@278 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunks are now marked as savedmadmaxoft@gmail.com2012-02-161-2/+10
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@277 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Marking chunk dirty after generatingmadmaxoft@gmail.com2012-02-161-0/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@276 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cPlayer empty-handed spawn fixmadmaxoft@gmail.com2012-02-161-1/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@275 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Heightmap is properly generated after loading chunks now, so /spawn and /top should work properly againfaketruth2012-02-161-0/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@274 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunk is now marked as dirty; saving only dirty chunks; rewritten load / save not to use cChunkPtr; set VC2008 project to level4 warnings; block entities are now loaded and saved properlymadmaxoft@gmail.com2012-02-1623-154/+935
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@273 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunks are properly saved before being unloaded nowfaketruth2012-02-162-1/+11
| | | | | | numchunks server command works again git-svn-id: http://mc-server.googlecode.com/svn/trunk@272 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket::GetErrorString() now also compiles on Cygwinfaketruth2012-02-161-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@270 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed logging in cServermadmaxoft@gmail.com2012-02-161-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@269 0a769ca7-a7f5-676a-18bf-c427514a06d6
* No longer using pointers for Vector3(f/d/i) in cEntity's and cTracerfaketruth2012-02-1512-288/+246
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@268 0a769ca7-a7f5-676a-18bf-c427514a06d6
* New players no longer cause an assertfaketruth2012-02-151-3/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@267 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Can use the 'restart' command again. cAuthenticator no longer asserts because it properly stops when the server is stopped.faketruth2012-02-153-3/+16
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@266 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a deadlock in WorldStoragefaketruth2012-02-151-3/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@265 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed logging formatting error in cWorldmadmaxoft@gmail.com2012-02-151-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@264 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)madmaxoft@gmail.com2012-02-1513-104/+194
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@263 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Can now pass any argument to cWorld:ForEachPlayer in Lua! But I'm not even using it.. lolfaketruth2012-02-151-18/+46
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@262 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Slight cleanup - removed old code, some additional comments on dangerous functionsmadmaxoft@gmail.com2012-02-145-402/+13
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@261 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Got rid of cWorld::GetAllPlayers() and implemented ForEachPlayer() more or less in Luafaketruth2012-02-143-31/+64
| | | | | | Core now uses ForEachPlayer() to interact with connected players git-svn-id: http://mc-server.googlecode.com/svn/trunk@260 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Updated fluid simulators with geser's patch file!faketruth2012-02-147-58/+338
| | | | | | Fluids should behave more like Minecraft's fluids, and lava+water creates stone/cobble/obsidian! git-svn-id: http://mc-server.googlecode.com/svn/trunk@257 0a769ca7-a7f5-676a-18bf-c427514a06d6
* m_World was never set in cBlockEntity's, now it isfaketruth2012-02-141-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@255 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Apparently the Fire plugin is depreciated since it's implemented in C++ :Pfaketruth2012-02-141-2/+2
| | | | | | Using std::list instead of std::vector for fire, I think this would be faster due to all the adding and removing blocks from lists. Correct me if I'm wrong git-svn-id: http://mc-server.googlecode.com/svn/trunk@254 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed the same leak in FireSimulatorfaketruth2012-02-142-18/+18
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@253 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a (pretty big) memory leak in cSandSimulatorfaketruth2012-02-142-15/+16
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@252 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Rewritten most of the code for multithreading; still not 100%, but getting there. If this commit proves to be too problematic, we can always undo it.madmaxoft@gmail.com2012-02-1377-2687/+6689
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@251 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed unused codemadmaxoft@gmail.com2012-02-084-63/+126
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@249 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added total chunk count to webadminmadmaxoft@gmail.com2012-02-084-7/+133
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@248 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cPluginManager: slight cleanupmadmaxoft@gmail.com2012-02-081-178/+272
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@247 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cMonsterConfig: removed excessive loggingmadmaxoft@gmail.com2012-02-081-43/+62
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@246 0a769ca7-a7f5-676a-18bf-c427514a06d6
* MTRand class is not created in each tick, therefore much improving tick-thread time (now uses ~5 % CPU instead of one full core)madmaxoft@gmail.com2012-02-0810-71/+156
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@245 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocketThreads plugged in for cClientHandle reading. Sending still kept the old way. Please help me test this commit thoroughly, this is a change that can break on subtleties.madmaxoft@gmail.com2012-02-088-219/+253
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@244 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket: final localhost fix - made it a function (forgotten file)madmaxoft@gmail.com2012-02-071-3/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@243 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket: final localhost fix - made it a functionmadmaxoft@gmail.com2012-02-072-7/+15
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@242 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Temporary fix for Linux compilation. (gcc won't accept a function call in global var initialization)madmaxoft@gmail.com2012-02-071-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@241 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Rewritten all packets to use buffers instead of direct sockets, for future cSocketThreads compatibility.madmaxoft@gmail.com2012-02-07109-1316/+1907
| | | | | | Moved data sending from cPacket into cSocket git-svn-id: http://mc-server.googlecode.com/svn/trunk@240 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocketThreads initial commit. Not yet tested and not yet integratedmadmaxoft@gmail.com2012-02-072-0/+619
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@239 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Slight cleanupmadmaxoft@gmail.com2012-02-072-5/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@238 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket: Added more functions that will be needed for the new cSocketThreadsmadmaxoft@gmail.com2012-02-072-8/+56
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@237 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket: error reporting function now works correctly on GNU Linux; also includes the error number for all errorsmadmaxoft@gmail.com2012-02-061-8/+29
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@236 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket: re-implemented the GetLastErrorString() function; win: error texts are now queried from the system rather than enumerated by the programmadmaxoft@gmail.com2012-02-062-25/+15
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@235 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Now showing proper error messages when sockets fail :)faketruth2012-02-055-18/+30
| | | | | | Crossplatform GetLastError function in cSocket git-svn-id: http://mc-server.googlecode.com/svn/trunk@234 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket: added error logging to Bind() failuresmadmaxoft@gmail.com2012-02-051-39/+48
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@233 0a769ca7-a7f5-676a-18bf-c427514a06d6
* putting default settings back to defaultadmin@omencraft.com2012-02-041-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@232 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a bug in source/cClientHandle.hadmin@omencraft.com2012-02-044-6/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@231 0a769ca7-a7f5-676a-18bf-c427514a06d6
* MCServer should be running fast again on Linux!! YAAAY!!faketruth2012-02-032-0/+7
| | | | | | | | It seems the intialization of MersenneTwister was really slow on Linux because it did some file reading. Doing this 200 times a tick can be pretty slow... StringUtils didn't compile in Cygwin due to missing va_list definition git-svn-id: http://mc-server.googlecode.com/svn/trunk@230 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cClientHandle: split packet handling into separate functions for claritymadmaxoft@gmail.com2012-02-032-989/+1238
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@229 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cClientHandle: gotten rid of the obnoxious m_pState, now using direct members insteadmadmaxoft@gmail.com2012-02-024-351/+405
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@228 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Socket-related assert fixesmadmaxoft@gmail.com2012-02-023-6/+30
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@227 0a769ca7-a7f5-676a-18bf-c427514a06d6
* tolua: modified the binding generator to accept AString as a std::string synonym, re-generated Bindings with these settings. Lua callbacks can now safely use AString functions in C++.madmaxoft@gmail.com2012-02-023-28/+29
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@225 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed nonsense "virtual inline" declaration from functionsmadmaxoft@gmail.com2012-02-027-28/+28
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@223 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cSocket API fix (possible invalid pointer)madmaxoft@gmail.com2012-02-026-45/+103
| | | | | | cMCLogger slight change (CS ptr -> member) git-svn-id: http://mc-server.googlecode.com/svn/trunk@222 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Rewritten cAuthenticator to make use of the new cIsThread architecture - now authentication runs in a single separate thread for all clients;madmaxoft@gmail.com2012-02-0124-289/+667
| | | | | | | Global player-kicking function (cServer, cRoot); More char * -> AString conversion git-svn-id: http://mc-server.googlecode.com/svn/trunk@221 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added all current hooks to the new plugin structure.faketruth2012-02-014-129/+817
| | | | | | | 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
* AString logging fix 2madmaxoft@gmail.com2012-02-017-21/+27
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@218 0a769ca7-a7f5-676a-18bf-c427514a06d6
* AString logging fixmadmaxoft@gmail.com2012-02-011-7/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@217 0a769ca7-a7f5-676a-18bf-c427514a06d6
* sprintf() begone! Replaced with StringUtils' Printf()madmaxoft@gmail.com2012-02-0116-134/+189
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@216 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Removed a few duplicate includesmadmaxoft@gmail.com2012-02-0110-41/+28
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@215 0a769ca7-a7f5-676a-18bf-c427514a06d6
* new cIsThread object for thread encapsulationmadmaxoft@gmail.com2012-02-012-0/+225
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@214 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cEvent: fixed wrong errorchecking in win32 Set()madmaxoft@gmail.com2012-02-011-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@213 0a769ca7-a7f5-676a-18bf-c427514a06d6
* StringUtils: SplitString() fixmadmaxoft@gmail.com2012-02-011-2/+21
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@212 0a769ca7-a7f5-676a-18bf-c427514a06d6
* auto_ptr fix 2madmaxoft@gmail.com2012-02-011-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@211 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Introducing StringUtils - the place to be if you are a generic string routine :) No more sprintf()!madmaxoft@gmail.com2012-02-0113-105/+384
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@209 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a sigsegv on *nix (cFile double-closing files)madmaxoft@gmail.com2012-02-011-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@208 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Plugins can now be enabled and disabled through WebAdminfaketruth2012-02-015-19/+75
| | | | | | WebPlugins can now have spaces in their tab names git-svn-id: http://mc-server.googlecode.com/svn/trunk@204 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Changed how Lua handles the (Post)Params in the HTTPRequest of a WebPluginfaketruth2012-01-317-79/+193
| | | | | | It should now be theoretically possible to upload files through WebAdmin git-svn-id: http://mc-server.googlecode.com/svn/trunk@203 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Slight code cleanup, no big changesmadmaxoft@gmail.com2012-01-313-45/+129
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@202 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Another cEvent fix, I wish I could get it finally rightmadmaxoft@gmail.com2012-01-311-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@201 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Hopefully fixed pthreads in cEvent (again)madmaxoft@gmail.com2012-01-312-1/+3
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@200 0a769ca7-a7f5-676a-18bf-c427514a06d6
* cEvent class cleanup (single-event only, since multi-event wasn't used and wouldn't work on *nix anyway)madmaxoft@gmail.com2012-01-312-82/+124
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@199 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Linux fixes, but while it compiles, when a user joins it crashes the server with "*** glibc detected *** ./MCServer: double free or corruption (out): 0x00007fb5f5158db0 ***"mtilden@gmail.com2012-01-312-0/+2
| | | | | | Please look into this. Also, am I the only one compiling/using Linux? git-svn-id: http://mc-server.googlecode.com/svn/trunk@198 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Can now receive POST data in WebPlugins!faketruth2012-01-316-8/+41
| | | | | | | Fixed Debug With optimized Noise in VS2010 by having it run the correct MCServer_debug.exe instead of MCServer.exe Changed winsock.h to Winsock2.h in Globals.h so sockets can be graciously closed (See webserver Socket::Close() ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@197 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Replaced most FILE operations with a cFile objectmadmaxoft@gmail.com2012-01-307-151/+210
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@196 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a problem in cCSLock (sorry); reverted cChunkmadmaxoft@gmail.com2012-01-302-3/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@195 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added a WebAdmin interface to view users their groups, and the permissions of groups.faketruth2012-01-308-11/+91
| | | | | | cChunk::Tick did an assertion in cCSLock, I used a cCSUnlock to fix it, but not sure if this is correct. git-svn-id: http://mc-server.googlecode.com/svn/trunk@194 0a769ca7-a7f5-676a-18bf-c427514a06d6
* More cFile cleanup; removed old format writing for block entitiesmadmaxoft@gmail.com2012-01-3011-286/+343
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@193 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Initial cFile implementation (using stdio FILE) and test in cChunkMapmadmaxoft@gmail.com2012-01-304-86/+388
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@192 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added missing #ifdef _DEBUG in cCriticalSection.cpp faketruth2012-01-291-3/+5
| | | | | | Should compile in Release and on Linux now git-svn-id: http://mc-server.googlecode.com/svn/trunk@191 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Old code begone! ChunkMap cleanupmadmaxoft@gmail.com2012-01-294-373/+252
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@189 0a769ca7-a7f5-676a-18bf-c427514a06d6
* VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com2012-01-29172-326/+1051
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@188 0a769ca7-a7f5-676a-18bf-c427514a06d6
* ChunkGenerator: rewritten thread-locking using the new RAII CSLock classmadmaxoft@gmail.com2012-01-295-82/+210
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@186 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Now also compiles in Linuxfaketruth2012-01-281-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@184 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Converted entire Core plugin including WebAdmin interface to new plugin method/system/thingy and sexyfied it.faketruth2012-01-289-98/+773
| | | | | | | | 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
* MSVC 2008 Express compatibility: Added the projects, modified sources to compile. Tested on MSVC 2008 Express and MSVC 2010 Expressmadmaxoft@gmail.com2012-01-2764-87/+89
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@179 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Converted all of the Core plugin to the new plugin structure, except for the WebAdmin partfaketruth2012-01-272-21/+98
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@175 0a769ca7-a7f5-676a-18bf-c427514a06d6
* No longer hard coded Lua files in new plugin systemfaketruth2012-01-262-20/+406
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@173 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Working on a new plugin design with Lua. While retaining backwards compatibility of course...faketruth2012-01-267-47/+508
| | | | | | 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
* Probably fixed a deadlock! http://www.mc-server.org/support/index.php?do=details&task_id=147faketruth2012-01-261-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@171 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Cactus towers can be destroyed by removing the bottom blockfaketruth2012-01-234-4/+89
| | | | | | | | | Added checks whether flowers/mushrooms/saplings can be placed on surface Added checks for cactus to see if it's allowed to be placed Fluids now wash away certain items (flower, sapling, cactus) git-svn-id: http://mc-server.googlecode.com/svn/trunk@169 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed the  sign bugfaketruth2012-01-221-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@168 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Improved Core's WebAmin interface a bit.faketruth2012-01-224-31/+112
| | | | | | | | | Can now kick players through WebAdmin Can now enable/disable whitelist through WebAdmin Tick speed is limited in a better way now, instead of always sleeping 50ms before each tick, it now add only sleeps additional time when the tick time was faster than 50ms. Server should run slightly faster because of this (and use more cpu%) git-svn-id: http://mc-server.googlecode.com/svn/trunk@167 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Bug FS#131 http://www.mc-server.org/support/index.php?do=details&task_id=131 should be fixedfaketruth2012-01-211-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@166 0a769ca7-a7f5-676a-18bf-c427514a06d6
* MCServer is now compatible with Minecraft client 1.1 (as long as the client is not using any mods/plugins I think)faketruth2012-01-205-6/+27
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@165 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Terrain generation is synchronous again, async generation has bugs.faketruth2012-01-1912-85/+129
| | | | | | | | | Made some funky smart pointer things for chunks. Fixed a bug where the client would override the player position on the server and back again, resulting in sending too many chunks to the client which it doesn't even need. Fixed some compiler warnings in cPickup.cpp git-svn-id: http://mc-server.googlecode.com/svn/trunk@164 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed crashing bug in cClientHandle::~cClientHandlefaketruth2012-01-021-1/+3
| | | | | | | When there are players in the server, and a client connects as far as the handshake and then disconnects, the server crashed. This is because there is no m_Player yet after the handshake, and the destructor uses m_Player without checking if it exists git-svn-id: http://mc-server.googlecode.com/svn/trunk@163 0a769ca7-a7f5-676a-18bf-c427514a06d6
* CreativeInventory Updatelapayo94@gmail.com2012-01-019-85/+107
| | | | | | | - Fixed various problems with the new creative inventory (Crafting, furnace, etc) - Creative inventory will now be saved to disk, so you keep your creative inventory also for the next sessions git-svn-id: http://mc-server.googlecode.com/svn/trunk@162 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed the numchunks console command.faketruth2012-01-0110-14/+187
| | | | | | | Added some form of reference counting to cChunk to make sure it's not referenced when deleting it. Right now it's only needed due to the generation of chunks in a separate thread and adding it to the spread light list in cWorld git-svn-id: http://mc-server.googlecode.com/svn/trunk@161 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - implemented separated inventory for creative mode (cSurvivalInventory and cCreativeInventory)lapayo94@gmail.com2012-01-0116-227/+363
| | | | | | | | | | | (Separation is not perfect yet, because maybe there are some mayor changes needed :D) - implemented CreativeInventoryAction (was mistakenly called CreateInventoryAction) -> Fixed meta data for creative selected blocks ->->Slabs/Steps are now placed correctly - slabs can now be build to a double slab - fixed a bug in the inventory which put items with different meta values in the same slot git-svn-id: http://mc-server.googlecode.com/svn/trunk@160 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chests, furnaces and dispensers face the correct way now.faketruth2012-01-011-0/+5
| | | | | | http://mc-server.org/support/index.php?do=details&task_id=88 git-svn-id: http://mc-server.googlecode.com/svn/trunk@159 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Made a couple of functions in cChunk inline, this should speed up several block operations on chunksfaketruth2011-12-315-124/+148
| | | | | | | Players should not spawn in the ground anymore. When an entity was added to cWorld twice (which shouldn't happen actually), the server would crash when the entity is destroyed, this should be fixed now. git-svn-id: http://mc-server.googlecode.com/svn/trunk@158 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Animals burn now when moving into lava or firelapayo94@gmail.com2011-12-293-7/+12
| | | | | | - Monster health is now working properly git-svn-id: http://mc-server.googlecode.com/svn/trunk@157 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Initial food handling by cedeelmtilden@gmail.com2011-12-295-13/+73
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@156 0a769ca7-a7f5-676a-18bf-c427514a06d6
* M$ BS...mtilden@gmail.com2011-12-291-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@155 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Chests open and close on clients when opened/closedmtilden@gmail.com2011-12-296-7/+84
| | | | | | | | - Beginnings of "Double Chest". All that's needed is detection when 2 chests get put next to each other, block other chests from then touching them on any side, load/save with the m_JoinedChest seeing each other and adding and making sure the left side is always the top rows. I'm not sure exactly at this moment how to do all of the detection and saving/loading of the double chest stuff so if you've any ideas feel free to point out some areas in the server code or implement it yourself. git-svn-id: http://mc-server.googlecode.com/svn/trunk@154 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Pickups should now burn in firelapayo94@gmail.com2011-12-295-20/+33
| | | | | | | - The player no longer gets an empty bucket when in creative mode - improved the simulators again (moved to std::list because this should be faster with so many objects) (But the water simulation still is very slow) git-svn-id: http://mc-server.googlecode.com/svn/trunk@153 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - water slacks fire nowlapayo94@gmail.com2011-12-298-17/+20
| | | | | | - Bug which caused lava to disappear is fixed git-svn-id: http://mc-server.googlecode.com/svn/trunk@152 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - little performance improvement on the sand simulatorlapayo94@gmail.com2011-12-282-1/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@151 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - implemented the fire simulation in native c++ (cFireSimulator)lapayo94@gmail.com2011-12-2810-90/+280
| | | | | | | | - Changed the Durationsystem for Items. cPlayer::UseEquippedItem calls cItem::DamageItem this function damages the item if it has a duration. (needed the duration also in another place so this saves code ;)) - added some other burning blocks - the mobtypes for the settings.ini which i must have forgotten in the last commit git-svn-id: http://mc-server.googlecode.com/svn/trunk@150 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Fixed too fast actions kick for realmtilden@gmail.com2011-12-281-5/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@149 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed some small memory leakslapayo94@gmail.com2011-12-283-0/+13
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@148 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Fixed ping displaying same for everyone, knew it was something I messed up with itr :(mtilden@gmail.com2011-12-281-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@147 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed PLI end white, made random mistake late night when I couldn't remember how I did it beforemtilden@gmail.com2011-12-281-1/+1
| | | | | | Thanks to FakeTruth git-svn-id: http://mc-server.googlecode.com/svn/trunk@146 0a769ca7-a7f5-676a-18bf-c427514a06d6
* This bug should be fixed now http://mc-server.org/support/index.php?do=details&task_id=112faketruth2011-12-281-6/+44
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@145 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Linux fixmtilden@gmail.com2011-12-281-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@144 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Didn't notice steak missing as wellmtilden@gmail.com2011-12-281-0/+8
| | | | | | Interesting to note, when you make a food item handled with health it gets rid of the eating animation, this seems backwards. git-svn-id: http://mc-server.googlecode.com/svn/trunk@143 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Added chicken to eatingmtilden@gmail.com2011-12-282-1/+10
| | | | | | - Increased max interactions again, seems to be fine now for even the fastest clickers. git-svn-id: http://mc-server.googlecode.com/svn/trunk@142 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Little improvement to save some cpu time but it´s still very heavy cpu loadlapayo94@gmail.com2011-12-282-1/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@141 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Implemented Drops from Burning animalslapayo94@gmail.com2011-12-2819-297/+218
| | | | | | | | - added right monster health and attack strength - refactored the Pawn/Monster/Player class a little bit - changed some namings to fit the style git-svn-id: http://mc-server.googlecode.com/svn/trunk@140 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Users file was pretty messed up with mixed unix and windows line endings. The ini failed to parse correctly under cygwin.faketruth2011-12-273-2/+10
| | | | | | | | | 'Fixed' a 'bug' where MCServer would seemingly endlessly calculate lighting for an entire world (and then crash), when this entire world has 'wrong' lighting. This happens when running a converted map from Vanilla. Fixed this by only allowing a maximum of 50 chunks to recalculate their lighting per tick. Fixed a small coding error in cChunkMap where it would check PakVersion twice, instead of also ChunkVersion. DeNotch converter does not need the VS2010 runtime thingies anymore git-svn-id: http://mc-server.googlecode.com/svn/trunk@138 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a little error in cPacket_PlayerListItem.cppfaketruth2011-12-271-1/+1
| | | | | | char* was casted to char, but you actually need to get the first index of the array. git-svn-id: http://mc-server.googlecode.com/svn/trunk@137 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Vanity, just to set back to white after a short enough name for the ping image to not change colormtilden@gmail.com2011-12-271-1/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@136 0a769ca7-a7f5-676a-18bf-c427514a06d6
* I'll lower my frequency of commits.. 1000 default ends up sent more often than calc'd packets.mtilden@gmail.com2011-12-271-1/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@135 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Oops, accidentally left debug printmtilden@gmail.com2011-12-271-1/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@134 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Added basic ping handling.mtilden@gmail.com2011-12-275-10/+38
| | | | | | | | Not sure what's up with the MC client, though. It doesn't seem to end up giving good results like the KA packet return is hanging and waiting for other things to process instead of being handled on its own to give a true result. Feel free to update if there's any way to deliver truer results. git-svn-id: http://mc-server.googlecode.com/svn/trunk@133 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Slightly cleaner block change interactions static in headermtilden@gmail.com2011-12-272-2/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@130 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Set player interaction kicking to 5 interactions per .1 seconds to help with lag disconnects. Still need to change code to lessen the false positives.admin@omencraft.com2011-12-271-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@128 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Some kind of 'template' world generator that right now just generates an all dirt world. You can use this to test new algorithmsfaketruth2011-12-275-12/+55
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@127 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Players can switch worlds on the fly with the command /gotoworld [worldName]. This uses the function cPlayer::MoveToWorld()faketruth2011-12-2610-90/+160
| | | | | | Changed isValidItem to IsValidItem in Core.lua git-svn-id: http://mc-server.googlecode.com/svn/trunk@126 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - improved Simulator system lapayo94@gmail.com2011-12-2614-55/+277
| | | | | | | | | | | | -> Manager handles all ticks -> advantage: Much easier to add new simulators, because you only have to register them in the manager - moved sand and gravel simulation to a Simulator-class (cSandSimulator) - Made Squid a little bit more funny and realistic, because it dies now when it´s not in water -Escaping mobs run now faster than normal (They just walked away before :D) git-svn-id: http://mc-server.googlecode.com/svn/trunk@125 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - improved ClosestPlayerDetection (Really the closest now ;))lapayo94@gmail.com2011-12-262-30/+46
| | | | | | | | - renamed function because the old one wasn´t listing - improved some time vars so no move gets dropped when the server laggs for a few seconds git-svn-id: http://mc-server.googlecode.com/svn/trunk@124 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed the little check for max players. If somehow a player was able to connect and the number of players would exceed the max players, everybody is allowed in and the server will never be 'full'. It's fixed nowfaketruth2011-12-261-9/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@122 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Linux compatible fixes including updated makefilemtilden@gmail.com2011-12-2614-47/+72
| | | | | | | | - Mersenne Twister still says uint32 but it's now signed for compatibility with random uses needing negative values - Server seed is sent to clients, but needs to be able to be signed long long later on for authentic reasons - Protocol Version is required to match to ensure client compatibility, this should probably have a settings.ini check as well as store the value there git-svn-id: http://mc-server.googlecode.com/svn/trunk@121 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Added timer to cPlayer PlayerListItem because sending the packets like minecraft does (every tick per player) is 20 pps per client to each client and was causing Kicks for having too high of a packet queuemtilden@gmail.com2011-12-262-7/+17
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@120 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Default Notchian Ping (static until ping implemented through keepalive send/receive)mtilden@gmail.com2011-12-262-4/+12
| | | | | | - Player "left" message regardless of exit reason git-svn-id: http://mc-server.googlecode.com/svn/trunk@119 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Scoreboard deleting moved to cClientHandle::~cClientHandle() with checks. Please test this every way you can with clients disconnecting from the internet, crashing, etc. It should work on all cases as every client gets called in this part to be 'Deleted'mtilden@gmail.com2011-12-261-6/+10
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@118 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Moved the actual world generation from cChunk.cpp to a more isolated file cWorldGenerator.cppfaketruth2011-12-264-251/+274
| | | | | | New generators should inherit cWorldGenerator and implement their own generation algorithms git-svn-id: http://mc-server.googlecode.com/svn/trunk@117 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Cleaned up PLI Packet and its creation/sending and fixed bug of player not being removed on scoreboard (forgot to send color in the removal packet)mtilden@gmail.com2011-12-265-11/+22
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@116 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Made some functions in cChunk and cNoise inline, this should significantly increase chunk generation speedfaketruth2011-12-267-73/+104
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@115 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Make Color was using 2 extra characters which took 2 characters off the 16 max (including color codes) for scoreboard displaymtilden@gmail.com2011-12-268-5/+80
| | | | | | | - Added xC9 PlayerListItem packet and added code for player names to be added and removed from the scoreboard (need a catch-all for client disconnects: crashes, timeouts, etc) - Changed wid wording to a_WindowType git-svn-id: http://mc-server.googlecode.com/svn/trunk@113 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Fixed Bug #99 -> Mobs no longer bother you in creative modelapayo94@gmail.com2011-12-2540-1235/+347
| | | | | | - refactored many things in the Monster system git-svn-id: http://mc-server.googlecode.com/svn/trunk@112 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - fixed the code from the last commit :)lapayo94@gmail.com2011-12-252-5/+7
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@111 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Fixed a critical bug, which caused players to not getting spawned on the others clientlapayo94@gmail.com2011-12-252-84/+89
| | | | | | - corrected newline in cMonsterConfig (VS did :D) git-svn-id: http://mc-server.googlecode.com/svn/trunk@110 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Implemented function to check item categorylapayo94@gmail.com2011-12-253-2/+43
| | | | | | | | - (Cobble-)stone don´t drop item anymore if mined without pickaxe - FluidSimulator no longer causes compiler warning - Glowstone drops fixed git-svn-id: http://mc-server.googlecode.com/svn/trunk@109 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Refactored both simulators (water and lava) to make them more flexible and easier to modifylapayo94@gmail.com2011-12-256-549/+382
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@108 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Hold item is now dropped when inventory is closedlapayo94@gmail.com2011-12-254-8/+32
| | | | | | | | Thanks to mtilden for this ( http://forum.mc-server.org/showthread.php?tid=183&pid=1428#pid1428 ) Also the items in the 4 crafting slots are now dropped. git-svn-id: http://mc-server.googlecode.com/svn/trunk@107 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Code improvementslapayo94@gmail.com2011-12-258-5/+486
| | | | | | | | | Fixed authentication (Can be activated now) Added MersenneTwister.h Thanks to mtilden ( http://forum.mc-server.org/showthread.php?tid=183&pid=1428#pid1428 and http://forum.mc-server.org/showthread.php?tid=183&pid=1418#pid1418 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@106 0a769ca7-a7f5-676a-18bf-c427514a06d6
* The missing file! cChunkGenerator.h/cppfaketruth2011-12-252-0/+195
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@105 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - improved and simplified the door system (shorter, clearer)lapayo94@gmail.com2011-12-254-62/+85
| | | | | | | - Doors now drop a complete door & other part gets destroyed - Build a function for pickup counts (cBlockToPickup::PickupCount) (Default is 1) git-svn-id: http://mc-server.googlecode.com/svn/trunk@104 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Chunks are generated in a separate thread allowing players to keep on playing and chatting while chunks are generated. This means, however, that cWorld::GetChunk() does not always return a chunk and is something you need to be aware of. I am not entirely sure if all this is completely stable, but I think so :Ofaketruth2011-12-2510-82/+184
| | | | | | | | | Chunks are now generated before the player is able to see them. This is done because after a chunks is done generating, some blocks might still need to be set (parts of trees from neighboring chunk), causing more bandwidth to be used (each changed block needs to be sent to clients again) and (fps) lagging the clients when changing a lot of blocks. Calculating ahead fixes these issues. Separated the placing of foliage (trees and stuff) when generated chunks into a new function GenerateFoliage() Cleaned up the VS2010 project, now using some VS2010 specific functions like dependencies on projects (no need for setting library dependencies manually). VS2010 project now compiles way faster in Release by using multi threading. git-svn-id: http://mc-server.googlecode.com/svn/trunk@103 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Very alpha water physic for pickups (The swim now)lapayo94@gmail.com2011-12-244-6/+168
| | | | | | | but there are some problems (get stuck on some positions) so someone might look at it because I have no idea how to make it better :D git-svn-id: http://mc-server.googlecode.com/svn/trunk@102 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Max. players and MOTD are now changeable in the settings.inilapayo94@gmail.com2011-12-243-7/+42
| | | | | | Thanks to mtilden ( http://forum.mc-server.org/showthread.php?tid=183&pid=1381#pid1381 ) git-svn-id: http://mc-server.googlecode.com/svn/trunk@101 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added thread names to cThread so when debugging in Visual Studio you actually know what thread you're looking atfaketruth2011-12-235-9/+55
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@100 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Digging leaves with shears now drops leaveslapayo94@gmail.com2011-12-227-11/+52
| | | | | | | | | | | | | Falling Sand now notifies water around Implemented Function to get the relative chunk position in the total position (cChunk::PositionToWorldPosition) Pistons don´t drop water and lava items anymore when stopping water/lava implemented Getter for lava and water simulator IsBlockWater and IsBlockLava function in Defines.h git-svn-id: http://mc-server.googlecode.com/svn/trunk@97 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixes:lapayo94@gmail.com2011-12-2210-18/+30
| | | | | | | | - Pickups fall through water now (Server-side they stayed in the water surface) - Suppressed some warnings (int to short etc.) - Water is now passable for cTracer git-svn-id: http://mc-server.googlecode.com/svn/trunk@96 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Missed a class in r94 ;) Sorry guys :Dlapayo94@gmail.com2011-12-212-0/+96
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@95 0a769ca7-a7f5-676a-18bf-c427514a06d6
* - Crafting fixed in 1.0.0lapayo94@gmail.com2011-12-2142-275/+315
| | | | | | | | | | - Server compatible with the weapons and equip again. (Some Packets were incompatible) - fixed bucket bugs (not all) - Fixed clients getting crashed by wrong Pickups - fixed nearly all mob drops. (Check wheather they are burning is missing Big Grin) - maybe some other things I can´t recall atm Big Grin git-svn-id: http://mc-server.googlecode.com/svn/trunk@94 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Changed chunk generation so any surface sand with air underneath it will turn into sandstone to prevent most sand cave-ins due to odd cave placement.admin@omencraft.com2011-11-151-12/+37
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@93 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Put view distance back to 13. Didn't mean to change that.admin@omencraft.com2011-11-121-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@92 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Found and fixed a bug not letting users place blocks in water or lava.admin@omencraft.com2011-11-112-3/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@91 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed logging in underground bug this time. A hack, but it works. :Dadmin@omencraft.com2011-11-101-4/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@90 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Can now set gamemode via lua.admin@omencraft.com2011-11-105-4/+19
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@89 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Some more changes to redstone. admin@omencraft.com2011-11-101-12/+14
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@88 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Made block action sanity checks more robust, water buckets, lava buckets and empty buckets should all now work.admin@omencraft.com2011-11-106-26/+258
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@87 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed doors. I forgot to actually return proper Hex value. Started work on adding farmland, farming, and leaf decay support.admin@omencraft.com2011-11-102-6/+11
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@86 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added code for doors. Doors now place correctly but opening them is buggy and I need to change the current opening code to use bitwise operators.admin@omencraft.com2011-11-103-5/+108
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@85 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Storms were WAY too frequent. I toned them down.admin@omencraft.com2011-11-101-4/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@84 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added random weather that persists per world. Also added SetWeather, GetWeather, and CastThunderbolt to lua bindings.admin@omencraft.com2011-11-105-20/+191
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@83 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added m_IP to player class and binding to get IP for LUA. (Probably should use m_pState)admin@omencraft.com2011-11-096-3/+79
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@82 0a769ca7-a7f5-676a-18bf-c427514a06d6
* bugfix to redstone, it can climb walls again.admin@omencraft.com2011-11-092-16/+43
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@81 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Redstone clocks now work. even one clocks. torches don't update themselves when placed yet, but redstone wire updates the torch. Fixed a bug with piston animations.admin@omencraft.com2011-11-096-108/+298
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@80 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed world timefaketruth2011-11-082-1/+13
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@78 0a769ca7-a7f5-676a-18bf-c427514a06d6
* It's a Squirrel!!faketruth2011-11-0811-31/+529
| | | | | | 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
* Fixed bug in cChunk.cpp not calculating RedstoneCircuits at the correct positions. Also, forgot to mention you can now place colored wool.admin@omencraft.com2011-11-081-2/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@75 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Updated redstone and pistons some mode. If you break an extended piston the piston extension will now also break. When a redstone device is broken by something other than a person the redstone circuit should now update.admin@omencraft.com2011-11-076-121/+238
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@74 0a769ca7-a7f5-676a-18bf-c427514a06d6
* More updates to cPiston.cpp. Piston action will now only be broadcasted to players who have the chunk with the moving piston loaded.admin@omencraft.com2011-11-071-2/+6
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@73 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added Sebi's changes to pistons and item drops.admin@omencraft.com2011-11-076-423/+172
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@72 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Pistons now generate noise and animate when moving.admin@omencraft.com2011-11-073-4/+50
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@71 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added three new packets and cleaned up cPacket_Thunderbolt.cpp... cPacket_BlockAction, cPacket_Explosion, and cPacket_SoundEffect.admin@omencraft.com2011-11-078-50/+232
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@70 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Redstone wire now updates correctly when added and removed. it also updates all currently programmed redstone items and wire circuits. Also cleaned up the mess I left of the code.admin@omencraft.com2011-11-063-194/+47
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@69 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Redstone is now self aware. It's not quite as dumb as it used to be at any rate. Redstone wires have no range and understand they are supposed to stay on whenever there's an active torch touching it. (Need to add other power devices)admin@omencraft.com2011-11-063-42/+232
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@68 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Patch with diff file created by Sebi (implemented some stuff like lava physics, drops are deleted when in lava, water is now slower, lava gives actual damage etc.). Pistons now work mostly as they should. They do not yet show the motion animation and do not emit sound. They do extend, push, and retract as they should though. Right now the only way to activate a piston is to light redstone wire adjacent to it with a redstone torch.admin@omencraft.com2011-11-0612-276/+523
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@67 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Finished most of piston class. Pistons should work when a redstone current with wire is lit up or extinguished near them but don't yet. There'sa bug to kill.admin@omencraft.com2011-11-063-48/+408
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@66 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Change SetBlock to FastSetBlock in cRedstone.cpp and grass will now grow if any one hit block is above it.admin@omencraft.com2011-11-052-22/+27
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@65 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added all the items up to Beta 1.9.5. Added pistons and piston class.admin@omencraft.com2011-11-055-18/+364
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@63 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added cRedstone to project filefaketruth2011-11-042-7/+6
| | | | | | Changed NetworkToHostFloat4(), maybe it works now on 64bit linux git-svn-id: http://mc-server.googlecode.com/svn/trunk@54 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Changed use of deprecated function.admin@omencraft.com2011-11-041-14/+19
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@53 0a769ca7-a7f5-676a-18bf-c427514a06d6
* celeaning up the mess I made of cRedstone.h. >.>admin@omencraft.com2011-11-041-77/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@52 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added (Probably incorrectly) a cRedstone class. Also, palcing a redstone torch will recursively light any redstone wire it's connected to. Removing a torch from an active wire will unlight the entire length. Class needs to be updated to make use of non deprecated function. Current deprecated function warning drastically slows redstone performance.admin@omencraft.com2011-11-045-25/+215
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@51 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed some redstone items and a bug that prevented floats from client to server packets reading correctly on 64 bit linux.admin@omencraft.com2011-11-035-14/+15
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@50 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added some redstone items.admin@omencraft.com2011-11-033-7/+54
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@49 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Updated the thunderbolt packet. Lightning and rain can be tested with a workbench and a chest. >:)admin@omencraft.com2011-11-033-11/+42
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@48 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added New/Invaid State and Thunderbolt packets. For testing purposes it now rains whenever a player opens a workbench and stops when they pen a chest. The rain start/stop in only sent to the sole clientopening the items.admin@omencraft.com2011-11-026-7/+128
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@47 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed some "Entity was not found in any chunk!" warningsfaketruth2011-11-028-28/+74
| | | | | | | Player's current world is saved in the player file. When a player joins the server, the player joins the last world he was in. It seems MCServer can finally run multiple worlds! It just needs functionality to switch between them git-svn-id: http://mc-server.googlecode.com/svn/trunk@46 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed player spawn teleport postion.admin@omencraft.com2011-11-021-1/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@45 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed crash when client only sends a space in the chatfaketruth2011-11-021-0/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@44 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Changed world gamemode location to world.ini for world based gamemodes.admin@omencraft.com2011-11-021-2/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@43 0a769ca7-a7f5-676a-18bf-c427514a06d6
* fixed player spawning in the ground.admin@omencraft.com2011-11-013-6/+5
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@42 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Accidentally removed a line of codefaketruth2011-11-011-1/+2
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@41 0a769ca7-a7f5-676a-18bf-c427514a06d6
* You can now run multiple worlds by defining them in settings.ini . However there's no way to change worlds on the fly yetfaketruth2011-11-0116-165/+476
| | | | | | | | | | | Players are now stored in separate folder /players instead of in the world folder (!so move the folder!) Fixed a memory leak/error in cPickup.cpp Multiple worlds are stored in cRoot cClientHandle lists are taken out of cWorld and now stored in cServer Worlds now have names to distinguish them by Some functions in the Core plugin now distinguish between worlds git-svn-id: http://mc-server.googlecode.com/svn/trunk@40 0a769ca7-a7f5-676a-18bf-c427514a06d6
* forogt to update all of cPlayer.cpp for player based gamemode.admin@omencraft.com2011-11-011-1/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@39 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Put in some sanity checks to ensure players don't interact with blocks too quickly. Changed gamemode to be player based. (MCServer crashes when picking up an item. Need to find and fix bug.)admin@omencraft.com2011-11-013-14/+56
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@38 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Players can now place blocks in creative mode. The blocks players select from the creative mode inventory are not stored in the players' inventory. (I kind of like that)admin@omencraft.com2011-11-012-3/+4
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@37 0a769ca7-a7f5-676a-18bf-c427514a06d6
* denotch map converter works! :Dadmin@omencraft.com2011-10-311-8/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@36 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Player data is saved and loaded as human readable JSON now.faketruth2011-10-3110-74/+317
| | | | | | | | cFileFormatUpdate will loop through old files and convert them to new files (should replace legacy old format loading code) cItem has two new functions to load from Json and output Json, this will keep the items in Json standard ChestEntity and FurnaceEntity use the new functions in cItem git-svn-id: http://mc-server.googlecode.com/svn/trunk@35 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth2011-10-3140-206/+402
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@29 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Changed cChunkMat.cpp back to normal. Made more changes to the denotch map converter. Testing cNBTData parser.admin@omencraft.com2011-10-301-5/+0
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@21 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added denotch map converter. Program currently reads the only mcr file in the region dir and writes the uncompressed chunk data in world/X0-Z0.pak. I compile in linux with "g++ cConvert.cpp -lz -o denotch"admin@omencraft.com2011-10-292-6/+11
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@20 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed a memory leakfaketruth2011-10-271-0/+1
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@19 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Made several recomended changes. Gamemode is now world based. Need to add it to player.admin@omencraft.com2011-10-2611-19/+26
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@18 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Moved GAMEMODE declaration to a single place... cPacket.h. Player can't take damage any more but can still sometimes die on spawn. Not sure why. Falling through the void does not kill you yet.admin@omencraft.com2011-10-263-8/+9
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@17 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Creative mode now breaks blocks without providing block drops. Need to work with Player's Inventory for proper creative mode support. GAMEMODE is declared and set twice.admin@omencraft.com2011-10-265-5/+8
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@16 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Added 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.com2011-10-268-6/+81
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@15 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Updated VS2010 project filesfaketruth2011-10-261-104/+43
| | | | | | | Made monster spawning code in cWorld.cpp a bit more compact and readable srand() is only supposed to be called once in the whole program, and it's already called in the constructor of cWorld so it doesn't have to be in cWorld::Tick() git-svn-id: http://mc-server.googlecode.com/svn/trunk@14 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Fixed bug in cMakeDir where it would only create directories named "world"faketruth2011-10-263-34/+16
| | | | | | The user input thread now properly stops when the server restarts or stops git-svn-id: http://mc-server.googlecode.com/svn/trunk@13 0a769ca7-a7f5-676a-18bf-c427514a06d6
* added simple code for server side item durabilty on tool items that have durabilty. need to add block destroyed durability modifier.admin@omencraft.com2011-10-261-3/+70
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@12 0a769ca7-a7f5-676a-18bf-c427514a06d6
* git-svn-id: http://mc-server.googlecode.com/svn/trunk@10 0a769ca7-a7f5-676a-18bf-c427514a06d6admin@omencraft.com2011-10-2629-10/+1707
|
* Using SSE instructions for noise (terrain generation)faketruth2011-10-253-9/+84
| | | | | | Unfortunately the noise functions is only like 7% faster, so you won't even notice git-svn-id: http://mc-server.googlecode.com/svn/trunk@9 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Abstracted sockets some more to ensure the same behavior over the entire program and on multiple platforms.faketruth2011-10-236-88/+165
| | | | | | | MCSocket.h should soon be deprecated and deleted Do a full rebuild (mine bugged out when I didn't) git-svn-id: http://mc-server.googlecode.com/svn/trunk@8 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Found something that calls a function when a segfault happens, might be useful.faketruth2011-10-221-4/+16
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@7 0a769ca7-a7f5-676a-18bf-c427514a06d6
* Compiles for linuxfaketruth2011-10-2117-24/+63
| | | | git-svn-id: http://mc-server.googlecode.com/svn/trunk@6 0a769ca7-a7f5-676a-18bf-c427514a06d6
* MCServer c++ source filesfaketruth2011-10-03233-0/+35759
git-svn-id: http://mc-server.googlecode.com/svn/trunk@3 0a769ca7-a7f5-676a-18bf-c427514a06d6