summaryrefslogtreecommitdiffstats
path: root/src/ChunkMap.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2020-04-02Fix explosion knockback issues and tweak knockback strength (#4590)peterbell101-13/+9
2020-03-27 Lock hopper when powered by redstone (#4347)Bond-0091-0/+18
2020-03-27Merge #4552Alexander Harkness1-1/+8
2020-03-22TNT position fixes (#4519)Mat1-1/+1
2020-03-22Fix invalid explosion damage (#4529)Mat1-1/+1
2020-03-19Improvements to knockback (#4504)Mat1-1/+1
2019-10-28Moved growing from cWorld / cChunk to cBlockHandler descendants.Mattes D1-130/+75
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D1-143/+58
2019-09-27Fixed MSVC warnings (#4400)Mattes D1-1/+1
2019-09-24NBTChunkSerializer: Cleaned up interface.Mattes D1-2/+8
2019-09-06Separated chunk generator from world / plugin interfaces.Mattes D1-7/+7
2019-02-20Limit the size of cListAllocationPool's free listpeterbell101-1/+1
2018-07-26CheckBasicStyle: Check number of empty lines between functions (#4267)peterbell101-2/+7
2018-07-24Broadcast refactor (#4264)peterbell101-459/+10
2018-07-23Optimise chunk set (#4260)peterbell101-4/+2
2018-07-23Rewrite explosion knock back (#4251)changyong guo1-4/+15
2017-09-27Fix explosion interaction with block entities. (#4052)peterbell101-0/+13
2017-09-25BroadcastBlockBreakAnimation and BroadcastBlockEntity use vectors (#4038)Bond-0091-11/+8
2017-09-19Changed BroadcastSoundEffect, SendSoundEffect, and CastThunderbolt parameters to vectors (#3959)Lane Kolbly1-10/+10
2017-09-11Replace ItemCallbacks with lambdas (#3993)peterbell101-85/+42
2017-09-07Changed some int parameters to vector parameters (#3937)Bond-0091-1/+1
2017-09-02Revert "Replace ItemCallbacks with lambdas (#3948)"LogicParrot1-43/+86
2017-09-01Replace ItemCallbacks with lambdas (#3948)peterbell101-86/+43
2017-08-21Fully implemented leashes (#3798)Pablo Beltrán1-0/+29
2017-08-17Changed int parameters to vector parameters in cCuboid and simulators (#3874)Lane Kolbly1-12/+10
2017-08-07Changed entity ownership model to use smart pointersTiger Wang1-11/+12
2017-08-02Removed double includes (#3885)Lukas Pioch1-1/+0
2017-08-01cWorld::SendBlockTo take player by refpeterbell101-2/+2
2017-07-16Simulators: Added area-based wakeup.Mattes D1-47/+4
2017-07-07Added bed entity (#3823)Lukas Pioch1-0/+18
2017-06-13FastRandom rewrite (#3754)peterbell101-5/+6
2017-02-05Fixed bindings for cBlockArea:Read and Write. (#3568)Mattes D1-2/+2
2017-01-18DeadlockDetect now lists some tracked CS's stats.Mattes D1-0/+19
2016-12-16Initial support for the 1.11 protocol.Mattes D1-2/+2
2016-10-12Spectators added (#2852)bibo381-0/+9
2016-10-09cChunk::SetAlwaysTicked implies cChunk::stay (#3361)LogicParrot1-1/+1
2016-09-03Configurable dirty unused chunk cap to avoid RAM overuse (#3359)LogicParrot1-2/+19
2016-08-03Simplified cChunkMap chunk storage (#2565)Tiger Wang1-584/+224
2016-07-18Updated API documentation.Mattes D1-2/+2
2016-06-03Makes tall grass and large flowers bonemealableQUSpilPrgm1-0/+18
2016-06-03Update Dispensers and let them act more like in VanillaQUSpilPrgm1-6/+9
2016-05-141.9 / 1.9.2 / 1.9.3 / 1.9.4 protocol support (#3135)Pokechu221-1/+17
2016-05-01Fix Crash on stopping the server (#3176)LogicParrot1-0/+13
2016-04-24ChunkLayers now stored in std::mapLogicParrot1-59/+58
2016-04-24Revert "ChunkLayers now stored in std::map"LogicParrot1-51/+59
2016-04-23ChunkLayers now stored in std::mapLogicParrot1-59/+51
2016-04-22Reduced unnecessary block updatesLogicParrot1-20/+1
2016-04-16Updated cChunk::SetMeta, fixed grass growth, reduced markDirty/setMeta usageLogicParrot1-2/+2
2016-04-05Improved player freeze codeLogicParrot1-2/+3
2016-03-30Entities are never lostLogicParrot1-10/+4
2016-02-22Fixed removing entities from parent chunksLogicParrot1-1/+1
2016-02-05Bulk clearing of whitespaceLogicParrot1-48/+48
2016-01-31Updated old forum linksMathias1-1/+1
2016-01-06Fixed Clang warnings.Mattes D1-9/+9
2015-12-18Reorganised the redstone simulatorTiger Wang1-115/+8
2015-12-13allow use failures to propagate from the entity/block to the playerGargaj1-3/+3
2015-11-24Add enum for Sound and Particle EffectsDave Tucker1-1/+1
2015-11-23Changed static_cast to FloorCJulian Laubstein1-1/+1
2015-11-23Adjusted height validation using cChunkDef::IsValidHeight()Julian Laubstein1-1/+1
2015-11-03Implemented brewingLukas Pioch1-0/+33
2015-10-04Fixed a race condition between chunk loader and generator.Mattes D1-18/+18
2015-09-25Maked it compileable for clang-3.7Lukas Pioch1-2/+2
2015-09-24Add new "ForEach" function: ForEachLoadedChunk.tycho1-0/+28
2015-08-18Some warning fixesJulian Laubstein1-1/+1
2015-07-31Unified the doxy-comment format.Mattes D1-1/+0
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney1-19/+19
2015-06-10Reinstate "Chunk queue collapsing"Tiger Wang1-16/+0
2015-06-07Revert "Chunk queue collapsing"worktycho1-0/+16
2015-06-05Moved Chunk Broadcasts over to the regular queuetycho1-16/+0
2015-05-30Made cLightingThread own its callbackstycho1-2/+2
2015-05-09CheckBasicStyle: checks spaces around * and &.Mattes D1-9/+9
2015-05-07Added support for additional data in the ParticleEffect Packettycho1-0/+22
2015-04-26Fix explosions trying to write to unread blockareaTiger Wang1-3/+5
2015-04-21Hotfixed some chunk presence issues when generating.Mattes D1-0/+2
2015-03-21Changed cEntity::m_UniqueID to UInt32.Mattes D1-7/+7
2015-02-08Handle client 'leave bed' requestTiger Wang1-4/+1
2015-01-11Initial convertion of a_Dt to std::chronoTycho1-2/+2
2014-12-24Refactored all player block placing to go through hooks.Mattes D1-36/+67
2014-12-17NULL -> nullptrTiger Wang1-1/+1
2014-12-10Added a cWorld:PrepareChunk function.Mattes D1-0/+97
2014-10-31Fixed missing CS lock in cChunkMap::WakeUpSimulatorsInArea().Mattes D1-0/+1
2014-10-23En masse NULL -> nullptr replaceTiger Wang1-139/+139
2014-10-20En masse NULL -> nullptr replaceTiger Wang1-139/+139
2014-10-15Functions in cPluginManager get references instead of pointers.Mattes D1-6/+8
2014-09-27Added barriers correctlyMasy981-0/+1
2014-09-26Removed more unessicary includesTycho1-1/+1
2014-09-12Fixed farmland issues.Howaner1-3/+3
2014-09-111.8: Added ParticleEffect packet.Howaner1-2/+2
2014-09-05WorldStorage no longer queues chunks into generator.Mattes D1-2/+2
2014-09-05Rewritten chunk status to specify whether the chunk is in queue.Mattes D1-51/+24
2014-09-04Fixed compilation after chunk Y removal.madmaxoft1-1/+1
2014-09-03Added cWorld::ForEachEntityInBox()madmaxoft1-0/+32
2014-08-30Fixed style.madmaxoft1-2/+3
2014-08-29Improved explosion damageTiger Wang1-45/+22
2014-08-28remove y-coord from chunksLO1ZB1-129/+129
2014-07-30Exported the beacon.Howaner1-0/+18
2014-07-30Added beacon.Howaner1-0/+1
2014-07-24Added a queue for setting chunk data.madmaxoft1-16/+9
2014-07-21SuggestionsTiger Wang1-1/+0
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-36/+36
2014-07-19Fixed clamping issuesarchshift1-4/+1
2014-07-18Fixed spaces before commas.madmaxoft1-2/+2
2014-07-17Fixed spaces around single-line comments.madmaxoft1-11/+12
2014-07-17Fixed basic whitespace problems.madmaxoft1-3/+3
2014-07-17Fixed crash with entities in unloaded chunksTiger Wang1-1/+3
2014-07-15Derp.Howaner1-2/+2
2014-07-14Reset meta to zero when the block explode.Howaner1-4/+4
2014-07-13Added parenthasiesworktycho1-1/+1
2014-07-13Fixed MSVC warnings in SoundEffect functions.madmaxoft1-1/+1
2014-07-13Changed BroadcastSoundEffect function to take floating pos.Howaner1-3/+3
2014-07-13Fixed wrong types. (BLOCKTYPE -> NIBBLETYPE)Howaner1-2/+2
2014-07-10Implemented support for forced chunk ticking.madmaxoft1-2/+18
2014-07-07Implemented trapped chests & othersTiger Wang1-1/+20
2014-06-27Added generic entity-collecting.Mattes D1-3/+3
2014-06-26Add Null check to SendBlockToworktycho1-1/+1
2014-06-16Merge branch 'master' of github.com:mc-server/MCServerTycho1-4/+16
2014-06-14Reformated ChunkMap.hTycho1-2/+5
2014-06-14Added generic Allocation Pool InterfaceTycho1-3/+9
2014-06-14fixed spacesTycho1-1/+1
2014-06-14fixed spacesTycho1-1/+1
2014-06-12Portals animate and delay correctlyTiger Wang1-0/+1
2014-06-10Fixed a race condition when adding a player to a world.madmaxoft1-0/+24
2014-05-25Hopefully fixed piston duplication issuesTiger Wang1-2/+2
2014-05-23Implemented Allocation Pool use by cChunkDataTycho1-4/+7
2014-04-27Fixed player spawning #953.madmaxoft1-1/+4
2014-04-27Redstone simulator now directly accesses cChunkTiger Wang1-2/+0
2014-04-26Implemented Chunk Sparsing with segmentsTycho1-10/+6
2014-04-26Removed unused assignments.archshift1-4/+2
2014-04-18Did some static analysis, fixed some bugs and optimized a lot of codejfhumann1-20/+20
2014-04-12Fixed chunkstays not being removed on auto-delete.madmaxoft1-9/+17
2014-03-27Fix merge conflictsHowaner1-7/+0
2014-03-27Add new leaves to all classes.Howaner1-0/+7
2014-03-20ENUMified shrapnel levelTiger Wang1-2/+2
2014-03-18Added levels of shrapnelTiger Wang1-3/+7
2014-03-18Fixed chunkmap tree block replacing.madmaxoft1-8/+2
2014-03-16Fixed double to float conversions.madmaxoft1-45/+46
2014-03-16Add new leaves to all classes.Howaner1-0/+7
2014-03-10Shrapnel now configurableTiger Wang1-1/+1
2014-03-07Add Lua Bindings for FlowerPotEntity.h and add documentation.Howaner1-2/+2
2014-03-07Add Flower PotsHowaner1-0/+18
2014-03-05Added extra awesomeness to TNTTiger Wang1-11/+20
2014-02-24Fixed a possible crash in cWorld::WakeUpSimulatorsInArea().madmaxoft1-0/+4
2014-02-23Rename SkullEntity to MobHeadEntityHowaner1-2/+2
2014-02-23Add Heads completelyHowaner1-0/+18
2014-02-19Rename SkullEntity to MobHeadEntityHowaner1-2/+2
2014-02-18Add Heads completelyHowaner1-0/+18
2014-02-18Added cWorld:SetAreaBiome() API function.madmaxoft1-2/+59
2014-02-10Rewritten Lua ChunkStay API into a single function, cWorld:ChunkStay().madmaxoft1-2/+11
2014-02-08Initial ChunkStay code.madmaxoft1-113/+72
2014-02-05Fixed explosions bugTiger Wang1-1/+1
2014-02-05Fixed a bunch of MSVS warningsTiger Wang1-1/+1
2014-02-03Greatly improved TNT propulsion chancesTiger Wang1-1/+1
2014-02-03Inversed conditionTiger Wang1-25/+28
2014-02-02Uncommented pickup spawner codeTiger Wang1-3/+7
2014-02-02TNT improvementsTiger Wang1-37/+115
2014-02-01Changed pointers to referencesTycho1-3/+3
2014-02-01Changed signitures of Several BLockHandler MethodsTycho1-4/+3
2014-01-26Refactored cBlockHandler::OnUse and dependentsTycho1-2/+57
2014-01-18Basic command block implementationandrew1-0/+17
2014-01-07More MSVC warning fixes.madmaxoft1-1/+1
2013-12-22Fixed compiler warning.STRWarrior1-1/+1
2013-12-22Implented BroadcastParticleEffectSTRWarrior1-0/+19
2013-12-20Fixed compiler warning when iterating over a fixed array of items (ARRAYCOUNT).madmaxoft1-12/+12
2013-12-15This adds the cWorld::BroadcastEntityEffect and cWorld::BroadcastRemoveEntityEffect functions.STRWarrior1-0/+33
2013-12-14Implemented note block playing and fixed wireTiger Wang1-0/+17
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+1
2013-12-07Renamed animation functionTiger Wang1-3/+3
2013-12-06Fixed duplication glitch with QueueSetBlockTiger Wang1-2/+2
2013-11-30Changed cBlockHandler->OnUpdate() to use cChunk directly.madmaxoft1-1/+18
2013-11-28Fixed a bug with TNT waking simulatorsTiger Wang1-2/+2
2013-11-28Improved TNT pickup randomisationTiger Wang1-1/+1
2013-11-27Made TNT pickups spawning chance 25%Tiger Wang1-2/+2
2013-11-27Fixed VC2008 compilation, normalized include paths.madmaxoft1-1/+1
2013-11-27Fixed the remaining derpsAlexander Harkness1-2/+2
2013-11-24Attempt to fix compilationTiger Wang1-2/+2
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-20Added cWorld:ForEachBlockEntityInChunk() and cWorld:DoWithBlockEntityAt() functions.madmaxoft1-0/+33
2013-11-10Bundled fixes [SEE DESC]Tiger Wang1-1/+1
2013-10-24TNT Spawns PickupsTiger Wang1-1/+15
2013-09-08Adding an Empty shell that would launch mob spawner - not called yetmgueydan1-0/+28
2013-09-07Adding mob census (sorry this is a big commit as work was done before git integration i couldn't split it more)mgueydan1-0/+32
2013-09-07Renamed cWorld::DoExplosiontAt() to cWorld::DoExplosionAt()madmaxoft1-1/+1
2013-08-19Moved entities into the Entities subfolder.madmaxoft1-4/+3
2013-08-18Implemented cWorld:QueueSetBlock(), as requested for delayed blocksetting.madmaxoft1-0/+17
2013-08-18Removed SetServerBlock griefing.madmaxoft1-18/+0
2013-08-18Properly fixed piston non-animationTiger Wang1-0/+18
2013-08-09Added OnExploding() and OnExploded() hooks.madmaxoft1-18/+21
2013-08-03Added cWorld::DoWithChunk() function.madmaxoft1-0/+15
2013-08-03Removed the unused BlockY parameter from cChunkDef::BlockToChunk()madmaxoft1-13/+13
2013-07-07Improved function names for protocol packet sending; alpha-sorted the function listsmadmaxoft@gmail.com1-76/+69
2013-07-01Rewritten entity-on-fire management ("forever on fire" bugs)madmaxoft@gmail.com1-3/+3
2013-06-25Added a warning when spawning an entity in a non-existent chunkmadmaxoft@gmail.com1-0/+3
2013-06-21Explosions don't produce warnings in cBlockArea; fixed logging in cBlockAreamadmaxoft@gmail.com1-1/+7
2013-06-21Simulators are woken up after an explosion.madmaxoft@gmail.com1-3/+63
2013-06-19Improved commentmadmaxoft@gmail.com1-1/+2
2013-06-18Explosions do not effect the terrain when they are in water.nielsbreu@gmail.com1-0/+11
2013-06-18More TNT fixes.madmaxoft@gmail.com1-37/+35
2013-06-18TNT fixes.madmaxoft@gmail.com1-6/+39
2013-06-12Added cWorld::SetSignLines(), re-exported to Lua manually to avoid ghost return valuesmadmaxoft@gmail.com1-4/+4
2013-05-28Chunk / ChunkMap: Added support for unbounded querying blocktype-only or blockmeta-onlymadmaxoft@gmail.com1-0/+46
2013-05-26Implemented droppersmadmaxoft@gmail.com1-0/+66
2013-05-19Fixed cWorld:ForEachEntity()madmaxoft@gmail.com1-1/+1
2013-05-04Explosion: Switched from a cube to a sphere. Implemented using cBlockArea and moved block changing code to ChunkMapkeyboard.osh@gmail.com1-0/+30
2013-04-27Fixed a few possible crashes upon server stopmadmaxoft@gmail.com1-3/+5
2013-04-13Proper entity removal functionsmadmaxoft@gmail.com1-34/+14
2013-04-13Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()madmaxoft@gmail.com1-62/+218
2013-03-18Added support for the packet #28 (0x1C): ENTITY_VELOCITYkeyboard.osh@gmail.com1-0/+16
2013-03-14Fix for the Vaporize fluid simulator when loading chunks.madmaxoft@gmail.com1-1/+0
2013-03-03Player can sit in minecarts (but not move them yet)madmaxoft@gmail.com1-0/+15
2013-02-28Simulators now have direct access to the cChunk object in the WakeUp() callmadmaxoft@gmail.com1-4/+21
2013-02-27Fixed a copypasta error from rev 1224madmaxoft@gmail.com1-1/+1
2013-02-27Made FAST_FLOOR_DIV work correctly, replaced all floorf() divisions with it.madmaxoft@gmail.com1-5/+5
2013-02-05Added new hooks: OnChunkAvailable(), OnChunkUnloaded() and OnChunkUnloading(). Modified OnChunkGenerated() signature.madmaxoft@gmail.com1-1/+9
2012-12-26Dispensers can dispense items and liquids nowluksor111@gmail.com1-0/+33
2012-12-14cChunk now tracks its neighbors as direct pointers; used in UnboundedRelGetBlock et al.madmaxoft@gmail.com1-2/+74
2012-11-11Removed an unused obsolete function chain - cWorld::GetChunkBlockData()madmaxoft@gmail.com1-16/+0
2012-10-26Fixed a valgrind warning in BlockDirt.madmaxoft@gmail.com1-2/+6
2012-10-21Added jukeboxes (patch contributed by Luksor)madmaxoft@gmail.com1-0/+19
2012-10-20Made cWorld's block query functions more orthogonal, added GetBlockInfo() returning all info on a block.madmaxoft@gmail.com1-9/+44
2012-10-14Floody fluid simulator now dries up correctly, too.madmaxoft@gmail.com1-30/+49
2012-10-06BlockArea writing support (BlockTypes with BlockMeta only)madmaxoft@gmail.com1-0/+39
2012-09-29Beds can be slept in now (it doesn't change the time though)faketruth1-0/+19
2012-09-25Added the block dig animation packet (patch contributed by l0udPL)madmaxoft@gmail.com1-0/+19
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-7/+7
2012-09-23Source files cleanup: OSSupport-related files in a separate subfolder, renamed.madmaxoft@gmail.com1-1/+0
2012-09-23Source files cleanup: Generating-related files in a separate subfoldermadmaxoft@gmail.com1-1/+1
2012-09-11Merged in a patch for sounds by l0udPLmadmaxoft@gmail.com1-0/+19
2012-08-31Progress on the 1.3.2 protocol.madmaxoft@gmail.com1-2/+2
2012-08-29Gotten completely rid of all cPackets. The cProtocol125 class now does all the parsing and writing by itself.madmaxoft@gmail.com1-4/+4
2012-08-27Cut out all packet handling to a separate cProtocol descendantmadmaxoft@gmail.com1-38/+0
2012-08-26git-svn-id: http://mc-server.googlecode.com/svn/trunk@795 0a769ca7-a7f5-676a-18bf-c427514a06d6madmaxoft@gmail.com1-0/+16
2012-08-25cWorld doesn't use cPackets.madmaxoft@gmail.com1-0/+18
2012-08-24cPickup doesn't use cPackets.madmaxoft@gmail.com1-0/+16
2012-08-24Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.madmaxoft@gmail.com1-0/+50
2012-08-19Window, Chest, Furnace and Pawn are not using cPackets at allmadmaxoft@gmail.com1-0/+33
2012-08-19Almost all packets' handling is now rewritten not to use cPacket descendants elsewhere than in cClientHandle.madmaxoft@gmail.com1-0/+108
2012-08-19Another handful of packets rewritten.madmaxoft@gmail.com1-0/+32
2012-08-06A bit of cleanup and documentation around the UI window handlingmadmaxoft@gmail.com1-3/+3
2012-08-03Fixed a few gcc pedantic warnings; made BLOCKTYPE an unsigned char type.madmaxoft@gmail.com1-1/+1
2012-07-02Temporary jungle trees (swamp-like), based on code by STR_Warrior). Also vines don't overwrite leaves anymore.madmaxoft@gmail.com1-0/+8
2012-07-02cBlockArea object added (with only minimal testing so far)madmaxoft@gmail.com1-0/+29
2012-06-17Removed the deprecated GetBlockEntity(), added several enumerators to replace it.madmaxoft@gmail.com1-0/+84
2012-06-16Exported cWorld::ForEachEntity and cWorld::ForEachEntityInChunk; no idea if they actually workmadmaxoft@gmail.com1-0/+15
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-1485/+1485
2012-06-09Cacti grow by themselves and by bonemealmadmaxoft@gmail.com1-0/+17
2012-06-08Sugarcane grows and can be grown using bonemeal.madmaxoft@gmail.com1-0/+17
2012-06-07Bonemeal works on crops, melons, pumpkins, saplings and grass. Plant growing has been refactored into separate functions callable from Lua, too.madmaxoft@gmail.com1-0/+17
2012-06-07Repeaters' delays can be set by rclkmadmaxoft@gmail.com1-0/+17
2012-06-06Item-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.com1-17/+1
2012-05-30Added support for SetNextBlockTick() function callable from Luamadmaxoft@gmail.com1-0/+17
2012-05-29Added 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.com1-15/+59
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-28/+190
2012-04-10Added 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.com1-1/+16
2012-03-22Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.madmaxoft@gmail.com1-4/+19
2012-03-16That didn't work.. I forgot some cChunk functions were changed. Now it should compile againfaketruth1-1/+1
2012-03-16Exposed a function to Lua to get a block's sky light valuefaketruth1-1/+19
2012-03-14Unified the chunk data to use the BLOCKDATA datatype.madmaxoft@gmail.com1-4/+4
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-24/+41
2012-03-09cClientHandles have a unique ID now to distinguish themfaketruth1-2/+3
2012-03-05ChunkSender: 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.com1-24/+27
2012-02-28Linux compilation fix (y u no support const_iterator, gcc?)madmaxoft@gmail.com1-1/+1
2012-02-28Chunk now has an indicator of load failure; Chunk generator uses cChunkStaymadmaxoft@gmail.com1-0/+20
2012-02-28Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;)madmaxoft@gmail.com1-38/+111
2012-02-28Const-correctness for packet broadcasting (fixes GCC compilation)madmaxoft@gmail.com1-2/+2
2012-02-27Fix for the perpetual load issuemadmaxoft@gmail.com1-1/+7
2012-02-26Implemented chunk loading without generating on load-failuremadmaxoft@gmail.com1-3/+13
2012-02-26New 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.com1-0/+91
2012-02-23Plain pointer cChunkPtr finishing touches; removed cChunk's critical sectionsmadmaxoft@gmail.com1-0/+15
2012-02-23Made cChunkPtr a plain old pointer again, since it's safe nowmadmaxoft@gmail.com1-4/+6
2012-02-22Fixed a potential deadlock in cChunkMap::m_CSLayers vs cWorld::m_CSAllEntitiesmadmaxoft@gmail.com1-6/+8
2012-02-21Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com1-3/+140
2012-02-21Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com1-0/+45
2012-02-21Fixed block-getting so that simulators work againmadmaxoft@gmail.com1-0/+37
2012-02-20Removed some more cChunkPtr usagemadmaxoft@gmail.com1-6/+138
2012-02-20Using own ASSERT() that logs to filefaketruth1-1/+1
2012-02-18Substantial 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.com1-0/+51
2012-02-18Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.madmaxoft@gmail.com1-0/+16
2012-02-18Thread-safe chunk generation, storage and generator are queried for progress while initializing servermadmaxoft@gmail.com1-1/+58
2012-02-17Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com1-6/+24
2012-02-16cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.madmaxoft@gmail.com1-1/+11
2012-02-16Chunk 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.com1-6/+105
2012-02-16Chunks are properly saved before being unloaded nowfaketruth1-0/+3
2012-02-15Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)madmaxoft@gmail.com1-0/+38
2012-02-13Rewritten 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.com1-456/+112
2012-02-08Removed unused codemadmaxoft@gmail.com1-15/+8
2012-02-08MTRand class is not created in each tick, therefore much improving tick-thread time (now uses ~5 % CPU instead of one full core)madmaxoft@gmail.com1-2/+2
2012-02-01AString logging fix 2madmaxoft@gmail.com1-7/+7
2012-02-01sprintf() begone! Replaced with StringUtils' Printf()madmaxoft@gmail.com1-6/+5
2012-02-01Removed a few duplicate includesmadmaxoft@gmail.com1-2/+0
2012-01-31Linux 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.com1-0/+1
2012-01-30Added a WebAdmin interface to view users their groups, and the permissions of groups.faketruth1-1/+1
2012-01-30More cFile cleanup; removed old format writing for block entitiesmadmaxoft@gmail.com1-4/+0
2012-01-30Initial cFile implementation (using stdio FILE) and test in cChunkMapmadmaxoft@gmail.com1-84/+86
2012-01-29Old code begone! ChunkMap cleanupmadmaxoft@gmail.com1-348/+250
2012-01-29VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com1-6/+9
2012-01-29ChunkGenerator: rewritten thread-locking using the new RAII CSLock classmadmaxoft@gmail.com1-3/+4
2012-01-27MSVC 2008 Express compatibility: Added the projects, modified sources to compile. Tested on MSVC 2008 Express and MSVC 2010 Expressmadmaxoft@gmail.com1-1/+1
2012-01-19Terrain generation is synchronous again, async generation has bugs.faketruth1-1/+1
2012-01-01Fixed the numchunks console command.faketruth1-1/+11
2011-12-27Users file was pretty messed up with mixed unix and windows line endings. The ini failed to parse correctly under cygwin.faketruth1-1/+1
2011-12-25Chunks 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 :Ofaketruth1-0/+2
2011-11-01You can now run multiple worlds by defining them in settings.ini . However there's no way to change worlds on the fly yetfaketruth1-12/+8
2011-11-01Players 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.com1-0/+1
2011-10-31denotch map converter works! :Dadmin@omencraft.com1-8/+9
2011-10-31Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth1-3/+4
2011-10-30Changed cChunkMat.cpp back to normal. Made more changes to the denotch map converter. Testing cNBTData parser.admin@omencraft.com1-5/+0
2011-10-29Added 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.com1-5/+10
2011-10-21Compiles for linuxfaketruth1-0/+3
2011-10-03MCServer c++ source filesfaketruth1-0/+714