forked from nalc/nalc_game
		
	Add vessels shelf
This commit is contained in:
		| @@ -1,6 +1,87 @@ | ||||
| -- Minetest 0.4 mod: vessels | ||||
| -- See README.txt for licensing and other information. | ||||
|  | ||||
| local vessels_shelf_formspec = | ||||
| 	"size[8,7;]".. | ||||
| 	default.gui_bg.. | ||||
| 	default.gui_bg_img.. | ||||
| 	default.gui_slots.. | ||||
| 	"list[context;vessels;0,0.3;8,2;]".. | ||||
| 	"list[current_player;main;0,2.85;8,1;]".. | ||||
| 	"list[current_player;main;0,4.08;8,3;8]".. | ||||
| 	default.get_hotbar_bg(0,2.85) | ||||
|  | ||||
| minetest.register_node("vessels:shelf", { | ||||
| 	description = "Vessels shelf", | ||||
| 	tiles = {"default_wood.png", "default_wood.png", "default_wood.png^vessels_shelf.png"}, | ||||
| 	is_ground_content = false, | ||||
| 	groups = {choppy=3,oddly_breakable_by_hand=2,flammable=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		local meta = minetest.get_meta(pos) | ||||
| 		meta:set_string("formspec", vessels_shelf_formspec) | ||||
| 		local inv = meta:get_inventory() | ||||
| 		inv:set_size("vessels", 8*2) | ||||
| 	end, | ||||
| 	can_dig = function(pos,player) | ||||
| 		local meta = minetest.get_meta(pos); | ||||
| 		local inv = meta:get_inventory() | ||||
| 		return inv:is_empty("vessels") | ||||
| 	end, | ||||
|  | ||||
| 	allow_metadata_inventory_put = function(pos, listname, index, stack, player) | ||||
| 		local meta = minetest.get_meta(pos) | ||||
| 		local inv = meta:get_inventory() | ||||
| 		local to_stack = inv:get_stack(listname, index) | ||||
| 		if listname == "vessels" then | ||||
| 			if minetest.get_item_group(stack:get_name(), "vessel") ~= 0 | ||||
| 					and to_stack:is_empty() then | ||||
| 				return 1 | ||||
| 			else | ||||
| 				return 0 | ||||
| 			end | ||||
| 		end | ||||
| 	end, | ||||
|  | ||||
| 	allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) | ||||
| 		local meta = minetest.get_meta(pos) | ||||
| 		local inv = meta:get_inventory() | ||||
| 		local stack = inv:get_stack(from_list, from_index) | ||||
| 		local to_stack = inv:get_stack(to_list, to_index) | ||||
| 		if to_list == "vessels" then | ||||
| 			if minetest.get_item_group(stack:get_name(), "vessel") ~= 0  | ||||
| 					and to_stack:is_empty() then | ||||
| 				return 1 | ||||
| 			else | ||||
| 				return 0 | ||||
| 			end | ||||
| 		end | ||||
| 	end, | ||||
|  | ||||
| 	on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) | ||||
| 		minetest.log("action", player:get_player_name().. | ||||
| 			   " moves stuff in vessels shelf at "..minetest.pos_to_string(pos)) | ||||
| 	end, | ||||
| 	on_metadata_inventory_put = function(pos, listname, index, stack, player) | ||||
| 		minetest.log("action", player:get_player_name().. | ||||
| 			   " moves stuff to vessels shelf at "..minetest.pos_to_string(pos)) | ||||
| 	end, | ||||
| 	on_metadata_inventory_take = function(pos, listname, index, stack, player) | ||||
| 		minetest.log("action", player:get_player_name().. | ||||
| 			   " takes stuff from vessels shelf at "..minetest.pos_to_string(pos)) | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 	output = 'vessels:shelf', | ||||
| 	recipe = { | ||||
| 		{'group:wood', 'group:wood', 'group:wood'}, | ||||
| 		{'group:vessel', 'group:vessel', 'group:vessel'}, | ||||
| 		{'group:wood', 'group:wood', 'group:wood'}, | ||||
| 	} | ||||
| }) | ||||
|  | ||||
| minetest.register_node("vessels:glass_bottle", { | ||||
| 	description = "Glass Bottle (empty)", | ||||
| 	drawtype = "plantlike", | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								mods/vessels/textures/vessels_shelf.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/vessels/textures/vessels_shelf.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 354 B | 
		Reference in New Issue
	
	Block a user