summaryrefslogtreecommitdiff
path: root/travelnet
diff options
context:
space:
mode:
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-03-06 17:01:02 -0500
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>2019-03-06 17:01:02 -0500
commitb21c3d368077aa3a1c42ff1582cda6263c018585 (patch)
tree4053ef589ef5c5b99f0a87b567207e8c52cf4c76 /travelnet
parentec25fd83415d0ecb49f41295af3dc30f14850b2f (diff)
downloaddreambuilder_modpack-b21c3d368077aa3a1c42ff1582cda6263c018585.tar
dreambuilder_modpack-b21c3d368077aa3a1c42ff1582cda6263c018585.tar.gz
dreambuilder_modpack-b21c3d368077aa3a1c42ff1582cda6263c018585.tar.bz2
dreambuilder_modpack-b21c3d368077aa3a1c42ff1582cda6263c018585.tar.xz
dreambuilder_modpack-b21c3d368077aa3a1c42ff1582cda6263c018585.zip
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.
Diffstat (limited to 'travelnet')
-rw-r--r--travelnet/config.lua53
-rw-r--r--travelnet/doors.lua9
-rw-r--r--travelnet/elevator.lua16
-rw-r--r--travelnet/init.lua51
-rw-r--r--travelnet/locale/de.txt2
-rw-r--r--travelnet/locale/template.txt2
-rw-r--r--travelnet/travelnet.lua15
7 files changed, 122 insertions, 26 deletions
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 )