1
0
Commit Graph

60 Commits

Author SHA1 Message Date
madmaxoft
829cc866cd Added cWorld:QueueSaveAllChunks() function for saving chunks asynchronously.
The cWorld:SaveAllChunks() is therefore deprecated in the API and will be removed soon, use QueueSaveAllChunks() instead.
2013-08-11 21:05:44 +02:00
madmaxoft
4c5590636c Each world now ticks in a separate thread. 2013-08-11 20:16:41 +02:00
madmaxoft
eb9d45e906 Moved MaxPlayers and Description from cWorld to cServer.
Also started creating a new cWorld::cTickThread class, but not used yet.
2013-08-11 19:18:06 +02:00
madmaxoft
d4a3c451c4 Added OnExploding() and OnExploded() hooks.
As requested in FS 413, with extra parameters:
World, BlockX, BlockY, BlockZ, Size, CanCauseFire, Source, SourceData

OnExploding() can return 3 values:
StopHook, CanCauseFire, ExplosionSize
2013-08-09 14:58:43 +02:00
madmaxoft
c0066e7260 Merge branch 'master' into BlockTracing 2013-08-05 16:02:41 +02:00
madmaxoft
73fcd7ad1c Exported the cWorld:TryGetHeight() function 2013-08-05 15:54:10 +02:00
madmaxoft
d83e4369d3 Exported cWorld:DoWithEntityByID() to Lua API 2013-08-05 15:41:24 +02:00
madmaxoft
4f26f11dc7 Added cWorld::DoWithChunk() function.
This will be used by the blocktracers to gain direct access to chunk data.
2013-08-03 20:26:50 +02:00
madmaxoft
e9f18f8b4f Tab completion packet is handled and sent.
This only handles the network comm and the overall design logic, the actual completion is not yet implemented, only dummy values are returned for now.
2013-07-30 22:48:59 +02:00
madmaxoft
d3801c0296 Added cPlayer::IsGameModeXXX() and cWorld::IsGameModeXXX() functions.
These are the preferred way of determining the gamemode, you should use those instead of doing manual comparisons to the gamemode value.
2013-07-28 11:30:54 +02:00
madmaxoft@gmail.com
9214a134ca World: More unused variables removed.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1667 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 20:48:50 +00:00
madmaxoft@gmail.com
3df8cfb091 World: Removed an unused variable
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1666 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 20:41:43 +00:00
madmaxoft@gmail.com
b1d05b0f57 Improved function names for protocol packet sending; alpha-sorted the function lists
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1659 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-07-07 13:06:06 +00:00
madmaxoft@gmail.com
37276a4430 Rewritten entity-on-fire management ("forever on fire" bugs)
Fixes FS #297 and part of FS #403.
Added sizes to all entities.
Moved all damage-related functions from cPawn to cEntity
API change: renamed cPawn:TeleportTo() to cEntity:TeleportToCoords()

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

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1621 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-22 18:41:08 +00:00
madmaxoft@gmail.com
e2281df8d8 Dispensers dispense primed TNT
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1617 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-21 21:19:47 +00:00
madmaxoft@gmail.com
d95756c5cc Simulators are woken up after an explosion.
Fixes FS #391

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1615 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-21 20:47:58 +00:00
madmaxoft@gmail.com
b2138b132c More TNT fixes.
Chain-reaction TNTs are spawned in proper coordinates (FS #390)
Centralized Primed TNT entity spawning and made available to the plugins.
Internal changes for better TNT performance.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1604 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-18 19:09:51 +00:00
madmaxoft@gmail.com
a67760f7c9 First attempt at fixing the inter-threading deadlocks between the tick thread and the socket thread
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1591 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-15 15:29:20 +00:00
madmaxoft@gmail.com
fe3712284e Added cWorld::SetSignLines(), re-exported to Lua manually to avoid ghost return values
FS #364

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1582 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-12 07:14:06 +00:00
nielsbreu@gmail.com
1c1e289b3d Fixed previous commit.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1573 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-09 17:46:40 +00:00
nielsbreu@gmail.com
6835f21b8b Added SetTicksUntilWeatherChange/GetTicksUntilWeatherChange. to set/get the amount of ticks before the weather changes. Added SendBlockChange to Lua to create "fake" blocks
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1572 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-06-09 17:38:10 +00:00
madmaxoft@gmail.com
5c3235ecdc Implemented droppers
Added a common ancestor class "DropSpenser" that has the common code for dropper and dispenser and is Lua-accessible, too. The Debuggers plugin now triggers both droppers and dispensers when rclking them with a redstone torch.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1514 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-26 14:39:04 +00:00
madmaxoft@gmail.com
e3136c2d0f Fixed the cWorld:DoWithChestAt(), DoWithDispenserAt() and DoWithFurnaceAt() callbacks binding.
They are now doing what the comment said they are doing.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1506 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-25 11:57:28 +00:00
madmaxoft@gmail.com
4ac29d4cc5 Tiny formatting fix of rev 1463
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1467 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-09 19:09:27 +00:00
nielsbreu@gmail.com
4e44c4b33a function SpawnItemPickups is now exported to Lua. Lua is able to create a Items object.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1463 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-05-09 14:32:27 +00:00
keyboard.osh@gmail.com
b75fc5f4e8 Initial implementation of explosions and TNT block
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1392 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-18 02:42:45 +00:00
madmaxoft@gmail.com
f5842062d3 Proper entity removal functions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1386 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-13 21:28:55 +00:00
madmaxoft@gmail.com
a49c004278 Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1385 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-13 21:02:10 +00:00
madmaxoft@gmail.com
d397dd263f Added carrots and potatoes handling, bonemealing and proper lighting.
FS #166

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1359 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-05 13:45:00 +00:00
keyboard.osh@gmail.com
8557ed8359 Added support for the packet #28 (0x1C): ENTITY_VELOCITY
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1283 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-18 02:51:55 +00:00
madmaxoft@gmail.com
d2573b84dd Initial nether composition generator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1266 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-11 17:15:34 +00:00
madmaxoft@gmail.com
01b24d73ea Player can sit in minecarts (but not move them yet)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1249 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-03 19:05:11 +00:00
madmaxoft@gmail.com
6744738a85 Rewritten SandSimulator to use direct chunk access; and sand falling on torches now creates a pickup.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1240 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-02 19:57:09 +00:00
madmaxoft@gmail.com
011e11af2c New fire simulator, fully rewritten to the new scheme of things, directly accessing chunk data.
http://forum.mc-server.org/showthread.php?tid=617&pid=6626#pid6626

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1233 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-01 19:35:29 +00:00
madmaxoft@gmail.com
2588f5a605 Simulators now have direct access to the cChunk object in the WakeUp() call
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1227 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-28 07:42:45 +00:00
madmaxoft@gmail.com
8b1a8bee34 Added HOOK_WEATHER_CHANGING.
http://www.mc-server.org/support/index.php?do=details&task_id=299

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1210 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-13 19:22:08 +00:00
faketruth
fdcad8a72d Added a GetClassStatic function to all entities, as well as cFurnaceEntity, cChestEntity and cWorld
Using templates to generate ForEach* functions instead of MACROS
Better error reporting in ForEach* functions

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1191 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-02 23:55:29 +00:00
madmaxoft@gmail.com
0be125aa07 Simplified cWorld::FindAndDoWithPlayer()
It should still work the same - call the callback for the player with the most similar name.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1184 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-01 19:59:58 +00:00
madmaxoft@gmail.com
43e6840719 Merged branch "branches/hooks" into "trunk".
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12 04:46:01 +00:00
luksor111@gmail.com
69107bd54f Fixed slab usage in creative mode
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1112 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-27 15:07:12 +00:00
luksor111@gmail.com
575abe8691 Dispensers can dispense items and liquids now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1105 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-26 17:16:33 +00:00
madmaxoft@gmail.com
ee34d805be Replaced "const double &" with plain "double" for simplicity
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1085 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-21 10:59:59 +00:00
luksor111@gmail.com
05d71675f6 Added dispensers (they can't dispense items yet)
Fixed crash when digging snow
Moved BlockPlace hook check, so Core plugin will no longer block item usage
Player chat messages are now visible in the console

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1081 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-12-19 21:19:36 +00:00
madmaxoft@gmail.com
934d3fe565 Removed an unused obsolete function chain - cWorld::GetChunkBlockData()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1036 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-11 15:06:31 +00:00
madmaxoft@gmail.com
4cebaa99f8 Refactored the world time.
Now it is stored in two values - WorldAge (only incremented, plugins cannot change) and TimeOfDay (plugins can change). Since sub-tick precision is needed in Tick(), we store it both as number of seconds (double) and number of ticks (Int64) is calculated off of that.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1022 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-01 21:38:20 +00:00
madmaxoft@gmail.com
96f7246df1 Added cWorld:SpawnMob(PosX, PosY, PosZ, EntityType) to Lua API
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1014 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-28 14:57:35 +00:00
madmaxoft@gmail.com
403ef6bcdc Fixed a valgrind warning in BlockDirt.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1011 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-26 08:47:30 +00:00
madmaxoft@gmail.com
ba8a5184c8 Top blocks are now snowed over, either normally, or in deep snow (patch contributed by funmaker, Luksor and Sebi)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1000 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-21 21:15:57 +00:00
madmaxoft@gmail.com
3f9e876d70 Added jukeboxes (patch contributed by Luksor)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@994 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-21 07:46:28 +00:00