From b21c3d368077aa3a1c42ff1582cda6263c018585 Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Wed, 6 Mar 2019 17:01:02 -0500 Subject: updated cottages, areasprotector, bees, biome_lib, technic, facade, farming redo, homedecor, maptools, mesecons, moreblocks, moreores, pipeworks, quartz, travelnet, unified_inventory, unifieddyes, xban2 delete the playeranim mod, not 5.0.0 compatible. --- travelnet/config.lua | 53 +++++++++++++++++++++++++++++++++++++++++++ travelnet/doors.lua | 9 +++++--- travelnet/elevator.lua | 16 ++++--------- travelnet/init.lua | 51 +++++++++++++++++++++++++++++++++++++++++ travelnet/locale/de.txt | 2 ++ travelnet/locale/template.txt | 2 ++ travelnet/travelnet.lua | 15 ++++-------- 7 files changed, 122 insertions(+), 26 deletions(-) (limited to 'travelnet') diff --git a/travelnet/config.lua b/travelnet/config.lua index 7673833..519e66d 100644 --- a/travelnet/config.lua +++ b/travelnet/config.lua @@ -29,6 +29,59 @@ travelnet.elevator_recipe = { {"default:steel_ingot", "", "default:steel_ingot", }, {"default:steel_ingot", "default:glass", "default:steel_ingot", } } +travelnet.tiles_travelnet = { + "travelnet_travelnet_front.png", -- backward view + "travelnet_travelnet_back.png", -- front view + "travelnet_travelnet_side.png", -- sides :) + "default_steel_block.png", -- view from top + "default_clay.png", -- view from bottom + } +travelnet.tiles_elevator = { + "travelnet_elevator_front.png", + "travelnet_elevator_inside_controls.png", + "travelnet_elevator_sides_outside.png", + "travelnet_elevator_inside_ceiling.png", + "travelnet_elevator_inside_floor.png", + "default_steel_block.png" + } +travelnet.travelnet_inventory_image = "travelnet_inv.png" +travelnet.elevator_inventory_image = "travelnet_elevator_inv.png" + +if( minetest.registered_nodes["mcl_core:wood"]) then + travelnet.travelnet_recipe = { + {"mcl_stairs:slab_wood", "mcl_stairs:slab_wood", "mcl_stairs:slab_wood",}, + {"mesecons_torch:mesecon_torch_on", "mcl_chests:chest", "mesecons_torch:mesecon_torch_on"}, + {"mesecons_torch:mesecon_torch_on", "mcl_chests:chest", "mesecons_torch:mesecon_torch_on"}, +-- {"core:glass", "mcl_core:iron_ingot", "mcl_core:glass", }, +-- {"mcl_core:glass", "mesecons_torch:redstoneblock", "mcl_core:glass", }, +-- {"mcl_core:glass", "mcl_core:iron_ingot", "mcl_core:glass", } + } + travelnet.elevator_recipe = { + {"mcl_stairs:slab_wood", "mcl_stairs:slab_wood", "mcl_stairs:slab_wood",}, + {"mesecons_torch:mesecon_torch_on", "", "mesecons_torch:mesecon_torch_on"}, + {"mesecons_torch:mesecon_torch_on", "", "mesecons_torch:mesecon_torch_on"}, +-- {"mcl_core:iron_ingot", "mcl_core:glass", "mcl_core:iron_ingot", }, +-- {"mcl_core:iron_ingot", "", "mcl_core:iron_ingot", }, +-- {"mcl_core:iron_ingot", "mcl_core:glass", "mcl_core:iron_ingot", } + } + travelnet.tiles_travelnet = { + "default_wood.png^[transformR90", -- backward view + "default_wood.png^[transformR90", -- front view + "default_wood.png^[transformR90", -- sides :) + "default_wood.png^[transformR90", -- view from top + "default_wood.png^[transformR90", -- view from bottom + } + travelnet.tiles_elevator = { + "mcl_core_planks_big_oak.png^[transformR90", -- front + "mcl_core_planks_big_oak.png^[transformR90", -- inside + "mcl_core_planks_big_oak.png^[transformR90", -- sides outside + "mcl_core_planks_big_oak.png^[transformR90", -- inside ceiling + "mcl_core_planks_big_oak.png^[transformR90", -- inside floor + "mcl_core_planks_big_oak.png^[transformR90", -- top + } + travelnet.travelnet_inventory_image = nil + travelnet.elevator_inventory_image = nil +end -- if this function returns true, the player with the name player_name is -- allowed to add a box to the network named network_name, which is owned diff --git a/travelnet/doors.lua b/travelnet/doors.lua index 1ca64c1..c7a3122 100644 --- a/travelnet/doors.lua +++ b/travelnet/doors.lua @@ -92,6 +92,9 @@ travelnet.register_door = function( node_base_name, def_tiles, material ) end -- actually register the doors -travelnet.register_door( "travelnet:elevator_door_steel", {"default_stone.png"}, "default:steel_ingot"); -travelnet.register_door( "travelnet:elevator_door_glass", {"travelnet_elevator_door_glass.png"}, "default:glass"); -travelnet.register_door( "travelnet:elevator_door_tin", {"default_clay.png"}, "default:tin_ingot"); +-- (but only if the materials for them exist) +if( minetest.registered_nodes["default:glass"]) then + travelnet.register_door( "travelnet:elevator_door_steel", {"default_stone.png"}, "default:steel_ingot"); + travelnet.register_door( "travelnet:elevator_door_glass", {"travelnet_elevator_door_glass.png"}, "default:glass"); + travelnet.register_door( "travelnet:elevator_door_tin", {"default_clay.png"}, "default:tin_ingot"); +end diff --git a/travelnet/elevator.lua b/travelnet/elevator.lua index 722a73a..a428845 100644 --- a/travelnet/elevator.lua +++ b/travelnet/elevator.lua @@ -114,16 +114,10 @@ minetest.register_node("travelnet:elevator", { }, }, - tiles = { - "travelnet_elevator_front.png", - "travelnet_elevator_inside_controls.png", - "travelnet_elevator_sides_outside.png", - "travelnet_elevator_inside_ceiling.png", - "travelnet_elevator_inside_floor.png", - "default_steel_block.png" - }, - inventory_image = "travelnet_elevator_inv.png", - groups = {cracky=1,choppy=1,snappy=1}, + tiles = travelnet.tiles_elevator, + + inventory_image = travelnet.elevator_inventory_image, + groups = {}, --cracky=1,choppy=1,snappy=1, light_source = 10, @@ -149,9 +143,7 @@ minetest.register_node("travelnet:elevator", { on_receive_fields = travelnet.on_receive_fields, on_punch = function(pos, node, puncher) - if( not( travelnet.check_if_trying_to_dig( puncher, node ))) then travelnet.update_formspec(pos, puncher:get_player_name()) - end end, can_dig = function( pos, player ) diff --git a/travelnet/init.lua b/travelnet/init.lua index a7aab85..7827a70 100644 --- a/travelnet/init.lua +++ b/travelnet/init.lua @@ -224,6 +224,7 @@ travelnet.reset_formspec = function( meta ) meta:set_string("formspec", "size[10,6.0]".. "label[2.0,0.0;--> "..S("Configure this travelnet station").." <--]".. + "button_exit[8.0,0.0;2.2,0.7;station_dig;"..S("Remove station").."]".. "field[0.3,1.2;9,0.9;station_name;"..S("Name of this station")..":;".. minetest.formspec_escape(station_name or "").."]".. "label[0.3,1.5;"..S("How do you call this place here? Example: \"my first house\", \"mine\", \"shop\"...").."]".. @@ -461,6 +462,7 @@ travelnet.update_formspec = function( pos, puncher_name, fields ) formspec = formspec.. "label[8.0,1.6;"..S("Position in list:").."]".. "button_exit[11.3,0.0;1.0,0.5;station_exit;"..S("Exit").."]".. + "button_exit[10.0,0.5;2.2,0.7;station_dig;"..S("Remove station").."]".. "button[9.6,1.6;1.4,0.5;move_up;"..S("move up").."]".. "button[10.9,1.6;1.4,0.5;move_down;"..S("move down").."]"; @@ -655,6 +657,50 @@ travelnet.on_receive_fields = function(pos, formname, fields, player) return; end + -- the player wants to remove the station + if( fields.station_dig ) then + local owner = meta:get_string( "owner" ); + + local node = minetest.get_node(pos) + local description = "station" + if( node and node.name and node.name == "travelnet:travelnet") then + description = "travelnet box" + elseif( node and node.name and node.name == "travelnet:elevator") then + description = "elevator" + else + minetest.chat_send_player(name, "Error: Unkown node."); + return + end + -- players with travelnet_remove priv can dig the station + if( not(minetest.check_player_privs(name, {travelnet_remove=true})) + -- the function travelnet.allow_dig(..) may allow additional digging + and not(travelnet.allow_dig( name, owner, network_name )) + -- the owner can remove the station + and owner ~= name + -- stations without owner can be removed by anybody + and owner ~= "") then + minetest.chat_send_player(name, S("This %s belongs to %s. You can't remove it."):format(description, tostring( meta:get_string('owner')))); + return + end + + local pinv = player:get_inventory() + if(not(pinv:room_for_item("main", node.name))) then + minetest.chat_send_player(name, S("You do not have enough room in your inventory.")); + return + end + + -- give the player the box + pinv:add_item("main", node.name) + -- remove the box from the data structure + travelnet.remove_box( pos, nil, meta:to_table(), player ); + -- remove the node as such + minetest.remove_node(pos) + return; + end + + + + -- if the box has not been configured yet if( meta:get_string("station_network")=="" ) then @@ -847,7 +893,12 @@ end travelnet.can_dig = function( pos, player, description ) + -- forbid digging of the travelnet + return false; +end +-- obsolete function +travelnet.can_dig_old = function( pos, player, description ) if( not( player )) then return false; end diff --git a/travelnet/locale/de.txt b/travelnet/locale/de.txt index 2675c13..e5f7642 100644 --- a/travelnet/locale/de.txt +++ b/travelnet/locale/de.txt @@ -24,6 +24,8 @@ Owned by: = Besitzer: Unless you know what you are doing, leave this empty. = Wenn du nicht weißt, wozu dieses Feld dient, laß es leer. Help = Hilfe Save = Speichern +Remove station = Station entfernen +You do not have enough room in your inventory. = Du hast nicht genug Platz in deinem Inventar. Update failed! Resetting this box on the travelnet. = Aktualisierung gescheitert. Konfiguration der Reisenetz-Box wird zurückgesetzt. Station '%s' = Station '%s' has been reattached to the network '%s'. = wurde dem Netzwerk '%s' wieder hinzugefügt. diff --git a/travelnet/locale/template.txt b/travelnet/locale/template.txt index 661dbdd..f247861 100644 --- a/travelnet/locale/template.txt +++ b/travelnet/locale/template.txt @@ -24,6 +24,8 @@ Owned by: = Unless you know what you are doing, leave this empty. = Help = Save = +Remove station = +You do not have enough room in your inventory. = Update failed! Resetting this box on the travelnet. = Station '%s' = has been reattached to the network '%s'. = diff --git a/travelnet/travelnet.lua b/travelnet/travelnet.lua index aee7f64..56cbf35 100644 --- a/travelnet/travelnet.lua +++ b/travelnet/travelnet.lua @@ -39,16 +39,11 @@ minetest.register_node("travelnet:travelnet", { }, }, - tiles = { - "travelnet_travelnet_front.png", -- backward view - "travelnet_travelnet_back.png", -- front view - "travelnet_travelnet_side.png", -- sides :) - "default_steel_block.png", -- view from top - "default_clay.png", -- view from bottom - }, - inventory_image = "travelnet_inv.png", + tiles = travelnet.tiles_travelnet, + + inventory_image = travelnet.travelnet_inventory_image, - groups = {cracky=1,choppy=1,snappy=1}, + groups = {}, --cracky=1,choppy=1,snappy=1}, light_source = 10, @@ -60,9 +55,7 @@ minetest.register_node("travelnet:travelnet", { on_receive_fields = travelnet.on_receive_fields, on_punch = function(pos, node, puncher) - if( not( travelnet.check_if_trying_to_dig( puncher, node ))) then travelnet.update_formspec(pos, puncher:get_player_name(), nil) - end end, can_dig = function( pos, player ) -- cgit v1.2.3