From 157a4cf18cb9c098f465b8baecd7d2cd5705f2dd Mon Sep 17 00:00:00 2001 From: Kahrl Date: Sat, 21 Jan 2012 00:11:44 +0100 Subject: Node placement / mineral / serialization / iron freq / node_dig callback - Node placement code moved to Lua - Mineral system removed (added default:stone_with_coal and default:stone_with_iron). - MapBlock and MapNode serialization updated. - Mapgen: Frequency of iron increased. - node_dig callback and related changes. --- src/game.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index 7bd5d9587..055320a8e 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -303,6 +303,8 @@ PointedThing getPointedThing(Client *client, v3f player_position, should_show_hilightbox = false; selected_object = NULL; + INodeDefManager *nodedef = client->getNodeDefManager(); + // First try to find a pointed at active object if(look_for_object) { @@ -378,7 +380,7 @@ PointedThing getPointedThing(Client *client, v3f player_position, v3s16(-1,0,0), // left }; - const ContentFeatures &f = client->getNodeDefManager()->get(n); + const ContentFeatures &f = nodedef->get(n); if(f.selection_box.type == NODEBOX_FIXED) { @@ -447,7 +449,7 @@ PointedThing getPointedThing(Client *client, v3f player_position, } else if(f.selection_box.type == NODEBOX_WALLMOUNTED) { - v3s16 dir = unpackDir(n.param2); + v3s16 dir = n.getWallMountedDir(nodedef); v3f dir_f = v3f(dir.X, dir.Y, dir.Z); dir_f *= BS/2 - BS/6 - BS/20; v3f cpf = npf + dir_f; @@ -1827,11 +1829,10 @@ void the_game( MapNode n = client.getNode(nodepos); // Get digging properties for material and tool - content_t material = n.getContent(); + MaterialProperties mp = nodedef->get(n.getContent()).material; ToolDiggingProperties tp = playeritem.getToolDiggingProperties(itemdef); - DiggingProperties prop = - getDiggingProperties(material, &tp, nodedef); + DiggingProperties prop = getDiggingProperties(&mp, &tp); float dig_time_complete = 0.0; -- cgit v1.2.3