From 17e0ade3f4aef14740fb0f738220c077560b0241 Mon Sep 17 00:00:00 2001 From: Hugues Ross Date: Sun, 8 Mar 2020 09:55:51 -0400 Subject: [PATCH] Fix crash when scanning biome data - Cleanup table node definitions a little --- scanner.lua | 4 ++-- table.lua | 52 ++++++++++++++++++---------------------------------- 2 files changed, 20 insertions(+), 36 deletions(-) diff --git a/scanner.lua b/scanner.lua index fb86b9e..8119f49 100644 --- a/scanner.lua +++ b/scanner.lua @@ -179,9 +179,9 @@ function cartographer.scan_regions() return; end - local biome = get_biome(startpos, endpos); + local biome,height = get_biome(startpos, endpos); if biome ~= nil then - register_mapchunk(startpos.x / CHUNK_SIZE, startpos.z / CHUNK_SIZE, biome) + register_mapchunk(startpos.x / CHUNK_SIZE, startpos.z / CHUNK_SIZE, biome, height) end cartographer.scan_queue[len] = nil; diff --git a/table.lua b/table.lua index 454da92..7472acb 100644 --- a/table.lua +++ b/table.lua @@ -360,6 +360,18 @@ minetest.register_on_player_receive_fields(function(player, name, fields) end end); +local function setup_table_node(pos) + local meta = minetest.get_meta(pos); + meta:get_inventory():set_size("input", 1); + meta:get_inventory():set_size("output", 1); + meta:get_inventory():set_size("copy_input", 1); + meta:get_inventory():set_size("copy_output", 1); + + meta:set_int("size", SIZE_SMALL); + meta:set_int("scale", 1); + meta:set_int("detail", 0); +end + minetest.register_node("cartographer:simple_table", { description = "Shabby Cartographer's Table", drawtype = "mesh", @@ -375,16 +387,7 @@ minetest.register_node("cartographer:simple_table", { table_formspec(player:get_player_name(), 1) end, - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos); - meta:get_inventory():set_size("input", 1); - meta:get_inventory():set_size("output", 1); - - meta:set_int("size", SIZE_SMALL); - meta:set_int("detail", 0); - - return res; - end, + after_place_node = setup_table_node, }); minetest.register_node("cartographer:standard_table", { @@ -402,21 +405,13 @@ minetest.register_node("cartographer:standard_table", { table_formspec(player:get_player_name(), 1) end, - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos); - meta:get_inventory():set_size("input", 1); - meta:get_inventory():set_size("output", 1); - meta:get_inventory():set_size("copy_input", 1); - meta:get_inventory():set_size("copy_output", 1); - - meta:set_int("size", SIZE_SMALL); - meta:set_int("detail", 0); - - return res; - end, + after_place_node = setup_table_node, }); minetest.register_node("cartographer:advanced_table", { + description = "Advanced Cartographer's Table", + tiles = { "cartographer_advanced_table.png" }, + paramtype2 = "facedir", groups = { choppy = 2, oddly_breakable_by_hand = 2, @@ -426,18 +421,7 @@ minetest.register_node("cartographer:advanced_table", { table_formspec(player:get_player_name(), 1) end, - after_place_node = function(pos, placer) - local meta = minetest.get_meta(pos); - meta:get_inventory():set_size("input", 1); - meta:get_inventory():set_size("output", 1); - meta:get_inventory():set_size("copy_input", 1); - meta:get_inventory():set_size("copy_output", 1); - - meta:set_int("size", SIZE_SMALL); - meta:set_int("detail", 0); - - return res; - end, + after_place_node = setup_table_node, }); function cartographer.register_map_material_name(name, material, value)