summaryrefslogtreecommitdiffstats
path: root/src/Chunk.h (unfollow)
Commit message (Expand)AuthorFilesLines
2016-06-03Update Dispensers and let them act more like in VanillaQUSpilPrgm1-6/+6
2016-05-141.9 / 1.9.2 / 1.9.3 / 1.9.4 protocol support (#3135)Pokechu221-1/+2
2016-04-22Reduced unnecessary block updatesLogicParrot1-7/+0
2016-04-16Updated cChunk::SetMeta, fixed grass growth, reduced markDirty/setMeta usageLogicParrot1-4/+13
2016-04-05Improved player freeze codeLogicParrot1-1/+0
2016-02-19Proper entity destruction in non-ticking chunksLogicParrot1-3/+0
2016-02-02Fixed cChunk::m_Entities corruption upon world travelLogicParrot1-1/+4
2016-01-21Spiders now friendly at daylight, new cChunk functionsLogicParrot1-60/+89
2015-12-18Reorganised the redstone simulatorTiger Wang1-13/+1
2015-12-13allow use failures to propagate from the entity/block to the playerGargaj1-1/+3
2015-11-24Add enum for Sound and Particle EffectsDave Tucker1-1/+1
2015-11-03Implemented brewingLukas Pioch1-0/+8
2015-09-19Fixed wrong assumtion regarding RemoveClienttycho1-3/+1
2015-09-18Removed a significant performance issue.tycho1-4/+9
2015-06-10Reinstate "Chunk queue collapsing"Tiger Wang1-1/+0
2015-06-07Revert "Chunk queue collapsing"worktycho1-0/+1
2015-06-05Moved Chunk Broadcasts over to the regular queuetycho1-1/+0
2015-05-09CheckBasicStyle: checks spaces around * and &.Mattes D1-2/+2
2015-05-07Added support for additional data in the ParticleEffect Packettycho1-3/+3
2015-03-21Fixed signedness warnings in Protocol.Mattes D1-1/+1
2015-03-21Changed cEntity::m_UniqueID to UInt32.Mattes D1-2/+2
2015-01-11Initial convertion of a_Dt to std::chronoTycho1-1/+1
2014-10-23En masse NULL -> nullptr replaceTiger Wang1-24/+24
2014-10-20En masse NULL -> nullptr replaceTiger Wang1-24/+24
2014-10-19Fixed error with non-const functionJulian Laubstein1-1/+1
2014-10-15Functions in cPluginManager get references instead of pointers.Mattes D1-1/+1
2014-10-03Improved furnacesTiger Wang1-1/+1
2014-09-27Add data accessor.worktycho1-0/+1
2014-09-26Removed more unessicary includesTycho1-1/+5
2014-09-26Fixed issue with castingtycho1-2/+2
2014-09-16IncrementalRedstoneSimulator now has no dependencies on cChunkTycho1-10/+1
2014-09-11Possibly decoupled IncrementalRedstoneSimulator from the rest of the serverTycho1-8/+10
2014-09-111.8: Added ParticleEffect packet.Howaner1-1/+1
2014-09-06Removed chunk's unused Y coord.Mattes D1-2/+1
2014-09-05Rewritten chunk status to specify whether the chunk is in queue.Mattes D1-7/+37
2014-09-03Added cWorld::ForEachEntityInBox()madmaxoft1-0/+4
2014-08-29cChunk: Fixed the Coords param.Mattes D1-1/+1
2014-08-29Rewritten block entity loading.Mattes D1-1/+1
2014-08-28remove y-coord from chunksLO1ZB1-1/+1
2014-08-14CheckBasicStyle checks the src folder as well.madmaxoft1-1/+1
2014-08-05Refactored Redstone simulator not to depend on TNTEntity or DropSpenserENtity DirectlyTycho1-1/+5
2014-07-30Exported the beacon.Howaner1-0/+5
2014-07-24Removed redundant semicolons and re-added warningarchshift1-3/+3
2014-07-24Added a queue for setting chunk data.madmaxoft1-10/+4
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-6/+6
2014-07-17Fixed spaces around single-line comments.madmaxoft1-1/+0
2014-07-17Fixed basic whitespace problems.madmaxoft1-2/+2
2014-07-13Changed BroadcastSoundEffect function to take floating pos.Howaner1-1/+1
2014-07-10Fixed style consistency.madmaxoft1-2/+2
2014-07-10Implemented support for forced chunk ticking.madmaxoft1-4/+26
2014-06-27Added generic entity-collecting.Mattes D1-1/+1
2014-06-21Fixed invalid iteratorsTiger Wang1-1/+0
2014-06-16Merge branch 'master' of github.com:mc-server/MCServerTycho1-1/+2
2014-06-14Added generic Allocation Pool InterfaceTycho1-1/+1
2014-06-14fixed spacesTycho1-1/+1
2014-06-12Removed unnessicary indirection from Entity iterator listTycho1-1/+1
2014-06-12Portals animate and delay correctlyTiger Wang1-1/+1
2014-06-05Redstone fixes and improvements [SEE DESC]Tiger Wang1-1/+8
2014-05-31Implemented end and nether portalsTiger Wang1-0/+1
2014-05-25Hopefully fixed piston duplication issuesTiger Wang1-2/+2
2014-05-24Implemented style changesTycho1-2/+2
2014-05-23Implemented Allocation Pool use by cChunkDataTycho1-1/+2
2014-05-21Changed cChunkData::SetMeta to return a bool indicating whether the value changedTycho1-3/+3
2014-05-21Renamed cChunkBuffer to cChunkDataTycho1-6/+6
2014-05-10Fixed stupid errorTycho1-1/+1
2014-05-10Fixed bug in setting metasTycho1-1/+7
2014-04-27Redstone simulator now directly accesses cChunkTiger Wang1-5/+4
2014-04-26Implemented Chunk Sparsing with segmentsTycho1-16/+16
2014-04-25Implemented commentsTiger Wang1-4/+4
2014-04-18Fixed clang compilation errors. Apparently gcc and MSVC do not care about the order of initializer lists, but clang does.jfhumann1-1/+1
2014-04-18Did some static analysis, fixed some bugs and optimized a lot of codejfhumann1-1/+1
2014-04-07Maybe speed improvements?Tiger Wang1-1/+1
2014-04-07Blocklight and skylight now compressedTiger Wang1-4/+4
2014-04-05Nibbletypes are compressedTiger Wang1-1/+1
2014-04-04Speed and memory improvementsTiger Wang1-1/+1
2014-03-23Sort of implementation of chunk sparsingTiger Wang1-1/+1
2014-03-07Add Lua Bindings for FlowerPotEntity.h and add documentation.Howaner1-2/+2
2014-03-07Add Flower PotsHowaner1-1/+6
2014-02-24Removed an unused member variable from cChunk.madmaxoft1-1/+0
2014-02-23Rename SkullEntity to MobHeadEntityHowaner1-4/+4
2014-02-23Add Heads completelyHowaner1-1/+6
2014-02-19Rename SkullEntity to MobHeadEntityHowaner1-4/+4
2014-02-18Add Heads completelyHowaner1-1/+6
2014-02-18Added cWorld:SetAreaBiome() API function.madmaxoft1-0/+8
2014-02-15Sizeable speed improvements to redstoneTiger Wang1-2/+12
2014-02-08Initial ChunkStay code.madmaxoft1-54/+56
2014-02-07Renamed cRedstoneManager to cRedstoneSimulator and renamed cRedstoneSimulator to cIncrementalRedstoneSimulator (Might change later).STRWarrior1-1/+1
2014-02-01Changed signitures of Several BLockHandler MethodsTycho1-1/+1
2014-01-18Basic command block implementationandrew1-6/+10
2013-12-30Fixed compilation in VC2008.madmaxoft1-23/+0
2013-12-22merged in warnings changesTycho Bickerstaff1-23/+0
2013-12-22Implented BroadcastParticleEffectSTRWarrior1-0/+1
2013-12-15This adds the cWorld::BroadcastEntityEffect and cWorld::BroadcastRemoveEntityEffect functions.STRWarrior1-0/+2
2013-12-14Implemented note block playing and fixed wireTiger Wang1-1/+5
2013-12-07Renamed animation functionTiger Wang1-1/+1
2013-12-06Fixed duplication glitch with QueueSetBlockTiger Wang1-3/+4
2013-11-30Changed cBlockHandler->OnUpdate() to use cChunk directly.madmaxoft1-3/+3
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-20Added cWorld:ForEachBlockEntityInChunk() and cWorld:DoWithBlockEntityAt() functions.madmaxoft1-0/+6
2013-11-18Redstone Megacommit [SEE DESC]Tiger Wang1-0/+3
2013-10-29Changes based on madmaxoft's nitpicker notes.Samuel Barney1-1/+1
2013-10-29Update to allow the light map to remain the same, but allow alteration of sky light values based on time.Samuel Barney1-0/+3
2013-10-27Added cChunk::UnboundedRelGetBlockLights().madmaxoft1-0/+5
2013-10-24Removed my hackish Light functionsSamuel Barney1-2/+0
2013-10-22Implemented UnboundedRel BlockLight and SkyLight.madmaxoft1-8/+15
2013-10-21Added two new unbounded del functions to deal with looking up the lighting.Samuel Barney1-0/+3
2013-09-08renaming the cChunk::getRandomBlock method + removing a buggy working logmgueydan1-1/+1
2013-09-08Adding an Empty shell that would launch mob spawner - not called yetmgueydan1-0/+8
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/+4
2013-08-19Added forgotten initialisationTiger Wang1-1/+1
2013-08-19Fixed uninitialised thingummiesTiger Wang1-1/+1
2013-08-19Moved entities into the Entities subfolder.madmaxoft1-1/+1
2013-08-19Removed an unused CriticalSection from cChunk.madmaxoft1-1/+0
2013-08-18Implemented cWorld:QueueSetBlock(), as requested for delayed blocksetting.madmaxoft1-0/+24
2013-08-18Removed SetServerBlock griefing.madmaxoft1-2/+0
2013-08-18Properly fixed piston non-animationTiger Wang1-0/+2
2013-07-07Improved function names for protocol packet sending; alpha-sorted the function listsmadmaxoft@gmail.com1-14/+16
2013-06-13Added hopper entity, it can suck items out of chests, dispensers, droppers and other hopppers above it.madmaxoft@gmail.com1-2/+3
2013-06-12Added cWorld::SetSignLines(), re-exported to Lua manually to avoid ghost return valuesmadmaxoft@gmail.com1-1/+3
2013-06-04Implemented proper player crouching.madmaxoft@gmail.com1-1/+1
2013-05-28cChunk: Added the GetRelNeighborChunkAdjustCoords() functionmadmaxoft@gmail.com1-0/+7
2013-05-28Chunk / ChunkMap: Added support for unbounded querying blocktype-only or blockmeta-onlymadmaxoft@gmail.com1-0/+6
2013-05-26Implemented droppersmadmaxoft@gmail.com1-0/+12
2013-05-25Fixed the cWorld:DoWithChestAt(), DoWithDispenserAt() and DoWithFurnaceAt() callbacks binding.madmaxoft@gmail.com1-2/+2
2013-04-13Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()madmaxoft@gmail.com1-5/+12
2013-04-01Proper fix for FS #347. Also unification of ticking block entities.madmaxoft@gmail.com1-1/+1
2013-03-22Fixed block update queueing and water meta change not propagated to clients.madmaxoft@gmail.com1-0/+3
2013-03-18Added support for the packet #28 (0x1C): ENTITY_VELOCITYkeyboard.osh@gmail.com1-0/+1
2013-03-15Huge performance boost in blockhandlers, they have direct access to chunk data when blockchecking.madmaxoft@gmail.com1-14/+15
2013-03-14Small performance improvements in fluid simulator.madmaxoft@gmail.com1-1/+1
2013-03-03Player can sit in minecarts (but not move them yet)madmaxoft@gmail.com1-0/+1
2013-03-03Simulators are woken up upon chunk loadmadmaxoft@gmail.com1-0/+4
2013-03-02Rewritten SandSimulator to use direct chunk access; and sand falling on torches now creates a pickup.madmaxoft@gmail.com1-0/+3
2013-03-02Floody fluid simulator has been converted to use direct chunk accessmadmaxoft@gmail.com1-1/+7
2013-03-01New fire simulator, fully rewritten to the new scheme of things, directly accessing chunk data.madmaxoft@gmail.com1-15/+24
2013-02-28Simulators now have direct access to the cChunk object in the WakeUp() callmadmaxoft@gmail.com1-4/+18
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-2/+0
2012-12-27Fixed slab usage in creative modeluksor111@gmail.com1-2/+2
2012-12-26Dispensers can dispense items and liquids nowluksor111@gmail.com1-0/+6
2012-12-19Added dispensers (they can't dispense items yet)luksor111@gmail.com1-4/+6
2012-12-14cChunk now tracks its neighbors as direct pointers; used in UnboundedRelGetBlock et al.madmaxoft@gmail.com1-4/+13
2012-11-11Removed an unused obsolete function chain - cWorld::GetChunkBlockData()madmaxoft@gmail.com1-3/+0
2012-10-21Top blocks are now snowed over, either normally, or in deep snow (patch contributed by funmaker, Luksor and Sebi)madmaxoft@gmail.com1-2/+3
2012-10-21Added jukeboxes (patch contributed by Luksor)madmaxoft@gmail.com1-19/+20
2012-10-20Made cWorld's block query functions more orthogonal, added GetBlockInfo() returning all info on a block.madmaxoft@gmail.com1-3/+4
2012-10-14Floody fluid simulator now dries up correctly, too.madmaxoft@gmail.com1-0/+4
2012-10-06BlockArea writing support (BlockTypes with BlockMeta only)madmaxoft@gmail.com1-0/+4
2012-10-03Moved blockticking into blockhandler classes.madmaxoft@gmail.com1-4/+3
2012-09-29Beds can be slept in now (it doesn't change the time though)faketruth1-0/+1
2012-09-25Added the block dig animation packet (patch contributed by l0udPL)madmaxoft@gmail.com1-0/+1
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-2/+2
2012-09-11Merged in a patch for sounds by l0udPLmadmaxoft@gmail.com1-0/+1
2012-08-31Progress on the 1.3.2 protocol.madmaxoft@gmail.com1-1/+1
2012-08-29Gotten completely rid of all cPackets. The cProtocol125 class now does all the parsing and writing by itself.madmaxoft@gmail.com1-7/+2
2012-08-26git-svn-id: http://mc-server.googlecode.com/svn/trunk@795 0a769ca7-a7f5-676a-18bf-c427514a06d6madmaxoft@gmail.com1-0/+2
2012-08-25cWorld doesn't use cPackets.madmaxoft@gmail.com1-0/+1
2012-08-25Removed cPackets from cChunk.madmaxoft@gmail.com1-4/+11
2012-08-24cPickup doesn't use cPackets.madmaxoft@gmail.com1-0/+2
2012-08-24Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.madmaxoft@gmail.com1-0/+4
2012-08-19Window, Chest, Furnace and Pawn are not using cPackets at allmadmaxoft@gmail.com1-1/+4
2012-08-19Almost all packets' handling is now rewritten not to use cPacket descendants elsewhere than in cClientHandle.madmaxoft@gmail.com1-0/+6
2012-08-19Another handful of packets rewritten.madmaxoft@gmail.com1-0/+3
2012-07-15A new Block handling system :olapayo94@gmail.com1-1/+0
2012-07-02Leaves decay properly - if they are not connected to a logmadmaxoft@gmail.com1-1/+5
2012-06-17Removed the deprecated GetBlockEntity(), added several enumerators to replace it.madmaxoft@gmail.com1-1/+20
2012-06-17Fixed leaves blockticking - must touch neighboring chunks, too, instead of self at wrong places.madmaxoft@gmail.com1-0/+1
2012-06-16Exported cWorld::ForEachEntity and cWorld::ForEachEntityInChunk; no idea if they actually workmadmaxoft@gmail.com1-1/+4
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-271/+271
2012-06-09Cacti grow by themselves and by bonemealmadmaxoft@gmail.com1-0/+3
2012-06-08Sugarcane grows and can be grown using bonemeal.madmaxoft@gmail.com1-0/+3
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/+3
2012-06-07BlockChecking split into a separate functionmadmaxoft@gmail.com1-1/+4
2012-06-07Repeaters' delays can be set by rclkmadmaxoft@gmail.com1-0/+1
2012-06-06Grass spreads to adjacent dirt blocks. Doesn't check dest light yet.madmaxoft@gmail.com1-0/+1
2012-05-30Added support for SetNextBlockTick() function callable from Luamadmaxoft@gmail.com1-0/+8
2012-05-30Fixed blocktick distributionmadmaxoft@gmail.com1-12/+1
2012-05-30Farmland gets hydrated and dehydrated. Fixed an off-by-one error in neighbor-chunk manipulation.madmaxoft@gmail.com1-0/+1
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-8/+14
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-24/+35
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-2/+3
2012-03-16That didn't work.. I forgot some cChunk functions were changed. Now it should compile againfaketruth1-0/+3
2012-03-14Unified the chunk data to use the BLOCKDATA datatype.madmaxoft@gmail.com1-1/+1
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-168/+47
2012-03-13Small optimizations in the SetNibble() and GetNibble() functions; removed unused lighting functions from cChunkmadmaxoft@gmail.com1-3/+1
2012-03-10Completely integrated the new axis ordering. Will update worlds accordinglyfaketruth1-1/+1
2012-03-10Was using "#else if" which is not valid apparently, now using "#elif"faketruth1-2/+2
2012-03-10You can change axis ordering by setting AXIS_ORDER to AXIS_ORDER_XZY in cChunk.h !THIS WILL SCREW UP YOUR WORLDS THOUGH!faketruth1-13/+22
2012-03-10Using more of the index functions in cChunk, so it should be easy enough to flip the axis ordering nowfaketruth1-4/+31
2012-03-09cClientHandles have a unique ID now to distinguish themfaketruth1-1/+1
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-6/+9
2012-03-04Should have complete support for 256 blocks high worlds. Old save files are converted to new ones at load.faketruth1-1/+1
2012-03-04The world can now truly be made higher by incrementing cChunk::c_ChunkHeight to 256. !!HOWEVER THIS WILL DESTROY YOUR SAVED WORLD!!faketruth1-1/+1
2012-03-04Changed signed char to unsigned char in block packets, so we can receive height up to 255faketruth1-1/+2
2012-03-03Got rid of some hardcoded numbers, now using hardcoded variables! woofaketruth1-4/+6
2012-03-01New redstone simulator. Should work without crashes!faketruth1-0/+1
2012-02-28Server uses ~40% less CPU nowfaketruth1-1/+1
2012-02-28Chunk now has an indicator of load failure; Chunk generator uses cChunkStaymadmaxoft@gmail.com1-0/+3
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/+6
2012-02-23Plain pointer cChunkPtr finishing touches; removed cChunk's critical sectionsmadmaxoft@gmail.com1-14/+5
2012-02-23Made cChunkPtr a plain old pointer again, since it's safe nowmadmaxoft@gmail.com1-1/+1
2012-02-23cChunk: removed unused codemadmaxoft@gmail.com1-2/+0
2012-02-21Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com1-2/+8
2012-02-21Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com1-3/+4
2012-02-20Removed some more cChunkPtr usagemadmaxoft@gmail.com1-2/+24
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-1/+16
2012-02-18Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.madmaxoft@gmail.com1-3/+6
2012-02-18Thread-safe chunk generation, storage and generator are queried for progress while initializing servermadmaxoft@gmail.com1-1/+1
2012-02-17Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com1-2/+12
2012-02-16cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.madmaxoft@gmail.com1-4/+4
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-3/+49
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/+2
2012-02-14Slight cleanup - removed old code, some additional comments on dangerous functionsmadmaxoft@gmail.com1-10/+9
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-36/+93
2012-02-08Removed unused codemadmaxoft@gmail.com1-3/+5
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/+12
2012-01-29Old code begone! ChunkMap cleanupmadmaxoft@gmail.com1-2/+0
2012-01-19Terrain generation is synchronous again, async generation has bugs.faketruth1-2/+2
2012-01-01Fixed the numchunks console command.faketruth1-0/+5
2011-12-31Made a couple of functions in cChunk inline, this should speed up several block operations on chunksfaketruth1-1/+14
2011-12-26 - Linux compatible fixes including updated makefilemtilden@gmail.com1-1/+1
2011-12-26Moved the actual world generation from cChunk.cpp to a more isolated file cWorldGenerator.cppfaketruth1-15/+7
2011-12-26Made some functions in cChunk and cNoise inline, this should significantly increase chunk generation speedfaketruth1-1/+6
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/+1
2011-12-22Digging leaves with shears now drops leaveslapayo94@gmail.com1-0/+2
2011-10-31Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth1-4/+7
2011-10-21Compiles for linuxfaketruth1-1/+2
2011-10-03MCServer c++ source filesfaketruth1-0/+127