summaryrefslogtreecommitdiffstats
path: root/source/World.h (unfollow)
Commit message (Expand)AuthorFilesLines
2013-09-15Fixed doxycomments of cWorld plant-growing codemadmaxoft1-5/+10
2013-09-15Removed cWorld deprecated API: SetWorldTime()madmaxoft1-6/+0
2013-09-15Removed obsoleted cWorld functions from the API:madmaxoft1-10/+3
2013-09-15Fixed API bindings of cWorld:GetSignLines(), exported cWorld:UseBlockEntity().madmaxoft1-2/+2
2013-09-15Fixed cWorld bindings for GetBlockInfo() and GetBlockTypeMeta().madmaxoft1-2/+7
2013-09-07Renamed cWorld::DoExplosiontAt() to cWorld::DoExplosionAt()madmaxoft1-2/+2
2013-09-01Exported BroadcastSoundEffect and BroadcastSoundParticleEffect to the Lua APISTRWarrior1-728/+728
2013-08-22Added skeleton code for projectile spawning.madmaxoft1-0/+4
2013-08-21Added cWorld:GetIniFileName() to the Lua API.madmaxoft1-6/+14
2013-08-18Implemented cWorld:QueueSetBlock(), as requested for delayed blocksetting.madmaxoft1-2/+17
2013-08-18Removed SetServerBlock griefing.madmaxoft1-1/+0
2013-08-18Properly fixed piston non-animationTiger Wang1-0/+1
2013-08-16Replaced E_ENTITY_TYPE_XXX with cMonster::mtXXX.madmaxoft1-2/+3
2013-08-15Exported cWorld:DoExplosionAt() to Lua API.madmaxoft1-1/+1
2013-08-14Fixed crashes in world's clientlist manipulatorsmadmaxoft1-0/+6
2013-08-13Exported cWorld:BroadcastChat() to the Lua API; used in the Core.madmaxoft1-2/+2
2013-08-13Clients are now ticked in cServer first, then in cWorld once they get assigned a world.madmaxoft1-2/+14
2013-08-11Added cWorld:QueueSaveAllChunks() function for saving chunks asynchronously.madmaxoft1-2/+36
2013-08-11Each world now ticks in a separate thread.madmaxoft1-1/+8
2013-08-11Moved MaxPlayers and Description from cWorld to cServer.madmaxoft1-16/+22
2013-08-09Added OnExploding() and OnExploded() hooks.madmaxoft1-3/+15
2013-08-05Exported the cWorld:TryGetHeight() functionmadmaxoft1-4/+4
2013-08-05Exported cWorld:DoWithEntityByID() to Lua APImadmaxoft1-1/+1
2013-08-03Added cWorld::DoWithChunk() function.madmaxoft1-0/+3
2013-07-30Tab completion packet is handled and sent.madmaxoft1-0/+3
2013-07-28Added cPlayer::IsGameModeXXX() and cWorld::IsGameModeXXX() functions.madmaxoft1-0/+11
2013-07-07World: More unused variables removed.madmaxoft@gmail.com1-3/+1
2013-07-07World: Removed an unused variablemadmaxoft@gmail.com1-1/+0
2013-07-07Improved function names for protocol packet sending; alpha-sorted the function listsmadmaxoft@gmail.com1-20/+20
2013-07-01Rewritten entity-on-fire management ("forever on fire" bugs)madmaxoft@gmail.com1-1/+1
2013-06-22Added the End height and composition generators.madmaxoft@gmail.com1-7/+0
2013-06-21Dispensers dispense primed TNTmadmaxoft@gmail.com1-2/+2
2013-06-21Simulators are woken up after an explosion.madmaxoft@gmail.com1-3/+7
2013-06-18More TNT fixes.madmaxoft@gmail.com1-0/+3
2013-06-15First attempt at fixing the inter-threading deadlocks between the tick thread and the socket threadmadmaxoft@gmail.com1-0/+13
2013-06-12Added cWorld::SetSignLines(), re-exported to Lua manually to avoid ghost return valuesmadmaxoft@gmail.com1-2/+5
2013-06-09Fixed previous commit.nielsbreu@gmail.com1-2/+2
2013-06-09Added SetTicksUntilWeatherChange/GetTicksUntilWeatherChange. to set/get the amount of ticks before the weather changes. Added SendBlockChange to Lua to create "fake" blocksnielsbreu@gmail.com1-2/+8
2013-05-26Implemented droppersmadmaxoft@gmail.com1-1/+13
2013-05-25Fixed the cWorld:DoWithChestAt(), DoWithDispenserAt() and DoWithFurnaceAt() callbacks binding.madmaxoft@gmail.com1-2/+2
2013-05-09Tiny formatting fix of rev 1463madmaxoft@gmail.com1-5/+3
2013-05-09function SpawnItemPickups is now exported to Lua. Lua is able to create a Items object.nielsbreu@gmail.com1-1/+7
2013-04-18Initial implementation of explosions and TNT blockkeyboard.osh@gmail.com1-0/+3
2013-04-13Proper entity removal functionsmadmaxoft@gmail.com1-4/+3
2013-04-13Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()madmaxoft@gmail.com1-22/+22
2013-04-05Added carrots and potatoes handling, bonemealing and proper lighting.madmaxoft@gmail.com1-2/+4
2013-03-18Added support for the packet #28 (0x1C): ENTITY_VELOCITYkeyboard.osh@gmail.com1-0/+1
2013-03-11Initial nether composition generatormadmaxoft@gmail.com1-5/+15
2013-03-03Player can sit in minecarts (but not move them yet)madmaxoft@gmail.com1-0/+1
2013-03-02Rewritten SandSimulator to use direct chunk access; and sand falling on torches now creates a pickup.madmaxoft@gmail.com1-1/+1
2013-03-01New fire simulator, fully rewritten to the new scheme of things, directly accessing chunk data.madmaxoft@gmail.com1-0/+3
2013-02-28Simulators now have direct access to the cChunk object in the WakeUp() callmadmaxoft@gmail.com1-0/+3
2013-02-13Added HOOK_WEATHER_CHANGING.madmaxoft@gmail.com1-4/+13
2013-02-03Added a GetClassStatic function to all entities, as well as cFurnaceEntity, cChestEntity and cWorldfaketruth1-0/+5
2013-02-01Simplified cWorld::FindAndDoWithPlayer()madmaxoft@gmail.com1-1/+1
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-23/+16
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-21Replaced "const double &" with plain "double" for simplicitymadmaxoft@gmail.com1-5/+7
2012-12-19Added dispensers (they can't dispense items yet)luksor111@gmail.com1-4/+6
2012-11-11Removed an unused obsolete function chain - cWorld::GetChunkBlockData()madmaxoft@gmail.com1-3/+0
2012-11-01Refactored the world time.madmaxoft@gmail.com1-18/+43
2012-10-28Added cWorld:SpawnMob(PosX, PosY, PosZ, EntityType) to Lua APImadmaxoft@gmail.com1-0/+3
2012-10-26Fixed a valgrind warning in BlockDirt.madmaxoft@gmail.com1-2/+2
2012-10-21Top blocks are now snowed over, either normally, or in deep snow (patch contributed by funmaker, Luksor and Sebi)madmaxoft@gmail.com1-0/+2
2012-10-21Added jukeboxes (patch contributed by Luksor)madmaxoft@gmail.com1-22/+23
2012-10-20Made cWorld's block query functions more orthogonal, added GetBlockInfo() returning all info on a block.madmaxoft@gmail.com1-12/+18
2012-10-13Preparation for multiple fluid simulators.madmaxoft@gmail.com1-8/+11
2012-10-13Added delayed ticking to Lua APImadmaxoft@gmail.com1-2/+2
2012-10-10Added an option to disable/enable PVP on a per world basisfaketruth1-0/+2
2012-10-06BlockArea writing support (BlockTypes with BlockMeta only)madmaxoft@gmail.com1-0/+7
2012-10-03Moved blockticking into blockhandler classes.madmaxoft@gmail.com1-1/+7
2012-09-29Beds can be slept in now (it doesn't change the time though)faketruth1-0/+1
2012-09-29Made beds placeablefaketruth1-1/+2
2012-09-25Added the block dig animation packet (patch contributed by l0udPL)madmaxoft@gmail.com1-1/+2
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-3/+3
2012-09-23Source files cleanup: WorldStorage-related files in a separate subfoldermadmaxoft@gmail.com1-1/+1
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/+1
2012-09-02Next iteration on the 1.3.2 protocol. Still no good, but sometimes it just gets through. For your testing pleasures ;)madmaxoft@gmail.com1-3/+3
2012-09-01Added a Player parameter to OnUpdatedSign and OnUpdatingSign Lua callbacks and to the cWorld:UpdateSign method (http://forum.mc-server.org/showthread.php?tid=464&pid=4393#pid4393)madmaxoft@gmail.com1-1/+2
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-2/+2
2012-08-27Cut out all packet handling to a separate cProtocol descendantmadmaxoft@gmail.com1-9/+2
2012-08-26git-svn-id: http://mc-server.googlecode.com/svn/trunk@795 0a769ca7-a7f5-676a-18bf-c427514a06d6madmaxoft@gmail.com1-0/+1
2012-08-25cWorld doesn't use cPackets.madmaxoft@gmail.com1-2/+5
2012-08-24cPickup doesn't use cPackets.madmaxoft@gmail.com1-0/+1
2012-08-24Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.madmaxoft@gmail.com1-0/+7
2012-08-23Added a RateCompareString function to StringUtilsfaketruth1-0/+3
2012-08-19Window, Chest, Furnace and Pawn are not using cPackets at allmadmaxoft@gmail.com1-0/+2
2012-08-19Almost all packets' handling is now rewritten not to use cPacket descendants elsewhere than in cClientHandle.madmaxoft@gmail.com1-0/+7
2012-08-19Another handful of packets rewritten.madmaxoft@gmail.com1-0/+2
2012-08-18Chat packet handled in the new way; fixed missing packet sending for inventory slot.madmaxoft@gmail.com1-1/+3
2012-08-06A bit of cleanup and documentation around the UI window handlingmadmaxoft@gmail.com1-1/+1
2012-08-03Fixed a few gcc pedantic warnings; made BLOCKTYPE an unsigned char type.madmaxoft@gmail.com1-11/+11
2012-07-15A new Block handling system :olapayo94@gmail.com1-3/+18
2012-07-15World threads are stopped before the plugin mgr for clean exit (FS #228)madmaxoft@gmail.com1-1/+4
2012-07-02cBlockArea object added (with only minimal testing so far)madmaxoft@gmail.com1-0/+3
2012-07-02Added the cWorld::DoWithPlayer() function and exported it in the Lua API. Removed the obsolete cWorld::GetPlayer() function.madmaxoft@gmail.com1-3/+3
2012-06-17Removed the deprecated GetBlockEntity(), added several enumerators to replace it.madmaxoft@gmail.com1-5/+23
2012-06-16Exported cWorld::ForEachEntity and cWorld::ForEachEntityInChunk; no idea if they actually workmadmaxoft@gmail.com1-3/+10
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-408/+408
2012-06-13Revamped the weather system.cedeel@gmail.com1-0/+2
2012-06-09Sugarcane and cactus max height can be set in world.ini.madmaxoft@gmail.com1-0/+3
2012-06-09Plants growable by bonemeal are settable in the world.ini. Default matches vanilla MC.madmaxoft@gmail.com1-2/+14
2012-06-09Bonemeal is consumed in survival mode when used on growable blocksmadmaxoft@gmail.com1-2/+2
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/+6
2012-06-07Repeaters' delays can be set by rclkmadmaxoft@gmail.com1-0/+1
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-2/+9
2012-06-02Added Lua function cRoot:ForEachWorld(), removed the obsolete cRoot:GetWorld() method (both C++ and Lua)madmaxoft@gmail.com1-3/+2
2012-05-31cWorld::UnloadUnusedChunks() exported to Luamadmaxoft@gmail.com1-1/+3
2012-05-30Added support for SetNextBlockTick() function callable from Luamadmaxoft@gmail.com1-0/+3
2012-05-30Lua plugins can now query the world for various queue sizes ( http://forum.mc-server.org/showthread.php?tid=432 )madmaxoft@gmail.com1-0/+5
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-6/+2
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-23/+52
2012-04-11Moved the commands /coords /viewdistance and /regeneratechunks from cServer.cpp to the Core pluginfaketruth1-1/+1
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/+4
2012-03-24Reverted the previous commit - it is useless, since entities still depend heavily on cWorldmadmaxoft@gmail.com1-22/+1
2012-03-23Encapsulated 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.com1-1/+22
2012-03-22Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.madmaxoft@gmail.com1-2/+2
2012-03-16Exposed a function to Lua to get a block's sky light valuefaketruth1-1/+2
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-19/+41
2012-03-12Added a flat terrain generator with settable terrain heightmadmaxoft@gmail.com1-0/+2
2012-03-10Fixed a few obsoleted functionsmadmaxoft@gmail.com1-1/+1
2012-03-09cClientHandles have a unique ID now to distinguish themfaketruth1-1/+1
2012-03-07Fixed bug where cPlayer's cClientHandle was used after cPlayer was destroyed http://forum.mc-server.org/showthread.php?tid=380faketruth1-27/+28
2012-03-06Fixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkListsmadmaxoft@gmail.com1-0/+6
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-3/+9
2012-03-03Got rid of some hardcoded numbers, now using hardcoded variables! woofaketruth1-12/+15
2012-03-01New redstone simulator. Should work without crashes!faketruth1-5/+11
2012-02-28Chunk now has an indicator of load failure; Chunk generator uses cChunkStaymadmaxoft@gmail.com1-0/+3
2012-02-28Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;)madmaxoft@gmail.com1-2/+8
2012-02-28Const-correctness for packet broadcasting (fixes GCC compilation)madmaxoft@gmail.com1-1/+1
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/+3
2012-02-23Made the viewdistance settable by users and default in settings.ini. The default is 9.madmaxoft@gmail.com1-6/+0
2012-02-21Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com1-4/+10
2012-02-21Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com1-0/+9
2012-02-20Removed some more cChunkPtr usagemadmaxoft@gmail.com1-1/+15
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-16/+1
2012-02-18Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.madmaxoft@gmail.com1-0/+1
2012-02-18Thread-safe chunk generation, storage and generator are queried for progress while initializing servermadmaxoft@gmail.com1-5/+7
2012-02-16git-svn-id: http://mc-server.googlecode.com/svn/trunk@281 0a769ca7-a7f5-676a-18bf-c427514a06d6faketruth1-1/+1
2012-02-16New server command "unload" to manually unload unused chunksmadmaxoft@gmail.com1-2/+2
2012-02-16cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.madmaxoft@gmail.com1-7/+8
2012-02-16Got rid of dangerous GetEntity(), not using DoWithEntity()faketruth1-5/+3
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/+11
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/+5
2012-02-14Slight cleanup - removed old code, some additional comments on dangerous functionsmadmaxoft@gmail.com1-1/+2
2012-02-14Got rid of cWorld::GetAllPlayers() and implemented ForEachPlayer() more or less in Luafaketruth1-6/+3
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-62/+99
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-5/+19
2012-01-29VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com1-4/+4
2012-01-19Terrain generation is synchronous again, async generation has bugs.faketruth1-6/+7
2012-01-01Fixed the numchunks console command.faketruth1-1/+2
2011-12-28- implemented the fire simulation in native c++ (cFireSimulator)lapayo94@gmail.com1-0/+2
2011-12-27Some kind of 'template' world generator that right now just generates an all dirt world. You can use this to test new algorithmsfaketruth1-2/+4
2011-12-26- improved Simulator system lapayo94@gmail.com1-2/+11
2011-12-26 - Linux compatible fixes including updated makefilemtilden@gmail.com1-0/+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/+1
2011-12-24Max. players and MOTD are now changeable in the settings.inilapayo94@gmail.com1-4/+12
2011-12-22Digging leaves with shears now drops leaveslapayo94@gmail.com1-0/+4
2011-11-10Added random weather that persists per world. Also added SetWeather, GetWeather, and CastThunderbolt to lua bindings.admin@omencraft.com1-1/+6
2011-11-09Redstone 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.com1-0/+6
2011-11-08Fixed world timefaketruth1-0/+3
2011-11-06Patch 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.com1-0/+3
2011-11-02Fixed some "Entity was not found in any chunk!" warningsfaketruth1-1/+1
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-5/+6
2011-10-26Made several recomended changes. Gamemode is now world based. Need to add it to player.admin@omencraft.com1-0/+4
2011-10-03MCServer c++ source filesfaketruth1-0/+158