mirror of
https://github.com/moparisthebest/minetest
synced 2024-11-11 03:45:01 -05:00
commit before messing with water
This commit is contained in:
parent
3891bc43e0
commit
bd26be262d
22
src/main.cpp
22
src/main.cpp
@ -155,10 +155,6 @@ TODO: - Players to be saved on disk, with inventory
|
|||||||
TODO: Players to be saved as text in map/players/<name>
|
TODO: Players to be saved as text in map/players/<name>
|
||||||
TODO: Player inventory to be saved on disk
|
TODO: Player inventory to be saved on disk
|
||||||
|
|
||||||
TODO: Proper handling of spawning place (try to find something that
|
|
||||||
is not in the middle of an ocean (some land to stand on at
|
|
||||||
least) and save it in map config.
|
|
||||||
|
|
||||||
TODO: Copy the text of the last picked sign to inventory in creative
|
TODO: Copy the text of the last picked sign to inventory in creative
|
||||||
mode
|
mode
|
||||||
|
|
||||||
@ -168,24 +164,26 @@ TODO: Check what goes wrong with caching map to disk (Kray)
|
|||||||
TODO: When server sees that client is removing an inexistent block or
|
TODO: When server sees that client is removing an inexistent block or
|
||||||
adding a block to an existent position, resend the MapBlock.
|
adding a block to an existent position, resend the MapBlock.
|
||||||
|
|
||||||
TODO: Generate map from the area the client is looking at
|
TODO: Save players with inventories to disk
|
||||||
|
|
||||||
|
TODO: Make water more like in minecraft
|
||||||
|
|
||||||
Objects:
|
Objects:
|
||||||
|
|
||||||
TODO: Better handling of objects and mobs
|
TODO: Better handling of objects and mobs
|
||||||
- Scripting?
|
- Scripting?
|
||||||
- There has to be some way to do it with less spaghetti code
|
- There has to be some way to do it with less messy code
|
||||||
- Make separate classes for client and server
|
- Make separate classes for client and server
|
||||||
- Client should not discriminate between blocks, server should
|
- Client should not discriminate between blocks, server should
|
||||||
- Make other players utilize the same framework
|
- Make other players utilize the same framework
|
||||||
- This is also needed for objects that don't get sent to client
|
- This is also needed for objects that don't get sent to client
|
||||||
but are used for triggers etc
|
but are used for triggers etc
|
||||||
|
|
||||||
|
TODO: There has to be some better way to handle static objects than to
|
||||||
|
send them all the time. This affects signs and item objects.
|
||||||
SUGG: Signs could be done in the same way as torches. For this, blocks
|
SUGG: Signs could be done in the same way as torches. For this, blocks
|
||||||
need an additional metadata field for the texts
|
need an additional metadata field for the texts
|
||||||
- This is also needed for item container chests
|
- This is also needed for item container chests
|
||||||
TODO: There has to be some better way to handle static objects than to
|
|
||||||
send them all the time. This affects signs and item objects.
|
|
||||||
|
|
||||||
Block object server side:
|
Block object server side:
|
||||||
- A "near blocks" buffer, in which some nearby blocks are stored.
|
- A "near blocks" buffer, in which some nearby blocks are stored.
|
||||||
@ -200,12 +198,8 @@ Block object server side:
|
|||||||
|
|
||||||
Map generator:
|
Map generator:
|
||||||
|
|
||||||
TODO: There are some lighting-related todos and fixmes in
|
NOTE: There are some lighting-related todos and fixmes in
|
||||||
ServerMap::emergeBlock
|
ServerMap::emergeBlock. And there always will be. 8)
|
||||||
|
|
||||||
TODO: When generating a block, check that there is no sunlight
|
|
||||||
below the block if the bottom of the block doesn't have
|
|
||||||
sunlight. If it has, add it to the invalid lighting list.
|
|
||||||
|
|
||||||
TODO: Map generator version 2
|
TODO: Map generator version 2
|
||||||
- Create surface areas based on central points; a given point's
|
- Create surface areas based on central points; a given point's
|
||||||
|
@ -858,7 +858,7 @@ void MapBlock::updateMesh(u32 daynight_ratio)
|
|||||||
|
|
||||||
If there is a block above, continues from it.
|
If there is a block above, continues from it.
|
||||||
If there is no block above, assumes there is sunlight, unless
|
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.
|
At the moment, all sunlighted nodes are added to light_sources.
|
||||||
- SUGG: This could be optimized
|
- SUGG: This could be optimized
|
||||||
@ -903,7 +903,14 @@ bool MapBlock::propagateSunlight(core::map<v3s16, bool> & light_sources,
|
|||||||
{
|
{
|
||||||
no_sunlight = true;
|
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.
|
// NOTE: As of now, it just would make everything dark.
|
||||||
// No sunlight here
|
// No sunlight here
|
||||||
//no_sunlight = true;
|
//no_sunlight = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user