TODO: Players to be saved as text in map/players/<name>\r
TODO: Player inventory to be saved on disk\r
\r
-TODO: Proper handling of spawning place (try to find something that\r
- is not in the middle of an ocean (some land to stand on at\r
- least) and save it in map config.\r
-\r
TODO: Copy the text of the last picked sign to inventory in creative\r
mode\r
\r
TODO: When server sees that client is removing an inexistent block or\r
adding a block to an existent position, resend the MapBlock.\r
\r
-TODO: Generate map from the area the client is looking at\r
+TODO: Save players with inventories to disk\r
+\r
+TODO: Make water more like in minecraft\r
\r
Objects:\r
\r
TODO: Better handling of objects and mobs\r
- Scripting?\r
- - There has to be some way to do it with less spaghetti code\r
+ - There has to be some way to do it with less messy code\r
- Make separate classes for client and server\r
- Client should not discriminate between blocks, server should\r
- Make other players utilize the same framework\r
- This is also needed for objects that don't get sent to client\r
but are used for triggers etc\r
\r
+TODO: There has to be some better way to handle static objects than to\r
+ send them all the time. This affects signs and item objects.\r
SUGG: Signs could be done in the same way as torches. For this, blocks\r
need an additional metadata field for the texts\r
- This is also needed for item container chests\r
-TODO: There has to be some better way to handle static objects than to\r
- send them all the time. This affects signs and item objects.\r
\r
Block object server side:\r
- A "near blocks" buffer, in which some nearby blocks are stored.\r
\r
Map generator:\r
\r
-TODO: There are some lighting-related todos and fixmes in\r
- ServerMap::emergeBlock\r
-\r
-TODO: When generating a block, check that there is no sunlight\r
- below the block if the bottom of the block doesn't have\r
- sunlight. If it has, add it to the invalid lighting list.\r
+NOTE: There are some lighting-related todos and fixmes in\r
+ ServerMap::emergeBlock. And there always will be. 8)\r
\r
TODO: Map generator version 2\r
- Create surface areas based on central points; a given point's\r
If there is a block above, continues from it.
If there is no block above, assumes there is sunlight, unless
- is_underground is set.
+ is_underground is set or highest node is water.
At the moment, all sunlighted nodes are added to light_sources.
- SUGG: This could be optimized
{
no_sunlight = true;
}
-
+ else
+ {
+ MapNode n = getNode(v3s16(x, MAP_BLOCKSIZE-1, z));
+ if(n.d == CONTENT_WATER || n.d == CONTENT_OCEAN)
+ {
+ no_sunlight = true;
+ }
+ }
// NOTE: As of now, it just would make everything dark.
// No sunlight here
//no_sunlight = true;