mirror of
				https://github.com/luanti-org/minetest_game.git
				synced 2025-10-30 23:25:33 +01:00 
			
		
		
		
	Compare commits
	
		
			46 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 8863527bb6 | ||
|  | fbbc7fc996 | ||
|  | b9dc758fef | ||
|  | 8b3b92dfdf | ||
|  | 07a8067348 | ||
|  | 3a863053c0 | ||
|  | 91ac075cff | ||
|  | fe9cdba0ec | ||
|  | 8d9aa07752 | ||
|  | 34b410319e | ||
|  | 3ea648f5bf | ||
|  | 232cc2bd1c | ||
|  | db632b67bf | ||
|  | 1420376e32 | ||
|  | 9bf64b61c2 | ||
|  | f255e36d78 | ||
|  | d3e26dba18 | ||
|  | 176ddba176 | ||
|  | eac4795326 | ||
|  | da39bae50e | ||
|  | 7e9a54abaf | ||
|  | beb0aefa2d | ||
|  | 1940961d63 | ||
|  | 6e32287a42 | ||
|  | 1082466796 | ||
|  | 258332578a | ||
|  | 150122bfe7 | ||
|  | d04b709181 | ||
|  | c0335e24c9 | ||
|  | f176ba4873 | ||
|  | 5b21d1de34 | ||
|  | 710605687b | ||
|  | 10dce79451 | ||
|  | 0f764bf447 | ||
|  | 00a8bd521a | ||
|  | 2f6d0bf267 | ||
|  | d9f8c6cc43 | ||
|  | 5b1875ef41 | ||
|  | 5017f3b614 | ||
|  | 6fea665fcc | ||
|  | dd71dcbcf6 | ||
|  | f9a9e87af6 | ||
|  | 7caa5d36f2 | ||
|  | 7c1fd9c24e | ||
|  | ef7df329d2 | ||
|  | 6042e963f7 | 
| @@ -3,7 +3,7 @@ allow_defined_top = true | |||||||
|  |  | ||||||
| read_globals = { | read_globals = { | ||||||
| 	"DIR_DELIM", | 	"DIR_DELIM", | ||||||
| 	"minetest", "core", | 	"minetest", | ||||||
| 	"dump", | 	"dump", | ||||||
| 	"vector", | 	"vector", | ||||||
| 	"VoxelManip", "VoxelArea", | 	"VoxelManip", "VoxelArea", | ||||||
| @@ -12,11 +12,16 @@ read_globals = { | |||||||
| 	"Settings", | 	"Settings", | ||||||
| 	"unpack", | 	"unpack", | ||||||
| 	-- Silence errors about custom table methods. | 	-- Silence errors about custom table methods. | ||||||
| 	table = { fields = { "copy", "indexof" } } | 	table = { fields = { "copy", "indexof" } }, | ||||||
|  | 	-- Silence warnings about accessing undefined fields of global 'math' | ||||||
|  | 	math = { fields = { "sign" } } | ||||||
| } | } | ||||||
|  |  | ||||||
| -- Overwrites minetest.handle_node_drops | -- Overwrites minetest.handle_node_drops | ||||||
| files["mods/creative/init.lua"].globals = { "minetest" } | files["mods/creative/init.lua"].globals = { "minetest" } | ||||||
|  |  | ||||||
|  | -- Overwrites minetest.calculate_knockback | ||||||
|  | files["mods/player_api/api.lua"].globals = { "minetest" } | ||||||
|  |  | ||||||
| -- Don't report on legacy definitions of globals. | -- Don't report on legacy definitions of globals. | ||||||
| files["mods/default/legacy.lua"].global = false | files["mods/default/legacy.lua"].global = false | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
									
									
									
									
								
							| @@ -2,8 +2,10 @@ | |||||||
|  |  | ||||||
| The default game bundled in the Minetest engine.   | The default game bundled in the Minetest engine.   | ||||||
|  |  | ||||||
| For further information, check [this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724).    | For further information, check  | ||||||
| Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game) for more information. | [this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724).    | ||||||
|  | Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game)  | ||||||
|  | for more information. | ||||||
|  |  | ||||||
| ## Installation | ## Installation | ||||||
|  |  | ||||||
| @@ -13,8 +15,7 @@ place it in .. minetest/games/ | |||||||
| - GNU/Linux: If you use a system-wide installation place | - GNU/Linux: If you use a system-wide installation place | ||||||
|     it in ~/.minetest/games/. |     it in ~/.minetest/games/. | ||||||
|  |  | ||||||
| The Minetest engine can be found at | The Minetest engine can be found at [GitHub](https://github.com/minetest/minetest). | ||||||
| 	[GitHub](https://github.com/minetest/minetest). |  | ||||||
|  |  | ||||||
| For further information or help, see:   | For further information or help, see:   | ||||||
| https://wiki.minetest.net/Installing_Mods | https://wiki.minetest.net/Installing_Mods | ||||||
| @@ -26,8 +27,8 @@ master HEAD of the Minetest engine. | |||||||
| Additionally, when the Minetest engine is tagged to be a certain version (e.g. | Additionally, when the Minetest engine is tagged to be a certain version (e.g. | ||||||
| 0.4.10), Minetest Game is tagged with the version too. | 0.4.10), Minetest Game is tagged with the version too. | ||||||
|  |  | ||||||
| When stable releases are made, Minetest Game and the Minetest engine is packaged and made available at | When stable releases are made, Minetest Game and the Minetest engine is packaged  | ||||||
| 	https://minetest.net/downloads/ | and made available at [www.minetest.net](https://www.minetest.net/downloads/). | ||||||
|  |  | ||||||
| ## Licensing | ## Licensing | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								game_api.txt
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								game_api.txt
									
									
									
									
									
								
							| @@ -424,7 +424,7 @@ Give Initial Stuff API | |||||||
| Players API | Players API | ||||||
| ----------- | ----------- | ||||||
|  |  | ||||||
| The player API can register player models and update the player's appearence | The player API can register player models and update the player's appearance. | ||||||
|  |  | ||||||
| * `player_api.register_model(name, def)` | * `player_api.register_model(name, def)` | ||||||
| 	* Register a new model to be used by players | 	* Register a new model to be used by players | ||||||
| @@ -457,6 +457,12 @@ The player API can register player models and update the player's appearence | |||||||
| 	* Any of the fields of the returned table may be nil. | 	* Any of the fields of the returned table may be nil. | ||||||
| 	* player: PlayerRef | 	* player: PlayerRef | ||||||
|  |  | ||||||
|  | * `player_api.player_attached` | ||||||
|  | 	* A table that maps a player name to a boolean. | ||||||
|  | 	* If the value for a given player is set to true, the default player | ||||||
|  | 	animations (walking, digging, ...) will no longer be updated. | ||||||
|  | 	Knockback from damage is also prevented for that player. | ||||||
|  |  | ||||||
| ### Model Definition | ### Model Definition | ||||||
|  |  | ||||||
| 	{ | 	{ | ||||||
| @@ -1055,3 +1061,11 @@ for the wielded skeleton key. | |||||||
|  |  | ||||||
| if `nil` is returned, it is assumed that the wielder did not have | if `nil` is returned, it is assumed that the wielder did not have | ||||||
| permissions to create a key for this node, and no key is created. | permissions to create a key for this node, and no key is created. | ||||||
|  |  | ||||||
|  | `default.register_craft_metadata_copy(ingredient, result)` | ||||||
|  | ---------------------------------------------------------- | ||||||
|  |  | ||||||
|  | This function registers a shapeless recipe that takes `ingredient` | ||||||
|  | and `result` as input and outputs `result`. | ||||||
|  |  | ||||||
|  | The metadata of the input `result` is copied to the output `result`. | ||||||
|   | |||||||
| @@ -71,3 +71,7 @@ default:torch 99,default:cobble 99 | |||||||
| # Whether river water source nodes create flowing sounds. | # Whether river water source nodes create flowing sounds. | ||||||
| # Helps rivers create more sound, especially on level sections. | # Helps rivers create more sound, especially on level sections. | ||||||
| #river_source_sounds = false | #river_source_sounds = false | ||||||
|  |  | ||||||
|  | # Enable cloud variation by the 'weather' mod. | ||||||
|  | # Non-functional in V6 or Singlenode mapgens. | ||||||
|  | #enable_weather = true | ||||||
|   | |||||||
| @@ -17,6 +17,8 @@ local function destruct_bed(pos, n) | |||||||
| 		reverse = not reverse | 		reverse = not reverse | ||||||
| 		minetest.remove_node(other) | 		minetest.remove_node(other) | ||||||
| 		minetest.check_for_falling(other) | 		minetest.check_for_falling(other) | ||||||
|  | 		beds.remove_spawns_at(pos) | ||||||
|  | 		beds.remove_spawns_at(other) | ||||||
| 	else | 	else | ||||||
| 		reverse = not reverse | 		reverse = not reverse | ||||||
| 	end | 	end | ||||||
|   | |||||||
| @@ -79,10 +79,10 @@ beds.register_bed("beds:bed", { | |||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
| 	nodebox = { | 	nodebox = { | ||||||
| 		bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, | 		bottom = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5}, | ||||||
| 		top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, | 		top = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5}, | ||||||
| 	}, | 	}, | ||||||
| 	selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, | 	selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.0625, 1.5}, | ||||||
| 	recipe = { | 	recipe = { | ||||||
| 		{"wool:white", "wool:white", "wool:white"}, | 		{"wool:white", "wool:white", "wool:white"}, | ||||||
| 		{"group:wood", "group:wood", "group:wood"} | 		{"group:wood", "group:wood", "group:wood"} | ||||||
|   | |||||||
| @@ -90,7 +90,13 @@ local function lay_down(player, pos, bed_pos, state, skip) | |||||||
| 		local yaw, param2 = get_look_yaw(bed_pos) | 		local yaw, param2 = get_look_yaw(bed_pos) | ||||||
| 		player:set_look_horizontal(yaw) | 		player:set_look_horizontal(yaw) | ||||||
| 		local dir = minetest.facedir_to_dir(param2) | 		local dir = minetest.facedir_to_dir(param2) | ||||||
| 		local p = {x = bed_pos.x + dir.x / 2, y = bed_pos.y, z = bed_pos.z + dir.z / 2} | 		-- p.y is just above the nodebox height of the 'Simple Bed' (the highest bed), | ||||||
|  | 		-- to avoid sinking down through the bed. | ||||||
|  | 		local p = { | ||||||
|  | 			x = bed_pos.x + dir.x / 2, | ||||||
|  | 			y = bed_pos.y + 0.07, | ||||||
|  | 			z = bed_pos.z + dir.z / 2 | ||||||
|  | 		} | ||||||
| 		player:set_physics_override(0, 0, 0) | 		player:set_physics_override(0, 0, 0) | ||||||
| 		player:set_pos(p) | 		player:set_pos(p) | ||||||
| 		default.player_attached[name] = true | 		default.player_attached[name] = true | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
|  |  | ||||||
| -- Load support for MT game translation. | -- Load support for MT game translation. | ||||||
| local S = minetest.get_translator("beds") | local S = minetest.get_translator("beds") | ||||||
|  | local esc = minetest.formspec_escape | ||||||
|  |  | ||||||
| beds = {} | beds = {} | ||||||
| beds.player = {} | beds.player = {} | ||||||
| @@ -14,7 +14,7 @@ beds.get_translator = S | |||||||
| beds.formspec = "size[8,11;true]" .. | beds.formspec = "size[8,11;true]" .. | ||||||
| 	"no_prepend[]" .. | 	"no_prepend[]" .. | ||||||
| 	"bgcolor[#080808BB;true]" .. | 	"bgcolor[#080808BB;true]" .. | ||||||
| 	"button_exit[2,10;4,0.75;leave;" .. S("Leave Bed") .. "]" | 	"button_exit[2,10;4,0.75;leave;" .. esc(S("Leave Bed")) .. "]" | ||||||
|  |  | ||||||
| local modpath = minetest.get_modpath("beds") | local modpath = minetest.get_modpath("beds") | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								mods/beds/locale/beds.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/beds/locale/beds.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: beds | ||||||
|  | Fancy Bed=Katil Beragam | ||||||
|  | Simple Bed=Katil Biasa | ||||||
|  | Leave Bed=Bangun | ||||||
|  | Good morning.=Selamat pagi. | ||||||
|  | @1 of @2 players are in bed=@1 daripada @2 pemain sedang tidur | ||||||
|  | Force night skip=Paksa langkau malam | ||||||
|  | You can only sleep at night.=Anda hanya boleh tidur pada waktu malam. | ||||||
							
								
								
									
										8
									
								
								mods/beds/locale/beds.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/beds/locale/beds.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: beds | ||||||
|  | Fancy Bed=Детализированная Кровать | ||||||
|  | Simple Bed=Обычная Кровать | ||||||
|  | Leave Bed=Встать с кровати | ||||||
|  | Good morning.=Доброе утро. | ||||||
|  | @1 of @2 players are in bed=@1 из @2 игроков в кровати | ||||||
|  | Force night skip=Пропустить ночь | ||||||
|  | You can only sleep at night.=Вы можете спать только ночью. | ||||||
							
								
								
									
										8
									
								
								mods/beds/locale/beds.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/beds/locale/beds.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: beds | ||||||
|  | Fancy Bed=Fin säng | ||||||
|  | Simple Bed=Enkel Säng | ||||||
|  | Leave Bed=Lämna Säng | ||||||
|  | Good morning.= God morgon. | ||||||
|  | @1 of @2 players are in bed=@1 av @2 spelar försöker sover. | ||||||
|  | Force night skip=Tvinga över natten | ||||||
|  | You can only sleep at night.=Du kan bara sova på natten. | ||||||
							
								
								
									
										8
									
								
								mods/beds/locale/beds.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/beds/locale/beds.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: beds | ||||||
|  | Fancy Bed=花式床 | ||||||
|  | Simple Bed=简易床 | ||||||
|  | Leave Bed=离开床 | ||||||
|  | Good morning.=早安! | ||||||
|  | @1 of @2 players are in bed=@2位玩家中的@1位在床上 | ||||||
|  | Force night skip=强制跳过夜晚 | ||||||
|  | You can only sleep at night.=你只能在晚上睡觉。 | ||||||
							
								
								
									
										9
									
								
								mods/beds/locale/beds.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								mods/beds/locale/beds.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | # textdomain: beds | ||||||
|  | Fancy Bed=花式床 | ||||||
|  | Simple Bed=簡易床 | ||||||
|  | Leave Bed=離開床 | ||||||
|  | Good morning.=早安! | ||||||
|  | @1 of @2 players are in bed=@2位玩家中的@1位在床上 | ||||||
|  | Force night skip=強制跳過夜晚 | ||||||
|  | You can only sleep at night.=你只能在晚上睡覺。 | ||||||
|  |  | ||||||
| @@ -61,3 +61,12 @@ function beds.set_spawns() | |||||||
| 	end | 	end | ||||||
| 	beds.save_spawns() | 	beds.save_spawns() | ||||||
| end | end | ||||||
|  |  | ||||||
|  | function beds.remove_spawns_at(pos) | ||||||
|  | 	for name, p in pairs(beds.spawn) do | ||||||
|  | 		if vector.equals(vector.round(p), pos) then | ||||||
|  | 			beds.spawn[name] = nil | ||||||
|  | 		end | ||||||
|  | 	end | ||||||
|  | 	beds.save_spawns() | ||||||
|  | end | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								mods/binoculars/locale/binoculars.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								mods/binoculars/locale/binoculars.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # textdomain: binoculars | ||||||
|  | Binoculars=Binokular | ||||||
|  | Use with 'Zoom' key=Guna dengan kekunci 'Zum' | ||||||
							
								
								
									
										3
									
								
								mods/binoculars/locale/binoculars.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								mods/binoculars/locale/binoculars.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # textdomain: binoculars | ||||||
|  | Binoculars=Бинокль | ||||||
|  | Use with 'Zoom' key=Используется с привилегией 'Zoom' | ||||||
							
								
								
									
										3
									
								
								mods/binoculars/locale/binoculars.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								mods/binoculars/locale/binoculars.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # textdomain: binoculars | ||||||
|  | Binoculars=Kikare | ||||||
|  | Use with 'Zoom' key=Används med 'Zoom' knappen | ||||||
							
								
								
									
										3
									
								
								mods/binoculars/locale/binoculars.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								mods/binoculars/locale/binoculars.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # textdomain: binoculars | ||||||
|  | Binoculars=望远镜 | ||||||
|  | Use with 'Zoom' key=与“缩放”键一起使用 | ||||||
							
								
								
									
										3
									
								
								mods/binoculars/locale/binoculars.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								mods/binoculars/locale/binoculars.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # textdomain: binoculars | ||||||
|  | Binoculars=望遠鏡 | ||||||
|  | Use with 'Zoom' key=與“縮放”鍵一起使用 | ||||||
| @@ -13,15 +13,6 @@ local function is_water(pos) | |||||||
| end | end | ||||||
|  |  | ||||||
|  |  | ||||||
| local function get_sign(i) |  | ||||||
| 	if i == 0 then |  | ||||||
| 		return 0 |  | ||||||
| 	else |  | ||||||
| 		return i / math.abs(i) |  | ||||||
| 	end |  | ||||||
| end |  | ||||||
|  |  | ||||||
|  |  | ||||||
| local function get_velocity(v, yaw, y) | local function get_velocity(v, yaw, y) | ||||||
| 	local x = -math.sin(yaw) * v | 	local x = -math.sin(yaw) * v | ||||||
| 	local z =  math.cos(yaw) * v | 	local z =  math.cos(yaw) * v | ||||||
| @@ -146,7 +137,7 @@ end | |||||||
|  |  | ||||||
|  |  | ||||||
| function boat.on_step(self, dtime) | function boat.on_step(self, dtime) | ||||||
| 	self.v = get_v(self.object:get_velocity()) * get_sign(self.v) | 	self.v = get_v(self.object:get_velocity()) * math.sign(self.v) | ||||||
| 	if self.driver then | 	if self.driver then | ||||||
| 		local driver_objref = minetest.get_player_by_name(self.driver) | 		local driver_objref = minetest.get_player_by_name(self.driver) | ||||||
| 		if driver_objref then | 		if driver_objref then | ||||||
| @@ -157,13 +148,13 @@ function boat.on_step(self, dtime) | |||||||
| 					minetest.chat_send_player(self.driver, S("Boat cruise mode on")) | 					minetest.chat_send_player(self.driver, S("Boat cruise mode on")) | ||||||
| 				end | 				end | ||||||
| 			elseif ctrl.down then | 			elseif ctrl.down then | ||||||
| 				self.v = self.v - dtime * 1.8 | 				self.v = self.v - dtime * 2.0 | ||||||
| 				if self.auto then | 				if self.auto then | ||||||
| 					self.auto = false | 					self.auto = false | ||||||
| 					minetest.chat_send_player(self.driver, S("Boat cruise mode off")) | 					minetest.chat_send_player(self.driver, S("Boat cruise mode off")) | ||||||
| 				end | 				end | ||||||
| 			elseif ctrl.up or self.auto then | 			elseif ctrl.up or self.auto then | ||||||
| 				self.v = self.v + dtime * 1.8 | 				self.v = self.v + dtime * 2.0 | ||||||
| 			end | 			end | ||||||
| 			if ctrl.left then | 			if ctrl.left then | ||||||
| 				if self.v < -0.001 then | 				if self.v < -0.001 then | ||||||
| @@ -185,15 +176,14 @@ function boat.on_step(self, dtime) | |||||||
| 		self.object:set_pos(self.object:get_pos()) | 		self.object:set_pos(self.object:get_pos()) | ||||||
| 		return | 		return | ||||||
| 	end | 	end | ||||||
| 	local s = get_sign(self.v) | 	-- We need to preserve velocity sign to properly apply drag force | ||||||
| 	self.v = self.v - dtime * 0.6 * s | 	-- while moving backward | ||||||
| 	if s ~= get_sign(self.v) then | 	local drag = dtime * math.sign(self.v) * (0.01 + 0.0796 * self.v * self.v) | ||||||
| 		self.object:set_velocity({x = 0, y = 0, z = 0}) | 	-- If drag is larger than velocity, then stop horizontal movement | ||||||
|  | 	if math.abs(self.v) <= math.abs(drag) then | ||||||
| 		self.v = 0 | 		self.v = 0 | ||||||
| 		return | 	else | ||||||
| 	end | 		self.v = self.v - drag | ||||||
| 	if math.abs(self.v) > 5 then |  | ||||||
| 		self.v = 5 * get_sign(self.v) |  | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	local p = self.object:get_pos() | 	local p = self.object:get_pos() | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								mods/boats/locale/boats.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/boats/locale/boats.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: boats | ||||||
|  | Boat cruise mode on=Mod bot layar makan angin dibolehkan | ||||||
|  | Boat cruise mode off=Mod bot layar makan angin dilumpuhkan | ||||||
|  | Boat=Bot | ||||||
							
								
								
									
										4
									
								
								mods/boats/locale/boats.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/boats/locale/boats.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: boats | ||||||
|  | Boat cruise mode on=Режим путешествия на лодке включен | ||||||
|  | Boat cruise mode off=Режим путешествия на лодке выключен | ||||||
|  | Boat=Лодка | ||||||
							
								
								
									
										4
									
								
								mods/boats/locale/boats.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/boats/locale/boats.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: boats | ||||||
|  | Boat cruise mode on=Båtkryssningsläge på | ||||||
|  | Boat cruise mode off=Båtkryssningsläge av | ||||||
|  | Boat=Båt | ||||||
							
								
								
									
										4
									
								
								mods/boats/locale/boats.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/boats/locale/boats.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: boats | ||||||
|  | Boat cruise mode on=巡航模式开启 | ||||||
|  | Boat cruise mode off=巡航模式关闭 | ||||||
|  | Boat=船 | ||||||
							
								
								
									
										4
									
								
								mods/boats/locale/boats.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/boats/locale/boats.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: boats | ||||||
|  | Boat cruise mode on=巡航模式開啟 | ||||||
|  | Boat cruise mode off=巡航模式關閉 | ||||||
|  | Boat=船 | ||||||
							
								
								
									
										8
									
								
								mods/bones/locale/bones.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/bones/locale/bones.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: bones | ||||||
|  | Bones=Tulang | ||||||
|  | @1's old bones=Tulang lama @1 | ||||||
|  | @1 died at @2.=@1 mati di @2. | ||||||
|  | @1 died at @2, and dropped their inventory.=@1 mati di @2, dan menjatuhkan inventorinya. | ||||||
|  | @1 died at @2, and bones were placed.=@1 mati di @2, dan tulang diletakkan. | ||||||
|  | @1's fresh bones=Tulang segar @1 | ||||||
|  | @1's bones=Tulang @1 | ||||||
							
								
								
									
										8
									
								
								mods/bones/locale/bones.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/bones/locale/bones.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: bones | ||||||
|  | Bones=Кости | ||||||
|  | @1's old bones=Старые кости @1 | ||||||
|  | @1 died at @2.=@1 умер в @2. | ||||||
|  | @1 died at @2, and dropped their inventory.=@1 умер в @2 и потерял содержимое своего инвентаря.  | ||||||
|  | @1 died at @2, and bones were placed.=@1 умер в @2, помещены кости. | ||||||
|  | @1's fresh bones=новые кости @1 | ||||||
|  | @1's bones=кости @1 | ||||||
							
								
								
									
										8
									
								
								mods/bones/locale/bones.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/bones/locale/bones.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: bones | ||||||
|  | Bones=Ben | ||||||
|  | @1's old bones=@1s Gamla ben | ||||||
|  | @1 died at @2.=@1 dog på @a. | ||||||
|  | @1 died at @2, and dropped their inventory.=@1 dog på @a, och tappade deras saker. | ||||||
|  | @1 died at @2, and bones were placed.=@1 dog på @2, och deras ben var placerade. | ||||||
|  | @1's fresh bones=@1s färska ben | ||||||
|  | @1's bones=@1s ben | ||||||
							
								
								
									
										8
									
								
								mods/bones/locale/bones.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/bones/locale/bones.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: bones | ||||||
|  | Bones=骨骸 | ||||||
|  | @1's old bones=@1的旧骨骸 | ||||||
|  | @1 died at @2.=@1在@2死亡。 | ||||||
|  | @1 died at @2, and dropped their inventory.=@1在@2死亡,丢掉了物品栏。 | ||||||
|  | @1 died at @2, and bones were placed.=@1在@2死亡,骨骸被放置。 | ||||||
|  | @1's fresh bones=@1的新鲜骨骸 | ||||||
|  | @1's bones=@1的骨骸 | ||||||
							
								
								
									
										8
									
								
								mods/bones/locale/bones.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								mods/bones/locale/bones.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | # textdomain: bones | ||||||
|  | Bones=骨骸 | ||||||
|  | @1's old bones=@1的舊骨骸 | ||||||
|  | @1 died at @2.=@1在@2死亡。 | ||||||
|  | @1 died at @2, and dropped their inventory.=@1在@2死亡,丟掉了物品欄。 | ||||||
|  | @1 died at @2, and bones were placed.=@1在@2死亡,骨骸被放置。 | ||||||
|  | @1's fresh bones=@1的新鮮骨骸 | ||||||
|  | @1's bones=@1的骨骸 | ||||||
| @@ -225,3 +225,16 @@ minetest.register_craft({ | |||||||
| 	replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, | 	replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}}, | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | -- Register buckets as dungeon loot | ||||||
|  | if minetest.global_exists("dungeon_loot") then | ||||||
|  | 	dungeon_loot.register({ | ||||||
|  | 		{name = "bucket:bucket_empty", chance = 0.55}, | ||||||
|  | 		-- water in deserts/ice or above ground, lava otherwise | ||||||
|  | 		{name = "bucket:bucket_water", chance = 0.45, | ||||||
|  | 			types = {"sandstone", "desert", "ice"}}, | ||||||
|  | 		{name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, | ||||||
|  | 			types = {"normal"}}, | ||||||
|  | 		{name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, | ||||||
|  | 			types = {"normal"}}, | ||||||
|  | 	}) | ||||||
|  | end | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								mods/bucket/locale/bucket.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mods/bucket/locale/bucket.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # textdomain: bucket | ||||||
|  | Empty Bucket=Baldi Kosong | ||||||
|  | Water Bucket=Baldi Air | ||||||
|  | River Water Bucket=Baldi Air Sungai | ||||||
|  | Lava Bucket=Baldi Lava | ||||||
							
								
								
									
										5
									
								
								mods/bucket/locale/bucket.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mods/bucket/locale/bucket.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # textdomain: bucket | ||||||
|  | Empty Bucket=Пустое Ведро | ||||||
|  | Water Bucket=Ведро с Водой | ||||||
|  | River Water Bucket=Ведро с Речной Водой | ||||||
|  | Lava Bucket=Ведро с Лавой | ||||||
							
								
								
									
										5
									
								
								mods/bucket/locale/bucket.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mods/bucket/locale/bucket.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # textdomain: bucket | ||||||
|  | Empty Bucket=Tom hink | ||||||
|  | Water Bucket=Vatten hink | ||||||
|  | River Water Bucket=Flodvatten hink | ||||||
|  | Lava Bucket=Lava hink | ||||||
							
								
								
									
										5
									
								
								mods/bucket/locale/bucket.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mods/bucket/locale/bucket.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # textdomain: bucket | ||||||
|  | Empty Bucket=空桶 | ||||||
|  | Water Bucket=水桶 | ||||||
|  | River Water Bucket=河水桶 | ||||||
|  | Lava Bucket=岩浆桶 | ||||||
							
								
								
									
										5
									
								
								mods/bucket/locale/bucket.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								mods/bucket/locale/bucket.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # textdomain: bucket | ||||||
|  | Empty Bucket=空桶 | ||||||
|  | Water Bucket=水桶 | ||||||
|  | River Water Bucket=河水桶 | ||||||
|  | Lava Bucket=岩漿桶 | ||||||
| @@ -1,3 +1,4 @@ | |||||||
| name = bucket | name = bucket | ||||||
| description = Minetest Game mod: bucket | description = Minetest Game mod: bucket | ||||||
| depends = default | depends = default | ||||||
|  | optional_depends = dungeon_loot | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								mods/bucket/textures/bucket.png
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								mods/bucket/textures/bucket.png
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							| Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 205 B | 
| @@ -102,7 +102,7 @@ minetest.register_decoration({ | |||||||
| 	place_offset_y = 2, | 	place_offset_y = 2, | ||||||
| 	sidelen = 80, | 	sidelen = 80, | ||||||
| 	fill_ratio = 0.005, | 	fill_ratio = 0.005, | ||||||
| 	biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, | 	biomes = {"grassland", "deciduous_forest"}, | ||||||
| 	y_max = 31000, | 	y_max = 31000, | ||||||
| 	y_min = 1, | 	y_min = 1, | ||||||
| 	decoration = { | 	decoration = { | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								mods/butterflies/locale/butterflies.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/butterflies/locale/butterflies.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: butterflies | ||||||
|  | White Butterfly=Rama-Rama Putih | ||||||
|  | Red Butterfly=Rama-Rama Merah | ||||||
|  | Violet Butterfly=Rama-Rama Ungu | ||||||
							
								
								
									
										4
									
								
								mods/butterflies/locale/butterflies.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/butterflies/locale/butterflies.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: butterflies | ||||||
|  | White Butterfly=Белая Бабочка | ||||||
|  | Red Butterfly=Красная Бабочка | ||||||
|  | Violet Butterfly=Фиолетовая Бабочка | ||||||
							
								
								
									
										4
									
								
								mods/butterflies/locale/butterflies.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/butterflies/locale/butterflies.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: butterflies | ||||||
|  | White Butterfly=Vit fjäril | ||||||
|  | Red Butterfly=Röd fjäril | ||||||
|  | Violet Butterfly=Violett fjäril | ||||||
							
								
								
									
										4
									
								
								mods/butterflies/locale/butterflies.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/butterflies/locale/butterflies.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: butterflies | ||||||
|  | White Butterfly=白蝴蝶 | ||||||
|  | Red Butterfly=红蝴蝶 | ||||||
|  | Violet Butterfly=紫蝴蝶 | ||||||
							
								
								
									
										4
									
								
								mods/butterflies/locale/butterflies.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								mods/butterflies/locale/butterflies.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: butterflies | ||||||
|  | White Butterfly=白蝴蝶 | ||||||
|  | Red Butterfly=紅蝴蝶 | ||||||
|  | Violet Butterfly=紫蝴蝶 | ||||||
| @@ -414,7 +414,7 @@ minetest.register_craftitem("carts:cart", { | |||||||
| 		end | 		end | ||||||
|  |  | ||||||
| 		minetest.sound_play({name = "default_place_node_metal", gain = 0.5}, | 		minetest.sound_play({name = "default_place_node_metal", gain = 0.5}, | ||||||
| 			{pos = pointed_thing.above}) | 			{pos = pointed_thing.above}, true) | ||||||
|  |  | ||||||
| 		if not (creative and creative.is_enabled_for | 		if not (creative and creative.is_enabled_for | ||||||
| 				and creative.is_enabled_for(placer:get_player_name())) then | 				and creative.is_enabled_for(placer:get_player_name())) then | ||||||
|   | |||||||
| @@ -19,3 +19,10 @@ carts.path_distance_max = 3 | |||||||
| dofile(carts.modpath.."/functions.lua") | dofile(carts.modpath.."/functions.lua") | ||||||
| dofile(carts.modpath.."/rails.lua") | dofile(carts.modpath.."/rails.lua") | ||||||
| dofile(carts.modpath.."/cart_entity.lua") | dofile(carts.modpath.."/cart_entity.lua") | ||||||
|  |  | ||||||
|  | -- Register rails as dungeon loot | ||||||
|  | if minetest.global_exists("dungeon_loot") then | ||||||
|  | 	dungeon_loot.register({ | ||||||
|  | 		name = "carts:rail", chance = 0.35, count = {1, 6} | ||||||
|  | 	}) | ||||||
|  | end | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								mods/carts/locale/carts.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mods/carts/locale/carts.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # textdomain: carts | ||||||
|  | Cart=Pedati | ||||||
|  | (Sneak+Click to pick up)=(Selinap+Klik untuk ambil balik) | ||||||
|  | Rail=Landasan | ||||||
|  | Powered Rail=Landasan Berkuasa | ||||||
|  | Brake Rail=Landasan Brek | ||||||
							
								
								
									
										6
									
								
								mods/carts/locale/carts.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mods/carts/locale/carts.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # textdomain: carts | ||||||
|  | Cart=Вагонетка | ||||||
|  | (Sneak+Click to pick up)=(Пригнитесь и кликните по вагонетке, чтобы забрать) | ||||||
|  | Rail=Рельса | ||||||
|  | Powered Rail=Механизированная Рельса | ||||||
|  | Brake Rail=Рельса с тормозом | ||||||
							
								
								
									
										6
									
								
								mods/carts/locale/carts.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mods/carts/locale/carts.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # textdomain: carts | ||||||
|  | Cart=Vagn | ||||||
|  | (Sneak+Click to pick up)=(Shift+Klicka för att plocka upp) | ||||||
|  | Rail=Räls | ||||||
|  | Powered Rail=Aktiverad räls | ||||||
|  | Brake Rail=Broms räls | ||||||
							
								
								
									
										6
									
								
								mods/carts/locale/carts.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mods/carts/locale/carts.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # textdomain: carts | ||||||
|  | Cart=矿车 | ||||||
|  | (Sneak+Click to pick up)=(潜行+单击以捡起) | ||||||
|  | Rail=铁轨 | ||||||
|  | Powered Rail=动力铁轨 | ||||||
|  | Brake Rail=制动铁轨 | ||||||
							
								
								
									
										6
									
								
								mods/carts/locale/carts.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mods/carts/locale/carts.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | # textdomain: carts | ||||||
|  | Cart=礦車 | ||||||
|  | (Sneak+Click to pick up)=(潛行+單擊以撿起) | ||||||
|  | Rail=鐵軌 | ||||||
|  | Powered Rail=動力鐵軌 | ||||||
|  | Brake Rail=制動鐵軌 | ||||||
| @@ -1,3 +1,4 @@ | |||||||
| name = carts | name = carts | ||||||
| description = Carts (formerly boost_cart) | description = Carts (formerly boost_cart) | ||||||
| depends = default, player_api | depends = default, player_api | ||||||
|  | optional_depends = dungeon_loot | ||||||
|   | |||||||
| @@ -25,7 +25,9 @@ function creative.init_creative_inventory(player) | |||||||
| 	player_inventory[player_name] = { | 	player_inventory[player_name] = { | ||||||
| 		size = 0, | 		size = 0, | ||||||
| 		filter = "", | 		filter = "", | ||||||
| 		start_i = 0 | 		start_i = 0, | ||||||
|  | 		old_filter = nil, -- use only for caching in update_creative_inventory | ||||||
|  | 		old_content = nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	minetest.create_detached_inventory("creative_" .. player_name, { | 	minetest.create_detached_inventory("creative_" .. player_name, { | ||||||
| @@ -59,22 +61,42 @@ function creative.init_creative_inventory(player) | |||||||
| 	return player_inventory[player_name] | 	return player_inventory[player_name] | ||||||
| end | end | ||||||
|  |  | ||||||
|  | local function match(s, filter) | ||||||
|  | 	if filter == "" then | ||||||
|  | 		return 0 | ||||||
|  | 	end | ||||||
|  | 	if s:lower():find(filter, 1, true) then | ||||||
|  | 		return #s - #filter | ||||||
|  | 	end | ||||||
|  | 	return nil | ||||||
|  | end | ||||||
|  |  | ||||||
| function creative.update_creative_inventory(player_name, tab_content) | function creative.update_creative_inventory(player_name, tab_content) | ||||||
| 	local creative_list = {} |  | ||||||
| 	local inv = player_inventory[player_name] or | 	local inv = player_inventory[player_name] or | ||||||
| 			creative.init_creative_inventory(minetest.get_player_by_name(player_name)) | 			creative.init_creative_inventory(minetest.get_player_by_name(player_name)) | ||||||
| 	local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name}) | 	local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name}) | ||||||
|  |  | ||||||
|  | 	if inv.filter == inv.old_filter and tab_content == inv.old_content then | ||||||
|  | 		return | ||||||
|  | 	end | ||||||
|  | 	inv.old_filter = inv.filter | ||||||
|  | 	inv.old_content = tab_content | ||||||
|  |  | ||||||
| 	local items = inventory_cache[tab_content] or init_creative_cache(tab_content) | 	local items = inventory_cache[tab_content] or init_creative_cache(tab_content) | ||||||
|  |  | ||||||
|  | 	local creative_list = {} | ||||||
|  | 	local order = {} | ||||||
| 	for name, def in pairs(items) do | 	for name, def in pairs(items) do | ||||||
| 		if def.name:find(inv.filter, 1, true) or | 		local m = match(def.description, inv.filter) or match(def.name, inv.filter) | ||||||
| 				def.description:lower():find(inv.filter, 1, true) then | 		if m then | ||||||
| 			creative_list[#creative_list+1] = name | 			creative_list[#creative_list+1] = name | ||||||
|  | 			-- Sort by description length first so closer matches appear earlier | ||||||
|  | 			order[name] = string.format("%02d", m) .. name | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	table.sort(creative_list) | 	table.sort(creative_list, function(a, b) return order[a] < order[b] end) | ||||||
|  |  | ||||||
| 	player_inv:set_size("main", #creative_list) | 	player_inv:set_size("main", #creative_list) | ||||||
| 	player_inv:set_list("main", creative_list) | 	player_inv:set_list("main", creative_list) | ||||||
| 	inv.size = #creative_list | 	inv.size = #creative_list | ||||||
| @@ -105,21 +127,20 @@ function creative.register_tab(name, title, items) | |||||||
| 			local player_name = player:get_player_name() | 			local player_name = player:get_player_name() | ||||||
| 			creative.update_creative_inventory(player_name, items) | 			creative.update_creative_inventory(player_name, items) | ||||||
| 			local inv = player_inventory[player_name] | 			local inv = player_inventory[player_name] | ||||||
| 			local start_i = inv.start_i or 0 | 			local pagenum = math.floor(inv.start_i / (4*8) + 1) | ||||||
| 			local pagenum = math.floor(start_i / (3*8) + 1) | 			local pagemax = math.ceil(inv.size / (4*8)) | ||||||
| 			local pagemax = math.ceil(inv.size / (3*8)) |  | ||||||
| 			local esc = minetest.formspec_escape | 			local esc = minetest.formspec_escape | ||||||
| 			return sfinv.make_formspec(player, context, | 			return sfinv.make_formspec(player, context, | ||||||
| 				"label[6.2,3.35;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. | 				"label[5.8,4.15;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. | ||||||
| 				[[ | 				[[ | ||||||
| 					image[4.06,3.4;0.8,0.8;creative_trash_icon.png] | 					image[4.08,4.2;0.8,0.8;creative_trash_icon.png] | ||||||
| 					listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] | 					listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] | ||||||
| 					list[detached:creative_trash;main;4,3.3;1,1;] | 					list[detached:creative_trash;main;4.02,4.1;1,1;] | ||||||
| 					listring[] | 					listring[] | ||||||
| 					image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;] | 					image_button[5,4.05;0.8,0.8;creative_prev_icon.png;creative_prev;] | ||||||
| 					image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;] | 					image_button[7.2,4.05;0.8,0.8;creative_next_icon.png;creative_next;] | ||||||
| 					image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;] | 					image_button[2.63,4.05;0.8,0.8;creative_search_icon.png;creative_search;] | ||||||
| 					image_button[2.75,3.25;0.8,0.8;creative_clear_icon.png;creative_clear;] | 					image_button[3.25,4.05;0.8,0.8;creative_clear_icon.png;creative_clear;] | ||||||
| 				]] .. | 				]] .. | ||||||
| 				"tooltip[creative_search;" .. esc(S("Search")) .. "]" .. | 				"tooltip[creative_search;" .. esc(S("Search")) .. "]" .. | ||||||
| 				"tooltip[creative_clear;" .. esc(S("Reset")) .. "]" .. | 				"tooltip[creative_clear;" .. esc(S("Reset")) .. "]" .. | ||||||
| @@ -127,9 +148,9 @@ function creative.register_tab(name, title, items) | |||||||
| 				"tooltip[creative_next;" .. esc(S("Next page")) .. "]" .. | 				"tooltip[creative_next;" .. esc(S("Next page")) .. "]" .. | ||||||
| 				"listring[current_player;main]" .. | 				"listring[current_player;main]" .. | ||||||
| 				"field_close_on_enter[creative_filter;false]" .. | 				"field_close_on_enter[creative_filter;false]" .. | ||||||
| 				"field[0.3,3.5;2.2,1;creative_filter;;" .. esc(inv.filter) .. "]" .. | 				"field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" .. | ||||||
| 				"listring[detached:creative_" .. player_name .. ";main]" .. | 				"listring[detached:creative_" .. player_name .. ";main]" .. | ||||||
| 				"list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. | 				"list[detached:creative_" .. player_name .. ";main;0,0;8,4;" .. tostring(inv.start_i) .. "]" .. | ||||||
| 				creative.formspec_add, true) | 				creative.formspec_add, true) | ||||||
| 		end, | 		end, | ||||||
| 		on_enter = function(self, player, context) | 		on_enter = function(self, player, context) | ||||||
| @@ -147,27 +168,25 @@ function creative.register_tab(name, title, items) | |||||||
| 			if fields.creative_clear then | 			if fields.creative_clear then | ||||||
| 				inv.start_i = 0 | 				inv.start_i = 0 | ||||||
| 				inv.filter = "" | 				inv.filter = "" | ||||||
| 				creative.update_creative_inventory(player_name, items) |  | ||||||
| 				sfinv.set_player_inventory_formspec(player, context) | 				sfinv.set_player_inventory_formspec(player, context) | ||||||
| 			elseif fields.creative_search or | 			elseif fields.creative_search or | ||||||
| 					fields.key_enter_field == "creative_filter" then | 					fields.key_enter_field == "creative_filter" then | ||||||
| 				inv.start_i = 0 | 				inv.start_i = 0 | ||||||
| 				inv.filter = fields.creative_filter:lower() | 				inv.filter = fields.creative_filter:lower() | ||||||
| 				creative.update_creative_inventory(player_name, items) |  | ||||||
| 				sfinv.set_player_inventory_formspec(player, context) | 				sfinv.set_player_inventory_formspec(player, context) | ||||||
| 			elseif not fields.quit then | 			elseif not fields.quit then | ||||||
| 				local start_i = inv.start_i or 0 | 				local start_i = inv.start_i or 0 | ||||||
|  |  | ||||||
| 				if fields.creative_prev then | 				if fields.creative_prev then | ||||||
| 					start_i = start_i - 3*8 | 					start_i = start_i - 4*8 | ||||||
| 					if start_i < 0 then | 					if start_i < 0 then | ||||||
| 						start_i = inv.size - (inv.size % (3*8)) | 						start_i = inv.size - (inv.size % (4*8)) | ||||||
| 						if inv.size == start_i then | 						if inv.size == start_i then | ||||||
| 							start_i = math.max(0, inv.size - (3*8)) | 							start_i = math.max(0, inv.size - (4*8)) | ||||||
| 						end | 						end | ||||||
| 					end | 					end | ||||||
| 				elseif fields.creative_next then | 				elseif fields.creative_next then | ||||||
| 					start_i = start_i + 3*8 | 					start_i = start_i + 4*8 | ||||||
| 					if start_i >= inv.size then | 					if start_i >= inv.size then | ||||||
| 						start_i = 0 | 						start_i = 0 | ||||||
| 					end | 					end | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								mods/creative/locale/creative.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								mods/creative/locale/creative.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | # textdomain: creative | ||||||
|  | Allow player to use creative inventory=Benarkan pemain menggunakan inventori kreatif | ||||||
|  | Search=Cari | ||||||
|  | Reset=Set semula | ||||||
|  | Previous page=Halaman sebelumnya | ||||||
|  | Next page=Halaman seterusnya | ||||||
|  | All=Semua | ||||||
|  | Nodes=Nod | ||||||
|  | Tools=Alatan | ||||||
|  | Items=Item | ||||||
							
								
								
									
										10
									
								
								mods/creative/locale/creative.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								mods/creative/locale/creative.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | # textdomain: creative | ||||||
|  | Allow player to use creative inventory=Разрешить игроку использовать творческий инвентарь | ||||||
|  | Search=Поиск | ||||||
|  | Reset=Сброс | ||||||
|  | Previous page=Предыдущая страница | ||||||
|  | Next page=Следующая страница | ||||||
|  | All=Всё | ||||||
|  | Nodes=Ноды | ||||||
|  | Tools=Инструменты | ||||||
|  | Items=Предметы | ||||||
							
								
								
									
										10
									
								
								mods/creative/locale/creative.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								mods/creative/locale/creative.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | # textdomain: creative | ||||||
|  | Allow player to use creative inventory=Tilllåt spelare att används kreativa saker | ||||||
|  | Search=Sök | ||||||
|  | Reset=Återställ | ||||||
|  | Previous page=Förra sidan | ||||||
|  | Next page=Nästa sidan | ||||||
|  | All=Alla | ||||||
|  | Nodes=Noder | ||||||
|  | Tools=Verktyg | ||||||
|  | Items=Saker | ||||||
							
								
								
									
										10
									
								
								mods/creative/locale/creative.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								mods/creative/locale/creative.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | # textdomain: creative | ||||||
|  | Allow player to use creative inventory=允许玩家使用创造模式物品栏 | ||||||
|  | Search=搜索 | ||||||
|  | Reset=重置 | ||||||
|  | Previous page=上一页 | ||||||
|  | Next page=下一页 | ||||||
|  | All=所有 | ||||||
|  | Nodes=节点 | ||||||
|  | Tools=工具 | ||||||
|  | Items=物品 | ||||||
							
								
								
									
										10
									
								
								mods/creative/locale/creative.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								mods/creative/locale/creative.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | # textdomain: creative | ||||||
|  | Allow player to use creative inventory=允許玩家使用創造模式物品欄 | ||||||
|  | Search=搜索 | ||||||
|  | Reset=重置 | ||||||
|  | Previous page=上一頁 | ||||||
|  | Next page=下一頁 | ||||||
|  | All=所有 | ||||||
|  | Nodes=節點 | ||||||
|  | Tools=工具 | ||||||
|  | Items=物品 | ||||||
| @@ -123,6 +123,8 @@ paramat (CC BY-SA 3.0): | |||||||
|   default_fence_rail_junglewood |   default_fence_rail_junglewood | ||||||
|   default_fence_rail_pine_wood |   default_fence_rail_pine_wood | ||||||
|   default_fence_rail_wood -- Derived from a texture by BlockMen (CC BY-SA 3.0) |   default_fence_rail_wood -- Derived from a texture by BlockMen (CC BY-SA 3.0) | ||||||
|  |   gui_hotbar.png | ||||||
|  |   gui_hotbar_selected.png | ||||||
|  |  | ||||||
| TumeniNodes (CC BY-SA 3.0): | TumeniNodes (CC BY-SA 3.0): | ||||||
|   default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0) |   default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0) | ||||||
| @@ -150,7 +152,10 @@ BlockMen (CC BY-SA 3.0): | |||||||
|   default_mineral_mese.png |   default_mineral_mese.png | ||||||
|   default_meselamp.png |   default_meselamp.png | ||||||
|   bubble.png |   bubble.png | ||||||
|   gui_*.png |   gui_formbg.png | ||||||
|  |   gui_furnace_arrow_bg.png | ||||||
|  |   gui_furnace_arrow_fg.png | ||||||
|  |   gui_hb_bg.png | ||||||
|  |  | ||||||
| sofar (CC BY-SA 3.0): | sofar (CC BY-SA 3.0): | ||||||
|   default_aspen_sapling |   default_aspen_sapling | ||||||
| @@ -330,6 +335,10 @@ http://freesound.org/people/Ryding/sounds/94337/ | |||||||
| Ferk (CC0 1.0): | Ferk (CC0 1.0): | ||||||
|   default_item_smoke.ogg, based on a sound by http://opengameart.org/users/bart |   default_item_smoke.ogg, based on a sound by http://opengameart.org/users/bart | ||||||
|  |  | ||||||
|  | sonictechtonic (CC BY 3.0): | ||||||
|  | https://www.freesound.org/people/sonictechtonic/sounds/241872/ | ||||||
|  |   player_damage.ogg | ||||||
|  |  | ||||||
|  |  | ||||||
| Models | Models | ||||||
| ------ | ------ | ||||||
|   | |||||||
| @@ -46,7 +46,8 @@ function default.chest.chest_lid_close(pn) | |||||||
| 	local node = minetest.get_node(pos) | 	local node = minetest.get_node(pos) | ||||||
| 	minetest.after(0.2, minetest.swap_node, pos, { name = "default:" .. swap, | 	minetest.after(0.2, minetest.swap_node, pos, { name = "default:" .. swap, | ||||||
| 			param2 = node.param2 }) | 			param2 = node.param2 }) | ||||||
| 	minetest.sound_play(sound, {gain = 0.3, pos = pos, max_hear_distance = 10}) | 	minetest.sound_play(sound, {gain = 0.3, pos = pos, | ||||||
|  | 		max_hear_distance = 10}, true) | ||||||
| end | end | ||||||
|  |  | ||||||
| default.chest.open_chests = {} | default.chest.open_chests = {} | ||||||
| @@ -128,7 +129,7 @@ function default.chest.register_chest(name, d) | |||||||
| 			end | 			end | ||||||
|  |  | ||||||
| 			minetest.sound_play(def.sound_open, {gain = 0.3, | 			minetest.sound_play(def.sound_open, {gain = 0.3, | ||||||
| 					pos = pos, max_hear_distance = 10}) | 					pos = pos, max_hear_distance = 10}, true) | ||||||
| 			if not default.chest.chest_lid_obstructed(pos) then | 			if not default.chest.chest_lid_obstructed(pos) then | ||||||
| 				minetest.swap_node(pos, | 				minetest.swap_node(pos, | ||||||
| 						{ name = "default:" .. name .. "_open", | 						{ name = "default:" .. name .. "_open", | ||||||
| @@ -199,7 +200,7 @@ function default.chest.register_chest(name, d) | |||||||
| 		end | 		end | ||||||
| 		def.on_rightclick = function(pos, node, clicker) | 		def.on_rightclick = function(pos, node, clicker) | ||||||
| 			minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos, | 			minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos, | ||||||
| 					max_hear_distance = 10}) | 					max_hear_distance = 10}, true) | ||||||
| 			if not default.chest.chest_lid_obstructed(pos) then | 			if not default.chest.chest_lid_obstructed(pos) then | ||||||
| 				minetest.swap_node(pos, { | 				minetest.swap_node(pos, { | ||||||
| 						name = "default:" .. name .. "_open", | 						name = "default:" .. name .. "_open", | ||||||
| @@ -318,3 +319,39 @@ default.chest.register_chest("chest_locked", { | |||||||
| 	groups = {choppy = 2, oddly_breakable_by_hand = 2}, | 	groups = {choppy = 2, oddly_breakable_by_hand = 2}, | ||||||
| 	protected = true, | 	protected = true, | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:chest", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"group:wood", "group:wood", "group:wood"}, | ||||||
|  | 		{"group:wood", "", "group:wood"}, | ||||||
|  | 		{"group:wood", "group:wood", "group:wood"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:chest_locked", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"group:wood", "group:wood", "group:wood"}, | ||||||
|  | 		{"group:wood", "default:steel_ingot", "group:wood"}, | ||||||
|  | 		{"group:wood", "group:wood", "group:wood"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft( { | ||||||
|  | 	type = "shapeless", | ||||||
|  | 	output = "default:chest_locked", | ||||||
|  | 	recipe = {"default:chest", "default:steel_ingot"}, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:chest", | ||||||
|  | 	burntime = 30, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:chest_locked", | ||||||
|  | 	burntime = 30, | ||||||
|  | }) | ||||||
|   | |||||||
| @@ -56,13 +56,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:stick 4", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:wood"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:sign_wall_steel 3", | 	output = "default:sign_wall_steel 3", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -81,273 +74,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:torch 4", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:coal_lump"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:pick_wood", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:wood", "group:wood", "group:wood"}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:pick_stone", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:stone", "group:stone", "group:stone"}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:pick_steel", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:pick_bronze", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:pick_mese", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:pick_diamond", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:diamond", "default:diamond", "default:diamond"}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 		{"", "group:stick", ""}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:shovel_wood", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:wood"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:shovel_stone", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:stone"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:shovel_steel", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:steel_ingot"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:shovel_bronze", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:bronze_ingot"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:shovel_mese", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:mese_crystal"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:shovel_diamond", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:diamond"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| -- Axes |  | ||||||
| -- Recipes face left to match appearence in textures and inventory |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:axe_wood", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:wood", "group:wood"}, |  | ||||||
| 		{"group:wood", "group:stick"}, |  | ||||||
| 		{"", "group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:axe_stone", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:stone", "group:stone"}, |  | ||||||
| 		{"group:stone", "group:stick"}, |  | ||||||
| 		{"", "group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:axe_steel", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:steel_ingot", "default:steel_ingot"}, |  | ||||||
| 		{"default:steel_ingot", "group:stick"}, |  | ||||||
| 		{"", "group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:axe_bronze", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:bronze_ingot", "default:bronze_ingot"}, |  | ||||||
| 		{"default:bronze_ingot", "group:stick"}, |  | ||||||
| 		{"", "group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:axe_mese", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:mese_crystal", "default:mese_crystal"}, |  | ||||||
| 		{"default:mese_crystal", "group:stick"}, |  | ||||||
| 		{"", "group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:axe_diamond", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:diamond", "default:diamond"}, |  | ||||||
| 		{"default:diamond", "group:stick"}, |  | ||||||
| 		{"", "group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:sword_wood", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:wood"}, |  | ||||||
| 		{"group:wood"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:sword_stone", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:stone"}, |  | ||||||
| 		{"group:stone"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:sword_steel", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:steel_ingot"}, |  | ||||||
| 		{"default:steel_ingot"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:sword_bronze", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:bronze_ingot"}, |  | ||||||
| 		{"default:bronze_ingot"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:sword_mese", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:mese_crystal"}, |  | ||||||
| 		{"default:mese_crystal"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:sword_diamond", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:diamond"}, |  | ||||||
| 		{"default:diamond"}, |  | ||||||
| 		{"group:stick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:skeleton_key", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:gold_ingot"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:chest", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:wood", "group:wood", "group:wood"}, |  | ||||||
| 		{"group:wood", "", "group:wood"}, |  | ||||||
| 		{"group:wood", "group:wood", "group:wood"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:chest_locked", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:wood", "group:wood", "group:wood"}, |  | ||||||
| 		{"group:wood", "default:steel_ingot", "group:wood"}, |  | ||||||
| 		{"group:wood", "group:wood", "group:wood"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft( { |  | ||||||
| 	type = "shapeless", |  | ||||||
| 	output = "default:chest_locked", |  | ||||||
| 	recipe = {"default:chest", "default:steel_ingot"}, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:furnace", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"group:stone", "group:stone", "group:stone"}, |  | ||||||
| 		{"group:stone", "", "group:stone"}, |  | ||||||
| 		{"group:stone", "group:stone", "group:stone"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:coalblock", | 	output = "default:coalblock", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -357,13 +83,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:coal_lump 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:coalblock"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:steelblock", | 	output = "default:steelblock", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -373,13 +92,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:steel_ingot 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:steelblock"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:copperblock", | 	output = "default:copperblock", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -389,13 +101,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:copper_ingot 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:copperblock"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:tinblock", | 	output = "default:tinblock", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -405,22 +110,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:tin_ingot 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:tinblock"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:bronze_ingot 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, |  | ||||||
| 		{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, |  | ||||||
| 		{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:bronzeblock", | 	output = "default:bronzeblock", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -446,13 +135,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:gold_ingot 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:goldblock"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:diamondblock", | 	output = "default:diamondblock", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -462,13 +144,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:diamond 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:diamondblock"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:sandstone", | 	output = "default:sandstone", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -573,13 +248,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:clay_lump 4", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:clay"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:brick", | 	output = "default:brick", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -588,29 +256,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:clay_brick 4", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:brick"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:paper", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:papyrus", "default:papyrus", "default:papyrus"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:book", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:paper"}, |  | ||||||
| 		{"default:paper"}, |  | ||||||
| 		{"default:paper"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:bookshelf", | 	output = "default:bookshelf", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -647,29 +292,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:mese_crystal 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:mese"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:mese_crystal_fragment 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:mese_crystal"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:mese_crystal", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, |  | ||||||
| 		{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, |  | ||||||
| 		{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:meselamp", | 	output = "default:meselamp", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -687,13 +309,6 @@ minetest.register_craft({ | |||||||
| 	} | 	} | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	output = "default:obsidian_shard 9", |  | ||||||
| 	recipe = { |  | ||||||
| 		{"default:obsidian"} |  | ||||||
| 	} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:obsidian", | 	output = "default:obsidian", | ||||||
| 	recipe = { | 	recipe = { | ||||||
| @@ -833,50 +448,6 @@ minetest.register_craft({ | |||||||
| 	recipe = "default:desert_cobble", | 	recipe = "default:desert_cobble", | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "cooking", |  | ||||||
| 	output = "default:steel_ingot", |  | ||||||
| 	recipe = "default:iron_lump", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "cooking", |  | ||||||
| 	output = "default:copper_ingot", |  | ||||||
| 	recipe = "default:copper_lump", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "cooking", |  | ||||||
| 	output = "default:tin_ingot", |  | ||||||
| 	recipe = "default:tin_lump", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "cooking", |  | ||||||
| 	output = "default:gold_ingot", |  | ||||||
| 	recipe = "default:gold_lump", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "cooking", |  | ||||||
| 	output = "default:clay_brick", |  | ||||||
| 	recipe = "default:clay_lump", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "cooking", |  | ||||||
| 	output = "default:gold_ingot", |  | ||||||
| 	recipe = "default:skeleton_key", |  | ||||||
| 	cooktime = 5, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "cooking", |  | ||||||
| 	output = "default:gold_ingot", |  | ||||||
| 	recipe = "default:key", |  | ||||||
| 	cooktime = 5, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| -- | -- | ||||||
| -- Fuels | -- Fuels | ||||||
| @@ -1005,7 +576,6 @@ minetest.register_craft({ | |||||||
| 	burntime = 7, | 	burntime = 7, | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	type = "fuel", | 	type = "fuel", | ||||||
| 	recipe = "default:fence_aspen_wood", | 	recipe = "default:fence_aspen_wood", | ||||||
| @@ -1067,7 +637,6 @@ minetest.register_craft({ | |||||||
| 	burntime = 7, | 	burntime = 7, | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	type = "fuel", | 	type = "fuel", | ||||||
| 	recipe = "default:bush_stem", | 	recipe = "default:bush_stem", | ||||||
| @@ -1134,36 +703,12 @@ minetest.register_craft({ | |||||||
| 	burntime = 60, | 	burntime = 60, | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:torch", |  | ||||||
| 	burntime = 4, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	type = "fuel", | 	type = "fuel", | ||||||
| 	recipe = "default:sign_wall_wood", | 	recipe = "default:sign_wall_wood", | ||||||
| 	burntime = 10, | 	burntime = 10, | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:chest", |  | ||||||
| 	burntime = 30, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:chest_locked", |  | ||||||
| 	burntime = 30, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:coal_lump", |  | ||||||
| 	burntime = 40, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	type = "fuel", | 	type = "fuel", | ||||||
| 	recipe = "default:coalblock", | 	recipe = "default:coalblock", | ||||||
| @@ -1194,57 +739,8 @@ minetest.register_craft({ | |||||||
| 	burntime = 2, | 	burntime = 2, | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:paper", |  | ||||||
| 	burntime = 1, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:book", |  | ||||||
| 	burntime = 3, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:book_written", |  | ||||||
| 	burntime = 3, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	type = "fuel", | 	type = "fuel", | ||||||
| 	recipe = "default:dry_shrub", | 	recipe = "default:dry_shrub", | ||||||
| 	burntime = 2, | 	burntime = 2, | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "group:stick", |  | ||||||
| 	burntime = 1, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:pick_wood", |  | ||||||
| 	burntime = 6, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:shovel_wood", |  | ||||||
| 	burntime = 4, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:axe_wood", |  | ||||||
| 	burntime = 6, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "fuel", |  | ||||||
| 	recipe = "default:sword_wood", |  | ||||||
| 	burntime = 5, |  | ||||||
| }) |  | ||||||
|   | |||||||
| @@ -3,19 +3,6 @@ | |||||||
| -- support for MT game translation. | -- support for MT game translation. | ||||||
| local S = default.get_translator | local S = default.get_translator | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:stick", { |  | ||||||
| 	description = S("Stick"), |  | ||||||
| 	inventory_image = "default_stick.png", |  | ||||||
| 	groups = {stick = 1, flammable = 2}, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:paper", { |  | ||||||
| 	description = S("Paper"), |  | ||||||
| 	inventory_image = "default_paper.png", |  | ||||||
| 	groups = {flammable = 3}, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| local lpp = 14 -- Lines per book's page | local lpp = 14 -- Lines per book's page | ||||||
| local function book_on_use(itemstack, user) | local function book_on_use(itemstack, user) | ||||||
| 	local player_name = user:get_player_name() | 	local player_name = user:get_player_name() | ||||||
| @@ -158,54 +145,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) | |||||||
| 	player:set_wielded_item(stack) | 	player:set_wielded_item(stack) | ||||||
| end) | end) | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:book", { |  | ||||||
| 	description = S("Book"), |  | ||||||
| 	inventory_image = "default_book.png", |  | ||||||
| 	groups = {book = 1, flammable = 3}, |  | ||||||
| 	on_use = book_on_use, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:book_written", { |  | ||||||
| 	description = S("Book with Text"), |  | ||||||
| 	inventory_image = "default_book_written.png", |  | ||||||
| 	groups = {book = 1, not_in_creative_inventory = 1, flammable = 3}, |  | ||||||
| 	stack_max = 1, |  | ||||||
| 	on_use = book_on_use, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craft({ |  | ||||||
| 	type = "shapeless", |  | ||||||
| 	output = "default:book_written", |  | ||||||
| 	recipe = {"default:book", "default:book_written"} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) |  | ||||||
| 	if itemstack:get_name() ~= "default:book_written" then |  | ||||||
| 		return |  | ||||||
| 	end |  | ||||||
|  |  | ||||||
| 	local original |  | ||||||
| 	local index |  | ||||||
| 	for i = 1, player:get_inventory():get_size("craft") do |  | ||||||
| 		if old_craft_grid[i]:get_name() == "default:book_written" then |  | ||||||
| 			original = old_craft_grid[i] |  | ||||||
| 			index = i |  | ||||||
| 		end |  | ||||||
| 	end |  | ||||||
| 	if not original then |  | ||||||
| 		return |  | ||||||
| 	end |  | ||||||
| 	local copymeta = original:get_meta():to_table() |  | ||||||
| 	-- copy of the book held by player's mouse cursor |  | ||||||
| 	itemstack:get_meta():from_table(copymeta) |  | ||||||
| 	-- put the book with metadata back in the craft grid |  | ||||||
| 	craft_inv:set_stack("craft", index, original) |  | ||||||
| end) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:skeleton_key", { | minetest.register_craftitem("default:skeleton_key", { | ||||||
| 	description = S("Skeleton Key"), | 	description = S("Skeleton Key"), | ||||||
| 	inventory_image = "default_key_skeleton.png", | 	inventory_image = "default_key_skeleton.png", | ||||||
| 	groups = {key = 1}, |  | ||||||
| 	on_use = function(itemstack, user, pointed_thing) | 	on_use = function(itemstack, user, pointed_thing) | ||||||
| 		if pointed_thing.type ~= "node" then | 		if pointed_thing.type ~= "node" then | ||||||
| 			return itemstack | 			return itemstack | ||||||
| @@ -258,91 +200,9 @@ minetest.register_craftitem("default:skeleton_key", { | |||||||
| 	end | 	end | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:coal_lump", { | -- | ||||||
| 	description = S("Coal Lump"), | -- Craftitem registry | ||||||
| 	inventory_image = "default_coal_lump.png", | -- | ||||||
| 	groups = {coal = 1, flammable = 1} |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:iron_lump", { |  | ||||||
| 	description = S("Iron Lump"), |  | ||||||
| 	inventory_image = "default_iron_lump.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:copper_lump", { |  | ||||||
| 	description = S("Copper Lump"), |  | ||||||
| 	inventory_image = "default_copper_lump.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:tin_lump", { |  | ||||||
| 	description = S("Tin Lump"), |  | ||||||
| 	inventory_image = "default_tin_lump.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:mese_crystal", { |  | ||||||
| 	description = S("Mese Crystal"), |  | ||||||
| 	inventory_image = "default_mese_crystal.png", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:gold_lump", { |  | ||||||
| 	description = S("Gold Lump"), |  | ||||||
| 	inventory_image = "default_gold_lump.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:diamond", { |  | ||||||
| 	description = S("Diamond"), |  | ||||||
| 	inventory_image = "default_diamond.png", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:clay_lump", { |  | ||||||
| 	description = S("Clay Lump"), |  | ||||||
| 	inventory_image = "default_clay_lump.png", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:steel_ingot", { |  | ||||||
| 	description = S("Steel Ingot"), |  | ||||||
| 	inventory_image = "default_steel_ingot.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:copper_ingot", { |  | ||||||
| 	description = S("Copper Ingot"), |  | ||||||
| 	inventory_image = "default_copper_ingot.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:tin_ingot", { |  | ||||||
| 	description = S("Tin Ingot"), |  | ||||||
| 	inventory_image = "default_tin_ingot.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:bronze_ingot", { |  | ||||||
| 	description = S("Bronze Ingot"), |  | ||||||
| 	inventory_image = "default_bronze_ingot.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:gold_ingot", { |  | ||||||
| 	description = S("Gold Ingot"), |  | ||||||
| 	inventory_image = "default_gold_ingot.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:mese_crystal_fragment", { |  | ||||||
| 	description = S("Mese Crystal Fragment"), |  | ||||||
| 	inventory_image = "default_mese_crystal_fragment.png", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:clay_brick", { |  | ||||||
| 	description = S("Clay Brick"), |  | ||||||
| 	inventory_image = "default_clay_brick.png", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:obsidian_shard", { |  | ||||||
| 	description = S("Obsidian Shard"), |  | ||||||
| 	inventory_image = "default_obsidian_shard.png", |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:flint", { |  | ||||||
| 	description = S("Flint"), |  | ||||||
| 	inventory_image = "default_flint.png" |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.register_craftitem("default:blueberries", { | minetest.register_craftitem("default:blueberries", { | ||||||
| 	description = S("Blueberries"), | 	description = S("Blueberries"), | ||||||
| @@ -350,3 +210,329 @@ minetest.register_craftitem("default:blueberries", { | |||||||
| 	groups = {food_blueberries = 1, food_berry = 1}, | 	groups = {food_blueberries = 1, food_berry = 1}, | ||||||
| 	on_use = minetest.item_eat(2), | 	on_use = minetest.item_eat(2), | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:book", { | ||||||
|  | 	description = S("Book"), | ||||||
|  | 	inventory_image = "default_book.png", | ||||||
|  | 	groups = {book = 1, flammable = 3}, | ||||||
|  | 	on_use = book_on_use, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:book_written", { | ||||||
|  | 	description = S("Book with Text"), | ||||||
|  | 	inventory_image = "default_book_written.png", | ||||||
|  | 	groups = {book = 1, not_in_creative_inventory = 1, flammable = 3}, | ||||||
|  | 	stack_max = 1, | ||||||
|  | 	on_use = book_on_use, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:bronze_ingot", { | ||||||
|  | 	description = S("Bronze Ingot"), | ||||||
|  | 	inventory_image = "default_bronze_ingot.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:clay_brick", { | ||||||
|  | 	description = S("Clay Brick"), | ||||||
|  | 	inventory_image = "default_clay_brick.png", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:clay_lump", { | ||||||
|  | 	description = S("Clay Lump"), | ||||||
|  | 	inventory_image = "default_clay_lump.png", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:coal_lump", { | ||||||
|  | 	description = S("Coal Lump"), | ||||||
|  | 	inventory_image = "default_coal_lump.png", | ||||||
|  | 	groups = {coal = 1, flammable = 1} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:copper_ingot", { | ||||||
|  | 	description = S("Copper Ingot"), | ||||||
|  | 	inventory_image = "default_copper_ingot.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:copper_lump", { | ||||||
|  | 	description = S("Copper Lump"), | ||||||
|  | 	inventory_image = "default_copper_lump.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:diamond", { | ||||||
|  | 	description = S("Diamond"), | ||||||
|  | 	inventory_image = "default_diamond.png", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:flint", { | ||||||
|  | 	description = S("Flint"), | ||||||
|  | 	inventory_image = "default_flint.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:gold_ingot", { | ||||||
|  | 	description = S("Gold Ingot"), | ||||||
|  | 	inventory_image = "default_gold_ingot.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:gold_lump", { | ||||||
|  | 	description = S("Gold Lump"), | ||||||
|  | 	inventory_image = "default_gold_lump.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:iron_lump", { | ||||||
|  | 	description = S("Iron Lump"), | ||||||
|  | 	inventory_image = "default_iron_lump.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:mese_crystal", { | ||||||
|  | 	description = S("Mese Crystal"), | ||||||
|  | 	inventory_image = "default_mese_crystal.png", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:mese_crystal_fragment", { | ||||||
|  | 	description = S("Mese Crystal Fragment"), | ||||||
|  | 	inventory_image = "default_mese_crystal_fragment.png", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:obsidian_shard", { | ||||||
|  | 	description = S("Obsidian Shard"), | ||||||
|  | 	inventory_image = "default_obsidian_shard.png", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:paper", { | ||||||
|  | 	description = S("Paper"), | ||||||
|  | 	inventory_image = "default_paper.png", | ||||||
|  | 	groups = {flammable = 3}, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:steel_ingot", { | ||||||
|  | 	description = S("Steel Ingot"), | ||||||
|  | 	inventory_image = "default_steel_ingot.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:stick", { | ||||||
|  | 	description = S("Stick"), | ||||||
|  | 	inventory_image = "default_stick.png", | ||||||
|  | 	groups = {stick = 1, flammable = 2}, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:tin_ingot", { | ||||||
|  | 	description = S("Tin Ingot"), | ||||||
|  | 	inventory_image = "default_tin_ingot.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craftitem("default:tin_lump", { | ||||||
|  | 	description = S("Tin Lump"), | ||||||
|  | 	inventory_image = "default_tin_lump.png" | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | -- | ||||||
|  | -- Crafting recipes | ||||||
|  | -- | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:book", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:paper"}, | ||||||
|  | 		{"default:paper"}, | ||||||
|  | 		{"default:paper"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | default.register_craft_metadata_copy("default:book", "default:book_written") | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:bronze_ingot 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, | ||||||
|  | 		{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"}, | ||||||
|  | 		{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:clay_brick 4", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:brick"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:clay_lump 4", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:clay"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:coal_lump 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:coalblock"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:copper_ingot 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:copperblock"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:diamond 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:diamondblock"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:gold_ingot 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:goldblock"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:mese_crystal", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, | ||||||
|  | 		{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, | ||||||
|  | 		{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:mese_crystal 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:mese"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:mese_crystal_fragment 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:mese_crystal"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:obsidian_shard 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:obsidian"} | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:paper", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:papyrus", "default:papyrus", "default:papyrus"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:skeleton_key", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:gold_ingot"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:steel_ingot 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:steelblock"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:stick 4", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"group:wood"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:tin_ingot 9", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:tinblock"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | -- | ||||||
|  | -- Cooking recipes | ||||||
|  | -- | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "cooking", | ||||||
|  | 	output = "default:clay_brick", | ||||||
|  | 	recipe = "default:clay_lump", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "cooking", | ||||||
|  | 	output = "default:copper_ingot", | ||||||
|  | 	recipe = "default:copper_lump", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "cooking", | ||||||
|  | 	output = "default:gold_ingot", | ||||||
|  | 	recipe = "default:gold_lump", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "cooking", | ||||||
|  | 	output = "default:gold_ingot", | ||||||
|  | 	recipe = "default:key", | ||||||
|  | 	cooktime = 5, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "cooking", | ||||||
|  | 	output = "default:gold_ingot", | ||||||
|  | 	recipe = "default:skeleton_key", | ||||||
|  | 	cooktime = 5, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "cooking", | ||||||
|  | 	output = "default:steel_ingot", | ||||||
|  | 	recipe = "default:iron_lump", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "cooking", | ||||||
|  | 	output = "default:tin_ingot", | ||||||
|  | 	recipe = "default:tin_lump", | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | -- | ||||||
|  | -- Fuels | ||||||
|  | -- | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:book", | ||||||
|  | 	burntime = 3, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:book_written", | ||||||
|  | 	burntime = 3, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:coal_lump", | ||||||
|  | 	burntime = 40, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:paper", | ||||||
|  | 	burntime = 1, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "group:stick", | ||||||
|  | 	burntime = 1, | ||||||
|  | }) | ||||||
|   | |||||||
| @@ -141,7 +141,7 @@ default.cool_lava = function(pos, node) | |||||||
| 		minetest.set_node(pos, {name = "default:stone"}) | 		minetest.set_node(pos, {name = "default:stone"}) | ||||||
| 	end | 	end | ||||||
| 	minetest.sound_play("default_cool_lava", | 	minetest.sound_play("default_cool_lava", | ||||||
| 		{pos = pos, max_hear_distance = 16, gain = 0.25}) | 		{pos = pos, max_hear_distance = 16, gain = 0.25}, true) | ||||||
| end | end | ||||||
|  |  | ||||||
| if minetest.settings:get_bool("enable_lavacooling") ~= false then | if minetest.settings:get_bool("enable_lavacooling") ~= false then | ||||||
| @@ -581,6 +581,40 @@ minetest.register_abm({ | |||||||
| 	end | 	end | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | -- | ||||||
|  | -- Register a craft to copy the metadata of items | ||||||
|  | -- | ||||||
|  |  | ||||||
|  | function default.register_craft_metadata_copy(ingredient, result) | ||||||
|  | 	minetest.register_craft({ | ||||||
|  | 		type = "shapeless", | ||||||
|  | 		output = result, | ||||||
|  | 		recipe = {ingredient, result} | ||||||
|  | 	}) | ||||||
|  |  | ||||||
|  | 	minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) | ||||||
|  | 		if itemstack:get_name() ~= result then | ||||||
|  | 			return | ||||||
|  | 		end | ||||||
|  |  | ||||||
|  | 		local original | ||||||
|  | 		local index | ||||||
|  | 		for i = 1, #old_craft_grid do | ||||||
|  | 			if old_craft_grid[i]:get_name() == result then | ||||||
|  | 				original = old_craft_grid[i] | ||||||
|  | 				index = i | ||||||
|  | 			end | ||||||
|  | 		end | ||||||
|  | 		if not original then | ||||||
|  | 			return | ||||||
|  | 		end | ||||||
|  | 		local copymeta = original:get_meta():to_table() | ||||||
|  | 		itemstack:get_meta():from_table(copymeta) | ||||||
|  | 		-- put the book with metadata back in the craft grid | ||||||
|  | 		craft_inv:set_stack("craft", index, original) | ||||||
|  | 	end) | ||||||
|  | end | ||||||
|  |  | ||||||
|  |  | ||||||
| -- | -- | ||||||
| -- NOTICE: This method is not an official part of the API yet. | -- NOTICE: This method is not an official part of the API yet. | ||||||
| @@ -605,7 +639,7 @@ function default.can_interact_with_node(player, pos) | |||||||
|  |  | ||||||
| 	-- Is player wielding the right key? | 	-- Is player wielding the right key? | ||||||
| 	local item = player:get_wielded_item() | 	local item = player:get_wielded_item() | ||||||
| 	if item:get_name() == "default:key" then | 	if minetest.get_item_group(item:get_name(), "key") == 1 then | ||||||
| 		local key_meta = item:get_meta() | 		local key_meta = item:get_meta() | ||||||
|  |  | ||||||
| 		if key_meta:get_string("secret") == "" then | 		if key_meta:get_string("secret") == "" then | ||||||
|   | |||||||
| @@ -352,3 +352,12 @@ minetest.register_node("default:furnace_active", { | |||||||
| 	allow_metadata_inventory_move = allow_metadata_inventory_move, | 	allow_metadata_inventory_move = allow_metadata_inventory_move, | ||||||
| 	allow_metadata_inventory_take = allow_metadata_inventory_take, | 	allow_metadata_inventory_take = allow_metadata_inventory_take, | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:furnace", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"group:stone", "group:stone", "group:stone"}, | ||||||
|  | 		{"group:stone", "", "group:stone"}, | ||||||
|  | 		{"group:stone", "group:stone", "group:stone"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|   | |||||||
| @@ -14,11 +14,22 @@ default.get_translator = S | |||||||
|  |  | ||||||
| -- GUI related stuff | -- GUI related stuff | ||||||
| minetest.register_on_joinplayer(function(player) | minetest.register_on_joinplayer(function(player) | ||||||
| 	player:set_formspec_prepend([[ | 	-- Set formspec prepend | ||||||
|  | 	local formspec = [[ | ||||||
| 			bgcolor[#080808BB;true] | 			bgcolor[#080808BB;true] | ||||||
| 			background[5,5;1,1;gui_formbg.png;true] | 			listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]] | ||||||
| 			background9[5,5;1,1;gui_formbg.png;true;10] | 	local name = player:get_player_name() | ||||||
| 			listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]) | 	local info = minetest.get_player_information(name) | ||||||
|  | 	if info.formspec_version > 1 then | ||||||
|  | 		formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]" | ||||||
|  | 	else | ||||||
|  | 		formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]" | ||||||
|  | 	end | ||||||
|  | 	player:set_formspec_prepend(formspec) | ||||||
|  |  | ||||||
|  | 	-- Set hotbar textures | ||||||
|  | 	player:hud_set_hotbar_image("gui_hotbar.png") | ||||||
|  | 	player:hud_set_hotbar_selected_image("gui_hotbar_selected.png") | ||||||
| end) | end) | ||||||
|  |  | ||||||
| function default.get_hotbar_bg(x,y) | function default.get_hotbar_bg(x,y) | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ local item = { | |||||||
| 		minetest.sound_play("default_item_smoke", { | 		minetest.sound_play("default_item_smoke", { | ||||||
| 			pos = p, | 			pos = p, | ||||||
| 			max_hear_distance = 8, | 			max_hear_distance = 8, | ||||||
| 		}) | 		}, true) | ||||||
| 		minetest.add_particlespawner({ | 		minetest.add_particlespawner({ | ||||||
| 			amount = 3, | 			amount = 3, | ||||||
| 			time = 0.1, | 			time = 0.1, | ||||||
|   | |||||||
							
								
								
									
										211
									
								
								mods/default/locale/default.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								mods/default/locale/default.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,211 @@ | |||||||
|  | # textdomain: default | ||||||
|  | Locked Chest=Peti Berkunci | ||||||
|  | Locked Chest (owned by @1)=Peti Berkunci (milik @1) | ||||||
|  | You do not own this chest.=Ini bukan peti milik anda. | ||||||
|  | a locked chest=peti berkunci | ||||||
|  | Chest=Peti | ||||||
|  | Stick=Serpihan Kayu | ||||||
|  | Paper=Kertas | ||||||
|  | "@1" by @2="@1" oleh @2 | ||||||
|  | Book=Buku | ||||||
|  | Book with Text=Buku Bertulisan | ||||||
|  | Skeleton Key=Kunci Induk | ||||||
|  | Key to @1's @2=Kunci @2 milik @1 | ||||||
|  | Coal Lump=Longgokan Batu Arang | ||||||
|  | Iron Lump=Longgokan Besi | ||||||
|  | Copper Lump=Longgokan Tembaga | ||||||
|  | Tin Lump=Longgokan Timah | ||||||
|  | Mese Crystal=Kristal Mese | ||||||
|  | Gold Lump=Longgokan Emas | ||||||
|  | Diamond=Berlian | ||||||
|  | Clay Lump=Longgokan Tanah Liat | ||||||
|  | Steel Ingot=Jongkong Keluli | ||||||
|  | Copper Ingot=Jongkong Tembaga | ||||||
|  | Tin Ingot=Jongkong Timah | ||||||
|  | Bronze Ingot=Jongkong Gangsa | ||||||
|  | Gold Ingot=Jongkong Emas | ||||||
|  | Mese Crystal Fragment=Serpihan Mese | ||||||
|  | Clay Brick=Bata Tanah Liat | ||||||
|  | Obsidian Shard=Serpihan Obsidia | ||||||
|  | Flint=Batu Api | ||||||
|  | Blueberries=Beri Biru | ||||||
|  | Furnace is empty=Relau masih kosong | ||||||
|  | 100% (output full)=100% (keluaran penuh) | ||||||
|  | @1%=@1% | ||||||
|  | Empty=Kosong | ||||||
|  | Not cookable=Tidak boleh dimasak | ||||||
|  | Furnace active=Relau aktif | ||||||
|  | Furnace inactive=Relau tidak aktif | ||||||
|  | (Item: @1; Fuel: @2)=(Item: @1; Bahan api: @2) | ||||||
|  | Furnace=Relau | ||||||
|  | Stone=Batu | ||||||
|  | Cobblestone=Batu Buntar | ||||||
|  | Stone Brick=Bata Batu | ||||||
|  | Stone Block=Bongkah Batu | ||||||
|  | Mossy Cobblestone=Batu Buntar Berlumut | ||||||
|  | Desert Stone=Batu Gurun | ||||||
|  | Desert Cobblestone=Batu Buntar Gurun | ||||||
|  | Desert Stone Brick=Bata Batu Gurun | ||||||
|  | Desert Stone Block=Bongkah Batu Gurun | ||||||
|  | Sandstone=Batu Pasir | ||||||
|  | Sandstone Brick=Bata Batu Pasir | ||||||
|  | Sandstone Block=Bongkah Batu Pasir | ||||||
|  | Desert Sandstone=Batu Pasir Gurun | ||||||
|  | Desert Sandstone Brick=Bata Batu Pasir Gurun | ||||||
|  | Desert Sandstone Block=Bongkah Batu Pasir Gurun | ||||||
|  | Silver Sandstone=Batu Pasir Perak | ||||||
|  | Silver Sandstone Brick=Bata Batu Pasir Perak | ||||||
|  | Silver Sandstone Block=Bongkah Batu Pasir Perak | ||||||
|  | Obsidian=Obsidia | ||||||
|  | Obsidian Brick=Bata Obsidia | ||||||
|  | Obsidian Block=Bongkah Obsidia | ||||||
|  | Dirt=Tanah | ||||||
|  | Dirt with Grass=Tanah Berumput | ||||||
|  | Dirt with Grass and Footsteps=Tanah Berumput dan Tapak Kaki | ||||||
|  | Dirt with Dry Grass=Tanah Berumput Kering | ||||||
|  | Dirt with Snow=Tanah Bersalji | ||||||
|  | Dirt with Rainforest Litter=Tanah Bersarap Hutan Hujan | ||||||
|  | Dirt with Coniferous Litter=Tanah Bersarap Hutan Konifer | ||||||
|  | Dry Dirt=Tanah Kering | ||||||
|  | Dry Dirt with Dry Grass=Tanah Kering Berumput Kering | ||||||
|  | Permafrost=Ibun Abadi | ||||||
|  | Permafrost with Stones=Ibun Abadi Berbatu | ||||||
|  | Permafrost with Moss=Ibun Abadi Berlumut | ||||||
|  | Sand=Pasir | ||||||
|  | Desert Sand=Pasir Gurun | ||||||
|  | Silver Sand=Pasir Perak | ||||||
|  | Gravel=Kelikir | ||||||
|  | Clay=Tanah Liat | ||||||
|  | Snow=Salji | ||||||
|  | Snow Block=Bongkah Salji | ||||||
|  | Ice=Ais | ||||||
|  | Cave Ice=Ais Gua | ||||||
|  | Apple Tree=Kayu Pokok Epal | ||||||
|  | Apple Wood Planks=Papan Kayu Epal | ||||||
|  | Apple Tree Sapling=Anak Pokok Epal | ||||||
|  | Apple Tree Leaves=Daun Pokok Epal | ||||||
|  | Apple=Epal | ||||||
|  | Apple Marker=Penanda Epal | ||||||
|  | Jungle Tree=Kayu Pokok Hutan | ||||||
|  | Jungle Wood Planks=Papan Kayu Hutan | ||||||
|  | Jungle Tree Leaves=Daun Pokok Hutan | ||||||
|  | Jungle Tree Sapling=Anak Pokok Hutan | ||||||
|  | Emergent Jungle Tree Sapling=Anak Pokok Hutan Kembang | ||||||
|  | Pine Tree=Kayu Pokok Pain | ||||||
|  | Pine Wood Planks=Papan Kayu Pain | ||||||
|  | Pine Needles=Daun Pokok Pain | ||||||
|  | Pine Tree Sapling=Anak Pokok Pain | ||||||
|  | Acacia Tree=Kayu Pokok Akasia | ||||||
|  | Acacia Wood Planks=Papan Kayu Akasia | ||||||
|  | Acacia Tree Leaves=Daun Pokok Akasia | ||||||
|  | Acacia Tree Sapling=Anak Pokok Akasia | ||||||
|  | Aspen Tree=Kayu Pokok Aspen | ||||||
|  | Aspen Wood Planks=Papan Kayu Aspen | ||||||
|  | Aspen Tree Leaves=Daun Pokok Aspen | ||||||
|  | Aspen Tree Sapling=Anak Pokok Aspen | ||||||
|  | Coal Ore=Bijih Batu Arang | ||||||
|  | Coal Block=Bongkah Batu Arang | ||||||
|  | Iron Ore=Bijih Besi | ||||||
|  | Steel Block=Bongkah Keluli | ||||||
|  | Copper Ore=Bijih Tembaga | ||||||
|  | Copper Block=Bongkah Tembaga | ||||||
|  | Tin Ore=Bijih Timah | ||||||
|  | Tin Block=Bongkah Timah | ||||||
|  | Bronze Block=Bongkah Gangsa | ||||||
|  | Mese Ore=Bijih Mese | ||||||
|  | Mese Block=Bongkah Mese | ||||||
|  | Gold Ore=Bijih Emas | ||||||
|  | Gold Block=Bongkah Emas | ||||||
|  | Diamond Ore=Bijih Intan | ||||||
|  | Diamond Block=Bongkah Intan | ||||||
|  | Cactus=Kaktus | ||||||
|  | Large Cactus Seedling=Benih Kaktus Besar | ||||||
|  | Papyrus=Papirus | ||||||
|  | Dry Shrub=Pokok Renek Kering | ||||||
|  | Jungle Grass=Rumput Hutan | ||||||
|  | Grass=Rumput | ||||||
|  | Dry Grass=Rumput Kering | ||||||
|  | Fern=Paku Pakis | ||||||
|  | Marram Grass=Rumput Maram | ||||||
|  | Bush Stem=Batang Belukar | ||||||
|  | Bush Leaves=Daun Belukar | ||||||
|  | Bush Sapling=Anak Belukar | ||||||
|  | Blueberry Bush Leaves with Berries=Daun Belukar Beri Biru Berberi | ||||||
|  | Blueberry Bush Leaves=Daun Belukar Beri Biru | ||||||
|  | Blueberry Bush Sapling=Anak Belukar Beri Biru | ||||||
|  | Acacia Bush Stem=Batang Belukar Akasia | ||||||
|  | Acacia Bush Leaves=Daun Belukar Akasia | ||||||
|  | Acacia Bush Sapling=Anak Belukar Akasia | ||||||
|  | Pine Bush Stem=Batang Belukar Pain | ||||||
|  | Pine Bush Needles=Daun Belukar Pain | ||||||
|  | Pine Bush Sapling=Anak Belukar Pain | ||||||
|  | Kelp=Kelpa | ||||||
|  | Green Coral=Batu Karang Hijau | ||||||
|  | Pink Coral=Batu Karang Merah Jambu | ||||||
|  | Cyan Coral=Batu Karang Biru Kehijauan | ||||||
|  | Brown Coral=Batu Karang Perang | ||||||
|  | Orange Coral=Batu Karang Jingga | ||||||
|  | Coral Skeleton= Rangka Karang | ||||||
|  | Water Source=Sumber Air | ||||||
|  | Flowing Water=Air Mengalir | ||||||
|  | River Water Source=Sumber Air Sungai | ||||||
|  | Flowing River Water=Air Sungai Mengalir | ||||||
|  | Lava Source=Sumber Lava | ||||||
|  | Flowing Lava=Lava Mengalir | ||||||
|  | Empty Bookshelf=Rak Buku Kosong | ||||||
|  | Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku bertulis, @2 buku kosong) | ||||||
|  | Bookshelf=Rak Buku | ||||||
|  | Text too long=Tulisan terlalu panjang | ||||||
|  | Wooden Sign=Papan Tanda Kayu | ||||||
|  | Steel Sign=Papan Tanda Keluli | ||||||
|  | Wooden Ladder=Tangga Panjat Kayu | ||||||
|  | Steel Ladder=Tangga Panjat Keluli | ||||||
|  | Apple Wood Fence=Pagar Kayu Epal | ||||||
|  | Acacia Wood Fence=Pagar Kayu Akasia | ||||||
|  | Jungle Wood Fence=Pagar Kayu Hutan | ||||||
|  | Pine Wood Fence=Pagar Kayu Pain | ||||||
|  | Aspen Wood Fence=Pagar Kayu Aspen | ||||||
|  | Apple Wood Fence Rail=Pagar Rel Kayu Epal | ||||||
|  | Acacia Wood Fence Rail=Pagar Rel Kayu Akasia | ||||||
|  | Jungle Wood Fence Rail=Pagar Rel Kayu Hutan | ||||||
|  | Pine Wood Fence Rail=Pagar Rel Kayu Pain | ||||||
|  | Aspen Wood Fence Rail=Pagar Rel Kayu Aspen | ||||||
|  | Glass=Kaca | ||||||
|  | Obsidian Glass=Kaca Obsidia | ||||||
|  | Brick Block=Bongkah Bata | ||||||
|  | Mese Lamp=Lampu Mese | ||||||
|  | Mese Post Light=Lampu Tiang Mese | ||||||
|  | Cloud=Awan | ||||||
|  | Wooden Pickaxe=Beliung Kayu | ||||||
|  | Stone Pickaxe=Beliung Batu | ||||||
|  | Bronze Pickaxe=Beliung Gangsa | ||||||
|  | Steel Pickaxe=Beliung Keluli | ||||||
|  | Mese Pickaxe=Beliung Mese | ||||||
|  | Diamond Pickaxe=Beliung Intan | ||||||
|  | Wooden Shovel=Penyodok Kayu | ||||||
|  | Stone Shovel=Penyodok Batu | ||||||
|  | Bronze Shovel=Penyodok Gangsa | ||||||
|  | Steel Shovel=Penyodok Keluli | ||||||
|  | Mese Shovel=Penyodok Mese | ||||||
|  | Diamond Shovel=Penyodok Intan | ||||||
|  | Wooden Axe=Kapak Kayu | ||||||
|  | Stone Axe=Kapak Batu | ||||||
|  | Bronze Axe=Kapak Gangsa | ||||||
|  | Steel Axe=Kapak Keluli | ||||||
|  | Mese Axe=Kapak Mese | ||||||
|  | Diamond Axe=Kapak Intan | ||||||
|  | Wooden Sword=Pedang Kayu | ||||||
|  | Stone Sword=Pedang Batu | ||||||
|  | Bronze Sword=Pedang Gangsa | ||||||
|  | Steel Sword=Pedang Keluli | ||||||
|  | Mese Sword=Pedang Mese | ||||||
|  | Diamond Sword=Pedang Intan | ||||||
|  | Key=Kunci | ||||||
|  | Torch=Obor | ||||||
|  | @1 will intersect protection on growth.=@1 akan masuk kawasan perlindungan lain apabila ia tumbuh. | ||||||
|  | Title:=Tajuk: | ||||||
|  | Contents:=Kandungan: | ||||||
|  | Save=Simpan | ||||||
|  | by @1=oleh @1 | ||||||
|  | Page @1 of @2=Ms. @1 / @2 | ||||||
|  | "@1"="@1" | ||||||
							
								
								
									
										211
									
								
								mods/default/locale/default.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								mods/default/locale/default.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,211 @@ | |||||||
|  | # textdomain: default | ||||||
|  | Locked Chest=Заблокированный Сундук | ||||||
|  | Locked Chest (owned by @1)=Заблокированный Сундук (владелец: @1) | ||||||
|  | You do not own this chest.=Вы не владелец этого сундука. | ||||||
|  | a locked chest=заблокированный сундук | ||||||
|  | Chest=Сундук | ||||||
|  | Stick=Палка | ||||||
|  | Paper=Бумага | ||||||
|  | "@1" by @2="@1" @2 | ||||||
|  | Book=Книга | ||||||
|  | Book with Text=Книга с Текстом | ||||||
|  | Skeleton Key=Ключ Скелета | ||||||
|  | Key to @1's @2=Ключ к @2 от @1 | ||||||
|  | Coal Lump=Кусок Угля | ||||||
|  | Iron Lump=Кусок Железа | ||||||
|  | Copper Lump=Кусок Меди | ||||||
|  | Tin Lump=Кусок Олова | ||||||
|  | Mese Crystal=Кристалл Месе | ||||||
|  | Gold Lump=Кусок Золота | ||||||
|  | Diamond=Алмаз | ||||||
|  | Clay Lump=Ком Глины | ||||||
|  | Steel Ingot=Железный Брусок | ||||||
|  | Copper Ingot=Медный Брусок | ||||||
|  | Tin Ingot=Оловянный Брусок | ||||||
|  | Bronze Ingot=Бронзовый Брусок | ||||||
|  | Gold Ingot=Золотой Брусок | ||||||
|  | Mese Crystal Fragment=Осколок Кристалла Месе | ||||||
|  | Clay Brick=Глиняный Кирпич | ||||||
|  | Obsidian Shard=Обсидиановый Осколок | ||||||
|  | Flint=Огниво | ||||||
|  | Blueberries=Черника | ||||||
|  | Furnace is empty=Печь пустая | ||||||
|  | 100% (output full)=100% (полное приготовление)  | ||||||
|  | @1%=@1% | ||||||
|  | Empty=Пустое | ||||||
|  | Not cookable=Не может быть приготовлено | ||||||
|  | Furnace active=Печь зажжена | ||||||
|  | Furnace inactive=Печь не зажжена | ||||||
|  | (Item: @1; Fuel: @2)=(Предмет: @1; Топливо: @2) | ||||||
|  | Furnace=Печь | ||||||
|  | Stone=Камень | ||||||
|  | Cobblestone=Булыжник | ||||||
|  | Stone Brick=Каменный Кирпич | ||||||
|  | Stone Block=Каменный Блок | ||||||
|  | Mossy Cobblestone=Мшистый Булыжник | ||||||
|  | Desert Stone=Пустынный Камень | ||||||
|  | Desert Cobblestone=Пустынный Булыжник | ||||||
|  | Desert Stone Brick=Пустынный Каменный Кирпич | ||||||
|  | Desert Stone Block=Пустынный Каменный Блок | ||||||
|  | Sandstone=Песчаник | ||||||
|  | Sandstone Brick=Песчаниковый Кирпич | ||||||
|  | Sandstone Block=Песчаниковый Блок | ||||||
|  | Desert Sandstone=Пустынный Песчаник | ||||||
|  | Desert Sandstone Brick=Пустынный Песчаниковый Кирпич | ||||||
|  | Desert Sandstone Block=Пустынный Песчаниковый Блок | ||||||
|  | Silver Sandstone=Серебряный Песчаник | ||||||
|  | Silver Sandstone Brick=Серебряный Песчаниковый Кирпич | ||||||
|  | Silver Sandstone Block=Серебряный Песчаниковый Блок | ||||||
|  | Obsidian=Обсидиан | ||||||
|  | Obsidian Brick=Обсидиановый Кирпич | ||||||
|  | Obsidian Block=Обсидиановый Блок | ||||||
|  | Dirt=Земля | ||||||
|  | Dirt with Grass=Земля с Травой | ||||||
|  | Dirt with Grass and Footsteps=Земля с Травой и Следами | ||||||
|  | Dirt with Dry Grass=Земля с Сухой Травой | ||||||
|  | Dirt with Snow=Земля Со Снегом | ||||||
|  | Dirt with Rainforest Litter=Земля с Тропической Подстилкой | ||||||
|  | Dirt with Coniferous Litter=Земля с Сосновой Подстилкой | ||||||
|  | Dry Dirt=Сухая Земля | ||||||
|  | Dry Dirt with Dry Grass=Сухая Земля с Сухой Травой | ||||||
|  | Permafrost=Замороженная Почва | ||||||
|  | Permafrost with Stones=Замороженная Почва с Камнями | ||||||
|  | Permafrost with Moss=Замороженная Почва с Мхом | ||||||
|  | Sand=Песок | ||||||
|  | Desert Sand=Пустынный Песок | ||||||
|  | Silver Sand=Серебряный Песок | ||||||
|  | Gravel=Гравий | ||||||
|  | Clay=Глиняный Блок | ||||||
|  | Snow=Снег | ||||||
|  | Snow Block=Снежный Блок | ||||||
|  | Ice=Лёд | ||||||
|  | Cave Ice=Пещерный Лёд | ||||||
|  | Apple Tree=Яблоневый Ствол | ||||||
|  | Apple Wood Planks=Яблоневые Деревянные Доски | ||||||
|  | Apple Tree Sapling=Яблоневый Саженец | ||||||
|  | Apple Tree Leaves=Яблоневая Листва | ||||||
|  | Apple=Яблоко | ||||||
|  | Apple Marker=Яблочная Метка | ||||||
|  | Jungle Tree=Ствол Тропического Дерева | ||||||
|  | Jungle Wood Planks=Деревянные Доски Тропического Дерева | ||||||
|  | Jungle Tree Leaves=Листва Тропического Дерева | ||||||
|  | Jungle Tree Sapling=Саженец Тропического Дерева | ||||||
|  | Emergent Jungle Tree Sapling=Выросший Саженец Тропического Дерева | ||||||
|  | Pine Tree=Сосновый Ствол | ||||||
|  | Pine Wood Planks=Сосновые Деревянные Доски | ||||||
|  | Pine Needles=Сосновая Хвоя | ||||||
|  | Pine Tree Sapling=Сосновый Саженец | ||||||
|  | Acacia Tree=Ствол Акации | ||||||
|  | Acacia Wood Planks=Деревянные Доски Акации | ||||||
|  | Acacia Tree Leaves=Листва Акации | ||||||
|  | Acacia Tree Sapling=Саженец Акации | ||||||
|  | Aspen Tree=Осиновый Ствол | ||||||
|  | Aspen Wood Planks=Осиновые Деревянные Доски | ||||||
|  | Aspen Tree Leaves=Осиновая Листва | ||||||
|  | Aspen Tree Sapling=Осиновый Саженец | ||||||
|  | Coal Ore=Уголь | ||||||
|  | Coal Block=Угольный Блок | ||||||
|  | Iron Ore=Железная Руда | ||||||
|  | Steel Block=Стальной Блок | ||||||
|  | Copper Ore=Медная Руда | ||||||
|  | Copper Block=Медный Блок | ||||||
|  | Tin Ore=Оловянная Руда | ||||||
|  | Tin Block=Оловянный Блок | ||||||
|  | Bronze Block=Бронзовый Блок | ||||||
|  | Mese Ore=Месевая Руда | ||||||
|  | Mese Block=Месевый Блок | ||||||
|  | Gold Ore=Золотая Руда | ||||||
|  | Gold Block=Золотой Блок | ||||||
|  | Diamond Ore=Алмаз | ||||||
|  | Diamond Block=Алмазный Блок | ||||||
|  | Cactus=Кактус | ||||||
|  | Large Cactus Seedling=Кактусовый Саженец | ||||||
|  | Papyrus=Папирус | ||||||
|  | Dry Shrub=Сухой Куст | ||||||
|  | Jungle Grass=Тропическая Трава | ||||||
|  | Grass=Трава | ||||||
|  | Dry Grass=Сухая Трава | ||||||
|  | Fern=Папоротник | ||||||
|  | Marram Grass=Песколюб | ||||||
|  | Bush Stem=Ствол Яблочного Деревца | ||||||
|  | Bush Leaves=Листья Яблочного Деревца | ||||||
|  | Bush Sapling=Саженца яблочного деревца | ||||||
|  | Blueberry Bush Leaves with Berries=Куст Черники с Ягодами | ||||||
|  | Blueberry Bush Leaves=Куст Черники | ||||||
|  | Blueberry Bush Sapling=Саженца Куста Черники | ||||||
|  | Acacia Bush Stem=Ствол Деревца Акации | ||||||
|  | Acacia Bush Leaves=Листья Деревца Акации | ||||||
|  | Acacia Bush Sapling=Саженца Деревца Акации | ||||||
|  | Pine Bush Stem=Сосновое Деревце | ||||||
|  | Pine Bush Needles=Хвоя Соснового Деревца | ||||||
|  | Pine Bush Sapling=Саженца Соснового Деревца | ||||||
|  | Kelp=Ламинария | ||||||
|  | Green Coral=Зеленый Коралл | ||||||
|  | Pink Coral=Розовый Коралл | ||||||
|  | Cyan Coral=Голубой Коралл | ||||||
|  | Brown Coral=Бурый Коралл | ||||||
|  | Orange Coral=Оранжевый Коралл | ||||||
|  | Coral Skeleton=Коралловый Остов | ||||||
|  | Water Source=Водный Источник | ||||||
|  | Flowing Water=Текущая Вода | ||||||
|  | River Water Source=Речной Водный Источник | ||||||
|  | Flowing River Water=Текущая Речная Вода | ||||||
|  | Lava Source=Лавовый Источник | ||||||
|  | Flowing Lava=Текущая Лава | ||||||
|  | Empty Bookshelf=Пустая Книжная Полка | ||||||
|  | Bookshelf (@1 written, @2 empty books)=Книжная Полка (@1 написано, @2 чистые книги) | ||||||
|  | Bookshelf=Книжная Полка | ||||||
|  | Text too long=Текст слишком длинный | ||||||
|  | Wooden Sign=Деревянная Табличка | ||||||
|  | Steel Sign=Стальная Табличка | ||||||
|  | Wooden Ladder=Деревянная Лестница | ||||||
|  | Steel Ladder=Стальная Лестница | ||||||
|  | Apple Wood Fence=Яблоневый Деревянный Забор | ||||||
|  | Acacia Wood Fence=Деревянный Забор Из Акации | ||||||
|  | Jungle Wood Fence=Деревянный Забор Из Тропического Дерева | ||||||
|  | Pine Wood Fence=Сосновый Деревянный Забор | ||||||
|  | Aspen Wood Fence=Осиновый Деревянный Забор | ||||||
|  | Apple Wood Fence Rail=Яблоневый Деревянный Реечный Забор | ||||||
|  | Acacia Wood Fence Rail=Деревянный Реечный Забор Из Акации | ||||||
|  | Jungle Wood Fence Rail=Деревянный Реечный Забор Из Тропического Дерева | ||||||
|  | Pine Wood Fence Rail=Сосновый Деревянный Реечный Забор | ||||||
|  | Aspen Wood Fence Rail=Осиновый Деревянный Реечный Забор | ||||||
|  | Glass=Стекло | ||||||
|  | Obsidian Glass=Обсидиановое Стекло | ||||||
|  | Brick Block=Кирпичный Блок | ||||||
|  | Mese Lamp=Месе Лампа | ||||||
|  | Mese Post Light=Столб с Месе Фонарем | ||||||
|  | Cloud=Облако | ||||||
|  | Wooden Pickaxe=Деревянная Кирка | ||||||
|  | Stone Pickaxe=Каменная Кирка | ||||||
|  | Bronze Pickaxe=Бронзовая Кирка | ||||||
|  | Steel Pickaxe=Стальная Кирка | ||||||
|  | Mese Pickaxe=Месе Кирка | ||||||
|  | Diamond Pickaxe=Алмазная Кирка | ||||||
|  | Wooden Shovel=Деревянная Лопата | ||||||
|  | Stone Shovel=Каменная Лопата | ||||||
|  | Bronze Shovel=Бронзовая Лопата | ||||||
|  | Steel Shovel=Стальная Лопата | ||||||
|  | Mese Shovel=Месе Лопата | ||||||
|  | Diamond Shovel=Алмазная Лопата | ||||||
|  | Wooden Axe=Деревянный Топор | ||||||
|  | Stone Axe=Каменный Топор | ||||||
|  | Bronze Axe=Бронзовый Топор | ||||||
|  | Steel Axe=Стальной Топор | ||||||
|  | Mese Axe=Месе Топор | ||||||
|  | Diamond Axe=Алмазный Топор | ||||||
|  | Wooden Sword=Деревянный Меч | ||||||
|  | Stone Sword=Каменный Меч | ||||||
|  | Bronze Sword=Бронзовый Меч | ||||||
|  | Steel Sword=Стальной Меч | ||||||
|  | Mese Sword=Месе Меч | ||||||
|  | Diamond Sword=Алмазный Меч | ||||||
|  | Key=Ключ | ||||||
|  | Torch=Факел | ||||||
|  | @1 will intersect protection on growth.=@1 пересечёт защиту по росту. | ||||||
|  | Title:=Заголовок: | ||||||
|  | Contents:=Содержимое: | ||||||
|  | Save=Сохранить | ||||||
|  | by @1=@1 | ||||||
|  | Page @1 of @2=Страница @1 из @2 | ||||||
|  | "@1"="@1" | ||||||
							
								
								
									
										211
									
								
								mods/default/locale/default.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								mods/default/locale/default.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,211 @@ | |||||||
|  | ## textdomain: default | ||||||
|  | Locked Chest=Låst kista | ||||||
|  | Locked Chest (owned by @1)=Låst kista (Ägd av @1) | ||||||
|  | You do not own this chest.=Du äger inte denna kistan. | ||||||
|  | a locked chest=en låst kista | ||||||
|  | Chest=Kista | ||||||
|  | Stick=Pinne | ||||||
|  | Paper=Papper | ||||||
|  | "@1" by @2="@1" av @2 | ||||||
|  | Book=Bok | ||||||
|  | Book with Text=Bok med text | ||||||
|  | Skeleton Key=Skelett Nyckel | ||||||
|  | Key to @1's @2=Nyckel till @1s @2 | ||||||
|  | Coal Lump=Kol Klumo | ||||||
|  | Iron Lump=Järn Klump | ||||||
|  | Copper Lump=Koppar Klump | ||||||
|  | Tin Lump=Tenn Klump | ||||||
|  | Mese Crystal=Mese Kristall | ||||||
|  | Gold Lump=Guld Klump | ||||||
|  | Diamond=Diamant | ||||||
|  | Clay Lump=Lerklump | ||||||
|  | Steel Ingot=Stål tacka | ||||||
|  | Copper Ingot=Koppar tacka | ||||||
|  | Tin Ingot=Tenn tacka | ||||||
|  | Bronze Ingot=Brons tacka | ||||||
|  | Gold Ingot=Guld tacka | ||||||
|  | Mese Crystal Fragment=Mese Kristall Fragment | ||||||
|  | Clay Brick=Tegelsten | ||||||
|  | Obsidian Shard=Obsidian Skärva | ||||||
|  | Flint=Flinta | ||||||
|  | Blueberries=Blåbär | ||||||
|  | Furnace is empty=Ugnen är tom | ||||||
|  | 100% (output full)=100% (utgången full) | ||||||
|  | @1%=@1% | ||||||
|  | Empty=Tom | ||||||
|  | Not cookable=Inte kokbar | ||||||
|  | Furnace active=Ugn aktiv | ||||||
|  | Furnace inactive=Ugn inaktiv | ||||||
|  | (Item: @1; Fuel: @2)=(Sak: @1; Bränsle: @2) | ||||||
|  | Furnace=Ugn | ||||||
|  | Stone=Sten | ||||||
|  | Cobblestone=Kullersten | ||||||
|  | Stone Brick=Stentegel | ||||||
|  | Stone Block=Sten block | ||||||
|  | Mossy Cobblestone=Mossig kullersten | ||||||
|  | Desert Stone=Öken sten | ||||||
|  | Desert Cobblestone=Öken kullersten | ||||||
|  | Desert Stone Brick=Öken stentegel | ||||||
|  | Desert Stone Block=Öken sten block | ||||||
|  | Sandstone=Sandsten | ||||||
|  | Sandstone Brick=Sandstenstegel | ||||||
|  | Sandstone Block=Sandsten block | ||||||
|  | Desert Sandstone=Öken sandsten | ||||||
|  | Desert Sandstone Brick=Öken Sandstenstegel | ||||||
|  | Desert Sandstone Block=Öken sandsten block | ||||||
|  | Silver Sandstone=Silver sandsten | ||||||
|  | Silver Sandstone Brick=Silver Sandstenstegel | ||||||
|  | Silver Sandstone Block=Silver sandsten block | ||||||
|  | Obsidian=Obsidian | ||||||
|  | Obsidian Brick=Obsidiantegel | ||||||
|  | Obsidian Block=Obsidian block | ||||||
|  | Dirt=Jord | ||||||
|  | Dirt with Grass=Jord med gräs | ||||||
|  | Dirt with Grass and Footsteps=Jord med gräs och fotsteg | ||||||
|  | Dirt with Dry Grass=Jord med torrt gräs | ||||||
|  | Dirt with Snow=Jord med snö | ||||||
|  | Dirt with Rainforest Litter=Jord med regnskogströ | ||||||
|  | Dirt with Coniferous Litter=Jord med Barrträd | ||||||
|  | Dry Dirt=Torr jord | ||||||
|  | Dry Dirt with Dry Grass=Torr jord med torrt gräs | ||||||
|  | Permafrost=Permafrost | ||||||
|  | Permafrost with Stones=Permafrost med sten | ||||||
|  | Permafrost with Moss=Permafrost med mossa | ||||||
|  | Sand=Sand | ||||||
|  | Desert Sand=Öken sand | ||||||
|  | Silver Sand=Silver sand | ||||||
|  | Gravel=Grus | ||||||
|  | Clay=Lera | ||||||
|  | Snow=Snö | ||||||
|  | Snow Block=Snö block | ||||||
|  | Ice=Is | ||||||
|  | Cave Ice=Grott Is | ||||||
|  | Apple Tree=Äpple Träd | ||||||
|  | Apple Wood Planks=Äpple Plankor | ||||||
|  | Apple Tree Sapling=Äpple Planta | ||||||
|  | Apple Tree Leaves=Äpple Löv | ||||||
|  | Apple=Äpple | ||||||
|  | Apple Marker=Äpple Markör | ||||||
|  | Jungle Tree=Djungel Träd | ||||||
|  | Jungle Wood Planks=Djungel Plankor | ||||||
|  | Jungle Tree Leaves=Djungel Löv | ||||||
|  | Jungle Tree Sapling=Djungel Planta | ||||||
|  | Emergent Jungle Tree Sapling=Nybliven Djungel Planta | ||||||
|  | Pine Tree=Tall | ||||||
|  | Pine Wood Planks= Tall Plankor | ||||||
|  | Pine Needles=Granbarr | ||||||
|  | Pine Tree Sapling=Tall Planta | ||||||
|  | Acacia Tree=Akacia Träd | ||||||
|  | Acacia Wood Planks=Akacia Plankor | ||||||
|  | Acacia Tree Leaves=Akacia Löv | ||||||
|  | Acacia Tree Sapling=Akacia Planta | ||||||
|  | Aspen Tree=Asp | ||||||
|  | Aspen Wood Planks=Asp Plankor | ||||||
|  | Aspen Tree Leaves=Asp Löv | ||||||
|  | Aspen Tree Sapling=Asp Planta | ||||||
|  | Coal Ore=Kol Malm | ||||||
|  | Coal Block=Kol Block | ||||||
|  | Iron Ore=Järn Malm | ||||||
|  | Steel Block=Stål Block | ||||||
|  | Copper Ore=Koppar Malm | ||||||
|  | Copper Block=Koppar Block | ||||||
|  | Tin Ore=Tenn Malm | ||||||
|  | Tin Block=Tenn Block | ||||||
|  | Bronze Block=Brons Block | ||||||
|  | Mese Ore=Mese Malm | ||||||
|  | Mese Block=Mese Block | ||||||
|  | Gold Ore=Guld Malm | ||||||
|  | Gold Block=Guld Block | ||||||
|  | Diamond Ore=Diamant Malm | ||||||
|  | Diamond Block=Diamant Block | ||||||
|  | Cactus=Kaktus | ||||||
|  | Large Cactus Seedling=Stor kaktusplanta | ||||||
|  | Papyrus=Papyrus | ||||||
|  | Dry Shrub=Torr Buske | ||||||
|  | Jungle Grass=Djungel Gräs | ||||||
|  | Grass=Gräs | ||||||
|  | Dry Grass=Torrt Gräs | ||||||
|  | Fern=Ormbunke | ||||||
|  | Marram Grass=Marram Gräs | ||||||
|  | Bush Stem=Busk Stam | ||||||
|  | Bush Leaves=Busk Löv | ||||||
|  | Bush Sapling=Busk Planta | ||||||
|  | Blueberry Bush Leaves with Berries=Blåbärsbusks Löv med Bär | ||||||
|  | Blueberry Bush Leaves=Blåbärsbusks Löv | ||||||
|  | Blueberry Bush Sapling=Blåbärsbusks Plantga | ||||||
|  | Acacia Bush Stem=Akacia Busks Stam | ||||||
|  | Acacia Bush Leaves=Akacia Busks Löv | ||||||
|  | Acacia Bush Sapling=Akacia Busks Planta | ||||||
|  | Pine Bush Stem=Tall Busks Stam | ||||||
|  | Pine Bush Needles=Tall Busks Granbarr | ||||||
|  | Pine Bush Sapling=Tall Busks Planta | ||||||
|  | Kelp=Brunalg | ||||||
|  | Green Coral=Grön Korall | ||||||
|  | Pink Coral=Rosa Korall | ||||||
|  | Cyan Coral=Cyan Korall | ||||||
|  | Brown Coral=Brun Korall | ||||||
|  | Orange Coral=Orange Korall | ||||||
|  | Coral Skeleton=Korall Skelett | ||||||
|  | Water Source=Vattenkälla | ||||||
|  | Flowing Water=Flödande Vatten | ||||||
|  | River Water Source=Flodvattenkälla | ||||||
|  | Flowing River Water=Flödande Flodvatten | ||||||
|  | Lava Source=Lavakälla | ||||||
|  | Flowing Lava=Flödande Lava | ||||||
|  | Empty Bookshelf=Tom Bokhylla | ||||||
|  | Bookshelf (@1 written, @2 empty books)=Bokhylla (@1 skriva, @2 tomma böcker) | ||||||
|  | Bookshelf=Bokhylla | ||||||
|  | Text too long=Text för lång | ||||||
|  | Wooden Sign=Trä Skylt | ||||||
|  | Steel Sign=Stål Skylt | ||||||
|  | Wooden Ladder=Trä Stege | ||||||
|  | Steel Ladder=Stål Stege | ||||||
|  | Apple Wood Fence=Äpple Trä Staket | ||||||
|  | Acacia Wood Fence=Akacia Trä Staket | ||||||
|  | Jungle Wood Fence=Djungel Trä Staket | ||||||
|  | Pine Wood Fence=Tall Trä Staket | ||||||
|  | Aspen Wood Fence=Asp Trä Staket | ||||||
|  | Apple Wood Fence Rail=Äpple Trä Staket Pinne | ||||||
|  | Acacia Wood Fence Rail=Akacia Trä Staket Pinne | ||||||
|  | Jungle Wood Fence Rail=Djungel Trä Staket Pinne | ||||||
|  | Pine Wood Fence Rail=Tall Trä Staket Pinne | ||||||
|  | Aspen Wood Fence Rail=Asp Trä Staket Pinne | ||||||
|  | Glass=Glas | ||||||
|  | Obsidian Glass=Obsidian Glas | ||||||
|  | Brick Block=Tegelstens Block | ||||||
|  | Mese Lamp=Mese Lampa | ||||||
|  | Mese Post Light=Mese Postljus | ||||||
|  | Cloud=Moln | ||||||
|  | Wooden Pickaxe=Trä Hacka | ||||||
|  | Stone Pickaxe=Sten Hacka | ||||||
|  | Bronze Pickaxe=Brons Hacka | ||||||
|  | Steel Pickaxe=Stål Hacka | ||||||
|  | Mese Pickaxe=Mese Hacka | ||||||
|  | Diamond Pickaxe=Diamant Hacka | ||||||
|  | Wooden Shovel=Trä Spade | ||||||
|  | Stone Shovel=Sten Spade | ||||||
|  | Bronze Shovel=Brons Spade | ||||||
|  | Steel Shovel=Stål Spade | ||||||
|  | Mese Shovel=Mese Spade | ||||||
|  | Diamond Shovel=Diamant Spade | ||||||
|  | Wooden Axe=Trä Yxa | ||||||
|  | Stone Axe=Sten Yxa | ||||||
|  | Bronze Axe=Brons Yxa | ||||||
|  | Steel Axe=Stål Yxa | ||||||
|  | Mese Axe=Mese Yxa | ||||||
|  | Diamond Axe=Diamant Yxa | ||||||
|  | Wooden Sword=Trä Svärd | ||||||
|  | Stone Sword=Sten Svärd | ||||||
|  | Bronze Sword=Brons Svärd | ||||||
|  | Steel Sword=Stål Svärd | ||||||
|  | Mese Sword=Mese Svärd | ||||||
|  | Diamond Sword=Diamant Svärd | ||||||
|  | Key=Nyckel | ||||||
|  | Torch=Fakla | ||||||
|  | @1 will intersect protection on growth.=@1 kommer korsa skyddet mot tillväxt. | ||||||
|  | Title:=Titel: | ||||||
|  | Contents:=Innehåll: | ||||||
|  | Save=Spara | ||||||
|  | by @1=av @1 | ||||||
|  | Page @1 of @2=Sida @1 av @2 | ||||||
|  | "@1"="@1" | ||||||
							
								
								
									
										211
									
								
								mods/default/locale/default.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								mods/default/locale/default.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,211 @@ | |||||||
|  | # textdomain: default | ||||||
|  | Locked Chest=已上锁的箱子 | ||||||
|  | Locked Chest (owned by @1)=已上锁的箱子(属于@1所有) | ||||||
|  | You do not own this chest.=这个箱子不属于你所有。 | ||||||
|  | a locked chest=一个已上锁的箱子 | ||||||
|  | Chest=箱子 | ||||||
|  | Stick=棒 | ||||||
|  | Paper=纸 | ||||||
|  | "@1" by @2="@1" by @2 | ||||||
|  | Book=书 | ||||||
|  | Book with Text=带文字的书 | ||||||
|  | Skeleton Key=万能钥匙 | ||||||
|  | Key to @1's @2=@1的@2的钥匙 | ||||||
|  | Coal Lump=煤块 | ||||||
|  | Iron Lump=铁块 | ||||||
|  | Copper Lump=铜块 | ||||||
|  | Tin Lump=锡块 | ||||||
|  | Mese Crystal=黄石晶体 | ||||||
|  | Gold Lump=金块 | ||||||
|  | Diamond=钻石 | ||||||
|  | Clay Lump=粘土块 | ||||||
|  | Steel Ingot=铁锭 | ||||||
|  | Copper Ingot=铜锭 | ||||||
|  | Tin Ingot=锡锭 | ||||||
|  | Bronze Ingot=青铜锭 | ||||||
|  | Gold Ingot=金锭 | ||||||
|  | Mese Crystal Fragment=黄石晶体碎片 | ||||||
|  | Clay Brick=粘土砖 | ||||||
|  | Obsidian Shard=黑曜石碎片 | ||||||
|  | Flint=燧石 | ||||||
|  | Blueberries=蓝莓 | ||||||
|  | Furnace is empty=熔炉是空的 | ||||||
|  | 100% (output full)=100%(输出已满) | ||||||
|  | @1%=@1% | ||||||
|  | Empty=空 | ||||||
|  | Not cookable=不可烹饪 | ||||||
|  | Furnace active=熔炉正在运转 | ||||||
|  | Furnace inactive=熔炉未使用 | ||||||
|  | (Item: @1; Fuel: @2)=(项目:@1;燃料:@2) | ||||||
|  | Furnace=熔炉 | ||||||
|  | Stone=石 | ||||||
|  | Cobblestone=鹅卵石 | ||||||
|  | Stone Brick=石砖 | ||||||
|  | Stone Block=石方块 | ||||||
|  | Mossy Cobblestone=苔藓覆盖的鹅卵石 | ||||||
|  | Desert Stone=沙漠石 | ||||||
|  | Desert Cobblestone=沙漠鹅卵石 | ||||||
|  | Desert Stone Brick=沙漠鹅卵石砖 | ||||||
|  | Desert Stone Block=沙漠鹅卵石方块 | ||||||
|  | Sandstone=砂岩 | ||||||
|  | Sandstone Brick=砂岩砖 | ||||||
|  | Sandstone Block=砂岩方块 | ||||||
|  | Desert Sandstone=沙漠砂岩 | ||||||
|  | Desert Sandstone Brick=沙漠砂岩砖 | ||||||
|  | Desert Sandstone Block=沙漠砂岩方块 | ||||||
|  | Silver Sandstone=银砂岩 | ||||||
|  | Silver Sandstone Brick=银砂岩砖 | ||||||
|  | Silver Sandstone Block=银砂岩方块 | ||||||
|  | Obsidian=黑曜石 | ||||||
|  | Obsidian Brick=黑曜石砖 | ||||||
|  | Obsidian Block=黑曜石方块 | ||||||
|  | Dirt=土 | ||||||
|  | Dirt with Grass=带草的土 | ||||||
|  | Dirt with Grass and Footsteps=带草的土及脚印 | ||||||
|  | Dirt with Dry Grass=带干草的土 | ||||||
|  | Dirt with Snow=带雪的土 | ||||||
|  | Dirt with Rainforest Litter=雨林腐土 | ||||||
|  | Dirt with Coniferous Litter=针叶林腐土 | ||||||
|  | Dry Dirt=干土 | ||||||
|  | Dry Dirt with Dry Grass=干土和干草 | ||||||
|  | Permafrost=多年冻土 | ||||||
|  | Permafrost with Stones=带石头的多年冻土 | ||||||
|  | Permafrost with Moss=生苔的多年冻土 | ||||||
|  | Sand=沙 | ||||||
|  | Desert Sand=沙漠沙 | ||||||
|  | Silver Sand=银沙 | ||||||
|  | Gravel=沙砾 | ||||||
|  | Clay=粘土 | ||||||
|  | Snow=雪 | ||||||
|  | Snow Block=雪方块 | ||||||
|  | Ice=冰 | ||||||
|  | Cave Ice=洞穴冰 | ||||||
|  | Apple Tree=苹果树 | ||||||
|  | Apple Wood Planks=苹果树木板 | ||||||
|  | Apple Tree Sapling=苹果树苗 | ||||||
|  | Apple Tree Leaves=苹果树叶 | ||||||
|  | Apple=苹果 | ||||||
|  | Apple Marker=苹果标记 | ||||||
|  | Jungle Tree=丛林树 | ||||||
|  | Jungle Wood Planks=丛林树木板 | ||||||
|  | Jungle Tree Leaves=丛林树叶 | ||||||
|  | Jungle Tree Sapling=丛林树苗 | ||||||
|  | Emergent Jungle Tree Sapling=应急丛林树苗 | ||||||
|  | Pine Tree=松树 | ||||||
|  | Pine Wood Planks=松树木板 | ||||||
|  | Pine Needles=松针 | ||||||
|  | Pine Tree Sapling=松树树苗 | ||||||
|  | Acacia Tree=相思树 | ||||||
|  | Acacia Wood Planks=相思树木板 | ||||||
|  | Acacia Tree Leaves=相思树叶 | ||||||
|  | Acacia Tree Sapling=相思树树苗 | ||||||
|  | Aspen Tree=白杨树 | ||||||
|  | Aspen Wood Planks=白杨树木板 | ||||||
|  | Aspen Tree Leaves=白杨树叶 | ||||||
|  | Aspen Tree Sapling=白杨树树苗 | ||||||
|  | Coal Ore=煤炭矿石 | ||||||
|  | Coal Block=煤炭方块 | ||||||
|  | Iron Ore=铁矿石 | ||||||
|  | Steel Block=钢方块 | ||||||
|  | Copper Ore=铜矿石 | ||||||
|  | Copper Block=铜方块 | ||||||
|  | Tin Ore=锡矿石 | ||||||
|  | Tin Block=锡方块 | ||||||
|  | Bronze Block=青铜方块 | ||||||
|  | Mese Ore=黄石矿石 | ||||||
|  | Mese Block=黄石方块 | ||||||
|  | Gold Ore=金矿石 | ||||||
|  | Gold Block=金方块 | ||||||
|  | Diamond Ore=钻石矿石 | ||||||
|  | Diamond Block=钻石方块 | ||||||
|  | Cactus=仙人掌 | ||||||
|  | Large Cactus Seedling=大仙人掌苗 | ||||||
|  | Papyrus=莎草纸 | ||||||
|  | Dry Shrub=干灌木 | ||||||
|  | Jungle Grass=丛林草 | ||||||
|  | Grass=草 | ||||||
|  | Dry Grass=干草 | ||||||
|  | Fern=蕨 | ||||||
|  | Marram Grass=滨草 | ||||||
|  | Bush Stem=灌木 | ||||||
|  | Bush Leaves=灌木叶 | ||||||
|  | Bush Sapling=灌木苗 | ||||||
|  | Blueberry Bush Leaves with Berries=蓝莓灌木叶与浆果 | ||||||
|  | Blueberry Bush Leaves=蓝莓灌木叶 | ||||||
|  | Blueberry Bush Sapling=蓝莓灌木苗 | ||||||
|  | Acacia Bush Stem=相思灌木 | ||||||
|  | Acacia Bush Leaves=相思灌木叶 | ||||||
|  | Acacia Bush Sapling=相思灌木苗 | ||||||
|  | Pine Bush Stem=松树灌木 | ||||||
|  | Pine Bush Needles=松树灌木针 | ||||||
|  | Pine Bush Sapling=松树灌木苗 | ||||||
|  | Kelp=海带 | ||||||
|  | Green Coral=绿珊瑚 | ||||||
|  | Pink Coral=淡红珊瑚 | ||||||
|  | Cyan Coral=青珊瑚 | ||||||
|  | Brown Coral=棕珊瑚 | ||||||
|  | Orange Coral=橙珊瑚 | ||||||
|  | Coral Skeleton=珊瑚骨架 | ||||||
|  | Water Source=水方块 | ||||||
|  | Flowing Water=流动的水 | ||||||
|  | River Water Source=河水方块 | ||||||
|  | Flowing River Water=流动的河水 | ||||||
|  | Lava Source=岩浆方块 | ||||||
|  | Flowing Lava=流动的岩浆 | ||||||
|  | Empty Bookshelf=空书架 | ||||||
|  | Bookshelf (@1 written, @2 empty books)=书架(@1本有字的书,@2本空书) | ||||||
|  | Bookshelf=书架 | ||||||
|  | Text too long=文字太长 | ||||||
|  | Wooden Sign=木牌 | ||||||
|  | Steel Sign=铁牌 | ||||||
|  | Wooden Ladder=木梯子 | ||||||
|  | Steel Ladder=铁梯子 | ||||||
|  | Apple Wood Fence=苹果木栅栏 | ||||||
|  | Acacia Wood Fence=相思木栅栏 | ||||||
|  | Jungle Wood Fence=丛林木栅栏 | ||||||
|  | Pine Wood Fence=松木栅栏 | ||||||
|  | Aspen Wood Fence=白杨木栅栏 | ||||||
|  | Apple Wood Fence Rail=苹果木栏杆 | ||||||
|  | Acacia Wood Fence Rail=相思木栏杆 | ||||||
|  | Jungle Wood Fence Rail=丛林木栏杆 | ||||||
|  | Pine Wood Fence Rail=松木栏杆 | ||||||
|  | Aspen Wood Fence Rail=白杨木栏杆 | ||||||
|  | Glass=玻璃 | ||||||
|  | Obsidian Glass=黑曜石玻璃 | ||||||
|  | Brick Block=砖方块 | ||||||
|  | Mese Lamp=黄石灯 | ||||||
|  | Mese Post Light=黄石柱灯 | ||||||
|  | Cloud=云 | ||||||
|  | Wooden Pickaxe=木镐 | ||||||
|  | Stone Pickaxe=石镐 | ||||||
|  | Bronze Pickaxe=青铜镐 | ||||||
|  | Steel Pickaxe=铁镐 | ||||||
|  | Mese Pickaxe=黄石镐 | ||||||
|  | Diamond Pickaxe=钻石镐 | ||||||
|  | Wooden Shovel=木铲 | ||||||
|  | Stone Shovel=石铲 | ||||||
|  | Bronze Shovel=青铜铲 | ||||||
|  | Steel Shovel=铁铲 | ||||||
|  | Mese Shovel=黄石铲 | ||||||
|  | Diamond Shovel=钻石铲 | ||||||
|  | Wooden Axe=木斧 | ||||||
|  | Stone Axe=石斧 | ||||||
|  | Bronze Axe=青铜斧 | ||||||
|  | Steel Axe=铁斧 | ||||||
|  | Mese Axe=黄石斧 | ||||||
|  | Diamond Axe=钻石斧 | ||||||
|  | Wooden Sword=木剑 | ||||||
|  | Stone Sword=石剑 | ||||||
|  | Bronze Sword=青铜剑 | ||||||
|  | Steel Sword=铁剑 | ||||||
|  | Mese Sword=黄石剑 | ||||||
|  | Diamond Sword=钻石剑 | ||||||
|  | Key=钥匙 | ||||||
|  | Torch=火把 | ||||||
|  | @1 will intersect protection on growth.=@1将与增长的保护相交。 | ||||||
|  | Title:=标题: | ||||||
|  | Contents:=内容: | ||||||
|  | Save=保存 | ||||||
|  | by @1=由@1 | ||||||
|  | Page @1 of @2=第@1页,共@2页。 | ||||||
|  | "@1"="@1" | ||||||
							
								
								
									
										211
									
								
								mods/default/locale/default.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								mods/default/locale/default.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,211 @@ | |||||||
|  | # textdomain: default | ||||||
|  | Locked Chest=已上鎖的箱子 | ||||||
|  | Locked Chest (owned by @1)=已上鎖的箱子(屬於@1所有) | ||||||
|  | You do not own this chest.=這個箱子不屬於你所有。 | ||||||
|  | a locked chest=一個已上鎖的箱子 | ||||||
|  | Chest=箱子 | ||||||
|  | Stick=棒 | ||||||
|  | Paper=紙 | ||||||
|  | "@1" by @2="@1" by @2 | ||||||
|  | Book=書 | ||||||
|  | Book with Text=帶文字的書 | ||||||
|  | Skeleton Key=萬能鑰匙 | ||||||
|  | Key to @1's @2=@1的@2的鑰匙 | ||||||
|  | Coal Lump=煤塊 | ||||||
|  | Iron Lump=鐵塊 | ||||||
|  | Copper Lump=銅塊 | ||||||
|  | Tin Lump=錫塊 | ||||||
|  | Mese Crystal=黃石晶體 | ||||||
|  | Gold Lump=金塊 | ||||||
|  | Diamond=鑽石 | ||||||
|  | Clay Lump=粘土塊 | ||||||
|  | Steel Ingot=鐵錠 | ||||||
|  | Copper Ingot=銅錠 | ||||||
|  | Tin Ingot=錫錠 | ||||||
|  | Bronze Ingot=青銅錠 | ||||||
|  | Gold Ingot=金錠 | ||||||
|  | Mese Crystal Fragment=黃石晶體碎片 | ||||||
|  | Clay Brick=粘土磚 | ||||||
|  | Obsidian Shard=黑曜石碎片 | ||||||
|  | Flint=燧石 | ||||||
|  | Blueberries=藍莓 | ||||||
|  | Furnace is empty=熔爐是空的 | ||||||
|  | 100% (output full)=100%(輸出已滿) | ||||||
|  | @1%=@1% | ||||||
|  | Empty=空 | ||||||
|  | Not cookable=不可烹飪 | ||||||
|  | Furnace active=熔爐正在運轉 | ||||||
|  | Furnace inactive=熔爐未使用 | ||||||
|  | (Item: @1; Fuel: @2)=(項目:@1;燃料:@2) | ||||||
|  | Furnace=熔爐 | ||||||
|  | Stone=石 | ||||||
|  | Cobblestone=鵝卵石 | ||||||
|  | Stone Brick=石磚 | ||||||
|  | Stone Block=石方塊 | ||||||
|  | Mossy Cobblestone=苔蘚覆蓋的鵝卵石 | ||||||
|  | Desert Stone=沙漠石 | ||||||
|  | Desert Cobblestone=沙漠鵝卵石 | ||||||
|  | Desert Stone Brick=沙漠鵝卵石磚 | ||||||
|  | Desert Stone Block=沙漠鵝卵石方塊 | ||||||
|  | Sandstone=砂岩 | ||||||
|  | Sandstone Brick=砂岩磚 | ||||||
|  | Sandstone Block=砂岩方塊 | ||||||
|  | Desert Sandstone=沙漠砂岩 | ||||||
|  | Desert Sandstone Brick=沙漠砂岩磚 | ||||||
|  | Desert Sandstone Block=沙漠砂岩方塊 | ||||||
|  | Silver Sandstone=銀砂岩 | ||||||
|  | Silver Sandstone Brick=銀砂岩磚 | ||||||
|  | Silver Sandstone Block=銀砂岩方塊 | ||||||
|  | Obsidian=黑曜石 | ||||||
|  | Obsidian Brick=黑曜石磚 | ||||||
|  | Obsidian Block=黑曜石方塊 | ||||||
|  | Dirt=土 | ||||||
|  | Dirt with Grass=帶草的土 | ||||||
|  | Dirt with Grass and Footsteps=帶草的土及腳印 | ||||||
|  | Dirt with Dry Grass=帶乾草的土 | ||||||
|  | Dirt with Snow=帶雪的土 | ||||||
|  | Dirt with Rainforest Litter=雨林腐土 | ||||||
|  | Dirt with Coniferous Litter=針葉林腐土 | ||||||
|  | Dry Dirt=乾土 | ||||||
|  | Dry Dirt with Dry Grass=乾土和乾草 | ||||||
|  | Permafrost=多年凍土 | ||||||
|  | Permafrost with Stones=帶石頭的多年凍土 | ||||||
|  | Permafrost with Moss=生苔的多年凍土 | ||||||
|  | Sand=沙 | ||||||
|  | Desert Sand=沙漠沙 | ||||||
|  | Silver Sand=銀沙 | ||||||
|  | Gravel=沙礫 | ||||||
|  | Clay=粘土 | ||||||
|  | Snow=雪 | ||||||
|  | Snow Block=雪方塊 | ||||||
|  | Ice=冰 | ||||||
|  | Cave Ice=洞穴冰 | ||||||
|  | Apple Tree=蘋果樹 | ||||||
|  | Apple Wood Planks=蘋果樹木板 | ||||||
|  | Apple Tree Sapling=蘋果樹苗 | ||||||
|  | Apple Tree Leaves=蘋果樹葉 | ||||||
|  | Apple=蘋果 | ||||||
|  | Apple Marker=蘋果標記 | ||||||
|  | Jungle Tree=叢林樹 | ||||||
|  | Jungle Wood Planks=叢林樹木板 | ||||||
|  | Jungle Tree Leaves=叢林樹葉 | ||||||
|  | Jungle Tree Sapling=叢林樹苗 | ||||||
|  | Emergent Jungle Tree Sapling=應急叢林樹苗 | ||||||
|  | Pine Tree=松樹 | ||||||
|  | Pine Wood Planks=松樹木板 | ||||||
|  | Pine Needles=松針 | ||||||
|  | Pine Tree Sapling=松樹樹苗 | ||||||
|  | Acacia Tree=相思樹 | ||||||
|  | Acacia Wood Planks=相思樹木板 | ||||||
|  | Acacia Tree Leaves=相思樹葉 | ||||||
|  | Acacia Tree Sapling=相思樹樹苗 | ||||||
|  | Aspen Tree=白楊樹 | ||||||
|  | Aspen Wood Planks=白楊樹木板 | ||||||
|  | Aspen Tree Leaves=白楊樹葉 | ||||||
|  | Aspen Tree Sapling=白楊樹樹苗 | ||||||
|  | Coal Ore=煤炭礦石 | ||||||
|  | Coal Block=煤炭方塊 | ||||||
|  | Iron Ore=鐵礦石 | ||||||
|  | Steel Block=鋼方塊 | ||||||
|  | Copper Ore=銅礦石 | ||||||
|  | Copper Block=銅方塊 | ||||||
|  | Tin Ore=錫礦石 | ||||||
|  | Tin Block=錫方塊 | ||||||
|  | Bronze Block=青銅方塊 | ||||||
|  | Mese Ore=黃石礦石 | ||||||
|  | Mese Block=黃石方塊 | ||||||
|  | Gold Ore=金礦石 | ||||||
|  | Gold Block=金方塊 | ||||||
|  | Diamond Ore=鑽石礦石 | ||||||
|  | Diamond Block=鑽石方塊 | ||||||
|  | Cactus=仙人掌 | ||||||
|  | Large Cactus Seedling=大仙人掌苗 | ||||||
|  | Papyrus=莎草紙 | ||||||
|  | Dry Shrub=幹灌木 | ||||||
|  | Jungle Grass=叢林草 | ||||||
|  | Grass=草 | ||||||
|  | Dry Grass=乾草 | ||||||
|  | Fern=蕨 | ||||||
|  | Marram Grass=濱草 | ||||||
|  | Bush Stem=灌木 | ||||||
|  | Bush Leaves=灌木葉 | ||||||
|  | Bush Sapling=灌木苗 | ||||||
|  | Blueberry Bush Leaves with Berries=藍莓灌木葉與漿果 | ||||||
|  | Blueberry Bush Leaves=藍莓灌木葉 | ||||||
|  | Blueberry Bush Sapling=藍莓灌木苗 | ||||||
|  | Acacia Bush Stem=相思灌木 | ||||||
|  | Acacia Bush Leaves=相思灌木葉 | ||||||
|  | Acacia Bush Sapling=相思灌木苗 | ||||||
|  | Pine Bush Stem=松樹灌木 | ||||||
|  | Pine Bush Needles=松樹灌木針 | ||||||
|  | Pine Bush Sapling=松樹灌木苗 | ||||||
|  | Kelp=海帶 | ||||||
|  | Green Coral=綠珊瑚 | ||||||
|  | Pink Coral=淡紅珊瑚 | ||||||
|  | Cyan Coral=青珊瑚 | ||||||
|  | Brown Coral=棕珊瑚 | ||||||
|  | Orange Coral=橙珊瑚 | ||||||
|  | Coral Skeleton=珊瑚骨架 | ||||||
|  | Water Source=水方塊 | ||||||
|  | Flowing Water=流動的水 | ||||||
|  | River Water Source=河水方塊 | ||||||
|  | Flowing River Water=流動的河水 | ||||||
|  | Lava Source=岩漿方塊 | ||||||
|  | Flowing Lava=流動的岩漿 | ||||||
|  | Empty Bookshelf=空書架 | ||||||
|  | Bookshelf (@1 written, @2 empty books)=書架(@1本有字的書,@2本空書) | ||||||
|  | Bookshelf=書架 | ||||||
|  | Text too long=文字太長 | ||||||
|  | Wooden Sign=木牌 | ||||||
|  | Steel Sign=鐵牌 | ||||||
|  | Wooden Ladder=木梯子 | ||||||
|  | Steel Ladder=鐵梯子 | ||||||
|  | Apple Wood Fence=蘋果木柵欄 | ||||||
|  | Acacia Wood Fence=相思木柵欄 | ||||||
|  | Jungle Wood Fence=叢林木柵欄 | ||||||
|  | Pine Wood Fence=松木柵欄 | ||||||
|  | Aspen Wood Fence=白楊木柵欄 | ||||||
|  | Apple Wood Fence Rail=蘋果木欄杆 | ||||||
|  | Acacia Wood Fence Rail=相思木欄杆 | ||||||
|  | Jungle Wood Fence Rail=叢林木欄杆 | ||||||
|  | Pine Wood Fence Rail=松木欄杆 | ||||||
|  | Aspen Wood Fence Rail=白楊木欄杆 | ||||||
|  | Glass=玻璃 | ||||||
|  | Obsidian Glass=黑曜石玻璃 | ||||||
|  | Brick Block=磚方塊 | ||||||
|  | Mese Lamp=黃石燈 | ||||||
|  | Mese Post Light=黃石柱燈 | ||||||
|  | Cloud=雲 | ||||||
|  | Wooden Pickaxe=木鎬 | ||||||
|  | Stone Pickaxe=石鎬 | ||||||
|  | Bronze Pickaxe=青銅鎬 | ||||||
|  | Steel Pickaxe=鐵鎬 | ||||||
|  | Mese Pickaxe=黃石鎬 | ||||||
|  | Diamond Pickaxe=鑽石鎬 | ||||||
|  | Wooden Shovel=木鏟 | ||||||
|  | Stone Shovel=石鏟 | ||||||
|  | Bronze Shovel=青銅鏟 | ||||||
|  | Steel Shovel=鐵鏟 | ||||||
|  | Mese Shovel=黃石鏟 | ||||||
|  | Diamond Shovel=鑽石鏟 | ||||||
|  | Wooden Axe=木斧 | ||||||
|  | Stone Axe=石斧 | ||||||
|  | Bronze Axe=青銅斧 | ||||||
|  | Steel Axe=鐵斧 | ||||||
|  | Mese Axe=黃石斧 | ||||||
|  | Diamond Axe=鑽石斧 | ||||||
|  | Wooden Sword=木劍 | ||||||
|  | Stone Sword=石劍 | ||||||
|  | Bronze Sword=青銅劍 | ||||||
|  | Steel Sword=鐵劍 | ||||||
|  | Mese Sword=黃石劍 | ||||||
|  | Diamond Sword=鑽石劍 | ||||||
|  | Key=鑰匙 | ||||||
|  | Torch=火把 | ||||||
|  | @1 will intersect protection on growth.=@1將與增長的保護相交。 | ||||||
|  | Title:=標題: | ||||||
|  | Contents:=內容: | ||||||
|  | Save=保存 | ||||||
|  | by @1=由@1 | ||||||
|  | Page @1 of @2=第@1頁,共@2頁。 | ||||||
|  | "@1"="@1" | ||||||
| @@ -576,7 +576,7 @@ function default.register_ores() | |||||||
| 		-- Only where default:dirt is present as surface material | 		-- Only where default:dirt is present as surface material | ||||||
| 		biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest", | 		biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest", | ||||||
| 				"deciduous_forest", "deciduous_forest_shore", "rainforest", | 				"deciduous_forest", "deciduous_forest_shore", "rainforest", | ||||||
| 				"rainforest_swamp", "floatland_coniferous_forest"} | 				"rainforest_swamp"} | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| 	-- Gravel | 	-- Gravel | ||||||
| @@ -890,7 +890,7 @@ end | |||||||
|  |  | ||||||
| -- All mapgens except mgv6 | -- All mapgens except mgv6 | ||||||
|  |  | ||||||
| function default.register_biomes(upper_limit) | function default.register_biomes() | ||||||
|  |  | ||||||
| 	-- Icesheet | 	-- Icesheet | ||||||
|  |  | ||||||
| @@ -909,7 +909,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		depth_riverbed = 2, | 		depth_riverbed = 2, | ||||||
| 		node_dungeon = "default:ice", | 		node_dungeon = "default:ice", | ||||||
| 		node_dungeon_stair = "stairs:stair_ice", | 		node_dungeon_stair = "stairs:stair_ice", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = -8, | 		y_min = -8, | ||||||
| 		heat_point = 0, | 		heat_point = 0, | ||||||
| 		humidity_point = 73, | 		humidity_point = 73, | ||||||
| @@ -956,7 +956,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 47, | 		y_min = 47, | ||||||
| 		heat_point = 0, | 		heat_point = 0, | ||||||
| 		humidity_point = 40, | 		humidity_point = 40, | ||||||
| @@ -1043,7 +1043,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		heat_point = 25, | 		heat_point = 25, | ||||||
| 		humidity_point = 70, | 		humidity_point = 70, | ||||||
| @@ -1095,7 +1095,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		heat_point = 20, | 		heat_point = 20, | ||||||
| 		humidity_point = 35, | 		humidity_point = 35, | ||||||
| @@ -1146,7 +1146,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 6, | 		y_min = 6, | ||||||
| 		heat_point = 50, | 		heat_point = 50, | ||||||
| 		humidity_point = 35, | 		humidity_point = 35, | ||||||
| @@ -1213,7 +1213,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 6, | 		y_min = 6, | ||||||
| 		heat_point = 45, | 		heat_point = 45, | ||||||
| 		humidity_point = 70, | 		humidity_point = 70, | ||||||
| @@ -1280,7 +1280,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 1, | 		y_min = 1, | ||||||
| 		heat_point = 60, | 		heat_point = 60, | ||||||
| 		humidity_point = 68, | 		humidity_point = 68, | ||||||
| @@ -1347,7 +1347,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		depth_riverbed = 2, | 		depth_riverbed = 2, | ||||||
| 		node_dungeon = "default:desert_stone", | 		node_dungeon = "default:desert_stone", | ||||||
| 		node_dungeon_stair = "stairs:stair_desert_stone", | 		node_dungeon_stair = "stairs:stair_desert_stone", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		heat_point = 92, | 		heat_point = 92, | ||||||
| 		humidity_point = 16, | 		humidity_point = 16, | ||||||
| @@ -1397,7 +1397,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		depth_riverbed = 2, | 		depth_riverbed = 2, | ||||||
| 		node_dungeon = "default:sandstonebrick", | 		node_dungeon = "default:sandstonebrick", | ||||||
| 		node_dungeon_stair = "stairs:stair_sandstone_block", | 		node_dungeon_stair = "stairs:stair_sandstone_block", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		heat_point = 60, | 		heat_point = 60, | ||||||
| 		humidity_point = 0, | 		humidity_point = 0, | ||||||
| @@ -1446,7 +1446,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		heat_point = 40, | 		heat_point = 40, | ||||||
| 		humidity_point = 0, | 		humidity_point = 0, | ||||||
| @@ -1496,7 +1496,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 1, | 		y_min = 1, | ||||||
| 		heat_point = 89, | 		heat_point = 89, | ||||||
| 		humidity_point = 42, | 		humidity_point = 42, | ||||||
| @@ -1563,7 +1563,7 @@ function default.register_biomes(upper_limit) | |||||||
| 		node_dungeon = "default:cobble", | 		node_dungeon = "default:cobble", | ||||||
| 		node_dungeon_alt = "default:mossycobble", | 		node_dungeon_alt = "default:mossycobble", | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", | 		node_dungeon_stair = "stairs:stair_cobble", | ||||||
| 		y_max = upper_limit, | 		y_max = 31000, | ||||||
| 		y_min = 1, | 		y_min = 1, | ||||||
| 		heat_point = 86, | 		heat_point = 86, | ||||||
| 		humidity_point = 65, | 		humidity_point = 65, | ||||||
| @@ -1619,59 +1619,6 @@ function default.register_biomes(upper_limit) | |||||||
| end | end | ||||||
|  |  | ||||||
|  |  | ||||||
| -- Biomes for floatlands |  | ||||||
|  |  | ||||||
| -- TODO Temporary simple biomes to be replaced by special floatland biomes later. |  | ||||||
|  |  | ||||||
| function default.register_floatland_biomes(floatland_level, shadow_limit) |  | ||||||
|  |  | ||||||
| 	minetest.register_biome({ |  | ||||||
| 		name = "floatland_grassland", |  | ||||||
| 		node_top = "default:dirt_with_grass", |  | ||||||
| 		depth_top = 1, |  | ||||||
| 		node_filler = "default:dirt", |  | ||||||
| 		depth_filler = 1, |  | ||||||
| 		node_dungeon = "default:cobble", |  | ||||||
| 		node_dungeon_alt = "default:mossycobble", |  | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", |  | ||||||
| 		y_max = 31000, |  | ||||||
| 		y_min = floatland_level + 2, |  | ||||||
| 		heat_point = 50, |  | ||||||
| 		humidity_point = 25, |  | ||||||
| 	}) |  | ||||||
|  |  | ||||||
| 	minetest.register_biome({ |  | ||||||
| 		name = "floatland_coniferous_forest", |  | ||||||
| 		node_top = "default:dirt_with_coniferous_litter", |  | ||||||
| 		depth_top = 1, |  | ||||||
| 		node_filler = "default:dirt", |  | ||||||
| 		depth_filler = 3, |  | ||||||
| 		node_dungeon = "default:cobble", |  | ||||||
| 		node_dungeon_alt = "default:mossycobble", |  | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", |  | ||||||
| 		y_max = 31000, |  | ||||||
| 		y_min = floatland_level + 2, |  | ||||||
| 		heat_point = 50, |  | ||||||
| 		humidity_point = 75, |  | ||||||
| 	}) |  | ||||||
|  |  | ||||||
| 	minetest.register_biome({ |  | ||||||
| 		name = "floatland_ocean", |  | ||||||
| 		node_top = "default:sand", |  | ||||||
| 		depth_top = 1, |  | ||||||
| 		node_filler = "default:sand", |  | ||||||
| 		depth_filler = 3, |  | ||||||
| 		node_dungeon = "default:cobble", |  | ||||||
| 		node_dungeon_alt = "default:mossycobble", |  | ||||||
| 		node_dungeon_stair = "stairs:stair_cobble", |  | ||||||
| 		y_max = floatland_level + 1, |  | ||||||
| 		y_min = shadow_limit, |  | ||||||
| 		heat_point = 50, |  | ||||||
| 		humidity_point = 50, |  | ||||||
| 	}) |  | ||||||
| end |  | ||||||
|  |  | ||||||
|  |  | ||||||
| -- | -- | ||||||
| -- Register decorations | -- Register decorations | ||||||
| -- | -- | ||||||
| @@ -1787,7 +1734,7 @@ local function register_grass_decoration(offset, scale, length) | |||||||
| 			octaves = 3, | 			octaves = 3, | ||||||
| 			persist = 0.6 | 			persist = 0.6 | ||||||
| 		}, | 		}, | ||||||
| 		biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, | 		biomes = {"grassland", "deciduous_forest"}, | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
| 		y_min = 1, | 		y_min = 1, | ||||||
| 		decoration = "default:grass_" .. length, | 		decoration = "default:grass_" .. length, | ||||||
| @@ -1829,7 +1776,7 @@ local function register_fern_decoration(seed, length) | |||||||
| 			octaves = 3, | 			octaves = 3, | ||||||
| 			persist = 0.7 | 			persist = 0.7 | ||||||
| 		}, | 		}, | ||||||
| 		biomes = {"coniferous_forest", "floatland_coniferous_forest"}, | 		biomes = {"coniferous_forest"}, | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
| 		y_min = 6, | 		y_min = 6, | ||||||
| 		decoration = "default:fern_" .. length, | 		decoration = "default:fern_" .. length, | ||||||
| @@ -1944,11 +1891,35 @@ function default.register_decorations() | |||||||
| 	minetest.register_decoration({ | 	minetest.register_decoration({ | ||||||
| 		name = "default:jungle_tree", | 		name = "default:jungle_tree", | ||||||
| 		deco_type = "schematic", | 		deco_type = "schematic", | ||||||
| 		place_on = {"default:dirt_with_rainforest_litter", "default:dirt"}, | 		place_on = {"default:dirt_with_rainforest_litter"}, | ||||||
| 		sidelen = 80, | 		sidelen = 80, | ||||||
| 		fill_ratio = 0.1, | 		fill_ratio = 0.1, | ||||||
| 		biomes = {"rainforest", "rainforest_swamp"}, | 		biomes = {"rainforest"}, | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
|  | 		y_min = 1, | ||||||
|  | 		schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", | ||||||
|  | 		flags = "place_center_x, place_center_z", | ||||||
|  | 		rotation = "random", | ||||||
|  | 	}) | ||||||
|  |  | ||||||
|  | 	-- Swamp jungle trees | ||||||
|  |  | ||||||
|  | 	minetest.register_decoration({ | ||||||
|  | 		name = "default:jungle_tree(swamp)", | ||||||
|  | 		deco_type = "schematic", | ||||||
|  | 		place_on = {"default:dirt"}, | ||||||
|  | 		sidelen = 16, | ||||||
|  | 		-- Noise tuned to place swamp trees where papyrus is absent | ||||||
|  | 		noise_params = { | ||||||
|  | 			offset = 0.0, | ||||||
|  | 			scale = -0.1, | ||||||
|  | 			spread = {x = 200, y = 200, z = 200}, | ||||||
|  | 			seed = 354, | ||||||
|  | 			octaves = 1, | ||||||
|  | 			persist = 0.5 | ||||||
|  | 		}, | ||||||
|  | 		biomes = {"rainforest_swamp"}, | ||||||
|  | 		y_max = 0, | ||||||
| 		y_min = -1, | 		y_min = -1, | ||||||
| 		schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", | 		schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", | ||||||
| 		flags = "place_center_x, place_center_z", | 		flags = "place_center_x, place_center_z", | ||||||
| @@ -1962,7 +1933,7 @@ function default.register_decorations() | |||||||
| 		place_offset_y = 1, | 		place_offset_y = 1, | ||||||
| 		sidelen = 80, | 		sidelen = 80, | ||||||
| 		fill_ratio = 0.005, | 		fill_ratio = 0.005, | ||||||
| 		biomes = {"rainforest", "rainforest_swamp"}, | 		biomes = {"rainforest"}, | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
| 		y_min = 1, | 		y_min = 1, | ||||||
| 		schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts", | 		schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts", | ||||||
| @@ -1987,7 +1958,7 @@ function default.register_decorations() | |||||||
| 			octaves = 3, | 			octaves = 3, | ||||||
| 			persist = 0.66 | 			persist = 0.66 | ||||||
| 		}, | 		}, | ||||||
| 		biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, | 		biomes = {"taiga", "coniferous_forest"}, | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts", | 		schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts", | ||||||
| @@ -2007,7 +1978,7 @@ function default.register_decorations() | |||||||
| 			octaves = 3, | 			octaves = 3, | ||||||
| 			persist = 0.66 | 			persist = 0.66 | ||||||
| 		}, | 		}, | ||||||
| 		biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, | 		biomes = {"taiga", "coniferous_forest"}, | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts", | 		schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts", | ||||||
| @@ -2021,7 +1992,7 @@ function default.register_decorations() | |||||||
| 		place_offset_y = 1, | 		place_offset_y = 1, | ||||||
| 		sidelen = 80, | 		sidelen = 80, | ||||||
| 		fill_ratio = 0.0018, | 		fill_ratio = 0.0018, | ||||||
| 		biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, | 		biomes = {"taiga", "coniferous_forest"}, | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
| 		y_min = 4, | 		y_min = 4, | ||||||
| 		schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts", | 		schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts", | ||||||
| @@ -2172,8 +2143,10 @@ function default.register_decorations() | |||||||
|  |  | ||||||
| 	-- Papyrus | 	-- Papyrus | ||||||
|  |  | ||||||
|  | 	-- Dirt version for rainforest swamp | ||||||
|  |  | ||||||
| 	minetest.register_decoration({ | 	minetest.register_decoration({ | ||||||
| 		name = "default:papyrus", | 		name = "default:papyrus_on_dirt", | ||||||
| 		deco_type = "schematic", | 		deco_type = "schematic", | ||||||
| 		place_on = {"default:dirt"}, | 		place_on = {"default:dirt"}, | ||||||
| 		sidelen = 16, | 		sidelen = 16, | ||||||
| @@ -2185,10 +2158,32 @@ function default.register_decorations() | |||||||
| 			octaves = 3, | 			octaves = 3, | ||||||
| 			persist = 0.7 | 			persist = 0.7 | ||||||
| 		}, | 		}, | ||||||
|  | 		biomes = {"rainforest_swamp"}, | ||||||
|  | 		y_max = 0, | ||||||
|  | 		y_min = 0, | ||||||
|  | 		schematic = minetest.get_modpath("default") .. "/schematics/papyrus_on_dirt.mts", | ||||||
|  | 	}) | ||||||
|  |  | ||||||
|  | 	-- Dry dirt version for savanna shore | ||||||
|  |  | ||||||
|  | 	minetest.register_decoration({ | ||||||
|  | 		name = "default:papyrus_on_dry_dirt", | ||||||
|  | 		deco_type = "schematic", | ||||||
|  | 		place_on = {"default:dry_dirt"}, | ||||||
|  | 		sidelen = 16, | ||||||
|  | 		noise_params = { | ||||||
|  | 			offset = -0.3, | ||||||
|  | 			scale = 0.7, | ||||||
|  | 			spread = {x = 200, y = 200, z = 200}, | ||||||
|  | 			seed = 354, | ||||||
|  | 			octaves = 3, | ||||||
|  | 			persist = 0.7 | ||||||
|  | 		}, | ||||||
| 		biomes = {"savanna_shore"}, | 		biomes = {"savanna_shore"}, | ||||||
| 		y_max = 0, | 		y_max = 0, | ||||||
| 		y_min = 0, | 		y_min = 0, | ||||||
| 		schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts", | 		schematic = minetest.get_modpath("default") .. | ||||||
|  | 			"/schematics/papyrus_on_dry_dirt.mts", | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| 	-- Bush | 	-- Bush | ||||||
| @@ -2206,8 +2201,7 @@ function default.register_decorations() | |||||||
| 			octaves = 3, | 			octaves = 3, | ||||||
| 			persist = 0.7, | 			persist = 0.7, | ||||||
| 		}, | 		}, | ||||||
| 		biomes = {"grassland", "deciduous_forest", | 		biomes = {"grassland", "deciduous_forest"}, | ||||||
| 			"floatland_grassland"}, |  | ||||||
| 		y_max = 31000, | 		y_max = 31000, | ||||||
| 		y_min = 1, | 		y_min = 1, | ||||||
| 		schematic = minetest.get_modpath("default") .. "/schematics/bush.mts", | 		schematic = minetest.get_modpath("default") .. "/schematics/bush.mts", | ||||||
| @@ -2479,22 +2473,9 @@ end | |||||||
|  |  | ||||||
|  |  | ||||||
| -- | -- | ||||||
| -- Detect mapgen, flags and parameters to select functions | -- Detect mapgen to select functions | ||||||
| -- | -- | ||||||
|  |  | ||||||
| -- Get setting or default |  | ||||||
| local mgv7_spflags = minetest.get_mapgen_setting("mgv7_spflags") or |  | ||||||
| 	"mountains, ridges, nofloatlands, caverns" |  | ||||||
| local captures_float = string.match(mgv7_spflags, "floatlands") |  | ||||||
| local captures_nofloat = string.match(mgv7_spflags, "nofloatlands") |  | ||||||
|  |  | ||||||
| -- Get setting or default |  | ||||||
| -- Make global for mods to use to register floatland biomes |  | ||||||
| default.mgv7_floatland_level = |  | ||||||
| 	minetest.get_mapgen_setting("mgv7_floatland_level") or 1280 |  | ||||||
| default.mgv7_shadow_limit = |  | ||||||
| 	minetest.get_mapgen_setting("mgv7_shadow_limit") or 1024 |  | ||||||
|  |  | ||||||
| minetest.clear_registered_biomes() | minetest.clear_registered_biomes() | ||||||
| minetest.clear_registered_ores() | minetest.clear_registered_ores() | ||||||
| minetest.clear_registered_decorations() | minetest.clear_registered_decorations() | ||||||
| @@ -2504,19 +2485,8 @@ local mg_name = minetest.get_mapgen_setting("mg_name") | |||||||
| if mg_name == "v6" then | if mg_name == "v6" then | ||||||
| 	default.register_mgv6_ores() | 	default.register_mgv6_ores() | ||||||
| 	default.register_mgv6_decorations() | 	default.register_mgv6_decorations() | ||||||
| -- Need to check for 'nofloatlands' because that contains |  | ||||||
| -- 'floatlands' which makes the second condition true. |  | ||||||
| elseif mg_name == "v7" and |  | ||||||
| 		captures_float == "floatlands" and |  | ||||||
| 		captures_nofloat ~= "nofloatlands" then |  | ||||||
| 	-- Mgv7 with floatlands and floatland biomes |  | ||||||
| 	default.register_biomes(default.mgv7_shadow_limit - 1) |  | ||||||
| 	default.register_floatland_biomes( |  | ||||||
| 		default.mgv7_floatland_level, default.mgv7_shadow_limit) |  | ||||||
| 	default.register_ores() |  | ||||||
| 	default.register_decorations() |  | ||||||
| else | else | ||||||
| 	default.register_biomes(31000) | 	default.register_biomes() | ||||||
| 	default.register_ores() | 	default.register_ores() | ||||||
| 	default.register_decorations() | 	default.register_decorations() | ||||||
| end | end | ||||||
|   | |||||||
| @@ -2031,7 +2031,7 @@ local function coral_on_place(itemstack, placer, pointed_thing) | |||||||
| 	local def_under = minetest.registered_nodes[node_under.name] | 	local def_under = minetest.registered_nodes[node_under.name] | ||||||
|  |  | ||||||
| 	if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then | 	if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then | ||||||
| 		return def_under.on_rightclick(pos_under, node_under.name, | 		return def_under.on_rightclick(pos_under, node_under, | ||||||
| 				placer, itemstack, pointed_thing) or itemstack | 				placer, itemstack, pointed_thing) or itemstack | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
| @@ -2203,7 +2203,7 @@ minetest.register_node("default:water_source", { | |||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
| 	alpha = 160, | 	alpha = 191, | ||||||
| 	paramtype = "light", | 	paramtype = "light", | ||||||
| 	walkable = false, | 	walkable = false, | ||||||
| 	pointable = false, | 	pointable = false, | ||||||
| @@ -2234,7 +2234,7 @@ minetest.register_node("default:water_flowing", { | |||||||
| 				type = "vertical_frames", | 				type = "vertical_frames", | ||||||
| 				aspect_w = 16, | 				aspect_w = 16, | ||||||
| 				aspect_h = 16, | 				aspect_h = 16, | ||||||
| 				length = 0.8, | 				length = 0.5, | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| @@ -2244,11 +2244,11 @@ minetest.register_node("default:water_flowing", { | |||||||
| 				type = "vertical_frames", | 				type = "vertical_frames", | ||||||
| 				aspect_w = 16, | 				aspect_w = 16, | ||||||
| 				aspect_h = 16, | 				aspect_h = 16, | ||||||
| 				length = 0.8, | 				length = 0.5, | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
| 	alpha = 160, | 	alpha = 191, | ||||||
| 	paramtype = "light", | 	paramtype = "light", | ||||||
| 	paramtype2 = "flowingliquid", | 	paramtype2 = "flowingliquid", | ||||||
| 	walkable = false, | 	walkable = false, | ||||||
| @@ -2330,7 +2330,7 @@ minetest.register_node("default:river_water_flowing", { | |||||||
| 				type = "vertical_frames", | 				type = "vertical_frames", | ||||||
| 				aspect_w = 16, | 				aspect_w = 16, | ||||||
| 				aspect_h = 16, | 				aspect_h = 16, | ||||||
| 				length = 0.8, | 				length = 0.5, | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| @@ -2340,7 +2340,7 @@ minetest.register_node("default:river_water_flowing", { | |||||||
| 				type = "vertical_frames", | 				type = "vertical_frames", | ||||||
| 				aspect_w = 16, | 				aspect_w = 16, | ||||||
| 				aspect_h = 16, | 				aspect_h = 16, | ||||||
| 				length = 0.8, | 				length = 0.5, | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								mods/default/schematics/papyrus_on_dry_dirt.mts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/default/schematics/papyrus_on_dry_dirt.mts
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 411 B After Width: | Height: | Size: 411 B | 
| Before Width: | Height: | Size: 175 B After Width: | Height: | Size: 175 B | 
| @@ -402,6 +402,57 @@ minetest.register_tool("default:sword_diamond", { | |||||||
| 	groups = {sword = 1} | 	groups = {sword = 1} | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | -- | ||||||
|  | -- Register Craft Recipies | ||||||
|  | -- | ||||||
|  |  | ||||||
|  | local craft_ingreds = { | ||||||
|  | 	wood = "group:wood", | ||||||
|  | 	stone = "group:stone", | ||||||
|  | 	steel = "default:steel_ingot", | ||||||
|  | 	bronze = "default:bronze_ingot", | ||||||
|  | 	mese = "default:mese_crystal", | ||||||
|  | 	diamond = "default:diamond" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | for name, mat in pairs(craft_ingreds) do | ||||||
|  | 	minetest.register_craft({ | ||||||
|  | 		output = "default:pick_".. name, | ||||||
|  | 		recipe = { | ||||||
|  | 			{mat, mat, mat}, | ||||||
|  | 			{"", "group:stick", ""}, | ||||||
|  | 			{"", "group:stick", ""} | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
|  |  | ||||||
|  | 	minetest.register_craft({ | ||||||
|  | 		output = "default:shovel_".. name, | ||||||
|  | 		recipe = { | ||||||
|  | 			{mat}, | ||||||
|  | 			{"group:stick"}, | ||||||
|  | 			{"group:stick"} | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
|  |  | ||||||
|  | 	minetest.register_craft({ | ||||||
|  | 		output = "default:axe_".. name, | ||||||
|  | 		recipe = { | ||||||
|  | 			{mat, mat}, | ||||||
|  | 			{mat, "group:stick"}, | ||||||
|  | 			{"", "group:stick"} | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
|  |  | ||||||
|  | 	minetest.register_craft({ | ||||||
|  | 		output = "default:sword_".. name, | ||||||
|  | 		recipe = { | ||||||
|  | 			{mat}, | ||||||
|  | 			{mat}, | ||||||
|  | 			{"group:stick"} | ||||||
|  | 		} | ||||||
|  | 	}) | ||||||
|  | end | ||||||
|  |  | ||||||
| minetest.register_tool("default:key", { | minetest.register_tool("default:key", { | ||||||
| 	description = S("Key"), | 	description = S("Key"), | ||||||
| 	inventory_image = "default_key.png", | 	inventory_image = "default_key.png", | ||||||
| @@ -441,3 +492,27 @@ minetest.register_tool("default:key", { | |||||||
| 		return nil | 		return nil | ||||||
| 	end | 	end | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:pick_wood", | ||||||
|  | 	burntime = 6, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:shovel_wood", | ||||||
|  | 	burntime = 4, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:axe_wood", | ||||||
|  | 	burntime = 6, | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:sword_wood", | ||||||
|  | 	burntime = 5, | ||||||
|  | }) | ||||||
|   | |||||||
| @@ -11,7 +11,8 @@ local function on_flood(pos, oldnode, newnode) | |||||||
| 			nodedef.groups.igniter and nodedef.groups.igniter > 0) then | 			nodedef.groups.igniter and nodedef.groups.igniter > 0) then | ||||||
| 		minetest.sound_play( | 		minetest.sound_play( | ||||||
| 			"default_cool_lava", | 			"default_cool_lava", | ||||||
| 			{pos = pos, max_hear_distance = 16, gain = 0.1} | 			{pos = pos, max_hear_distance = 16, gain = 0.1}, | ||||||
|  | 			true | ||||||
| 		) | 		) | ||||||
| 	end | 	end | ||||||
| 	-- Remove the torch node | 	-- Remove the torch node | ||||||
| @@ -70,6 +71,7 @@ minetest.register_node("default:torch", { | |||||||
| 	end, | 	end, | ||||||
| 	floodable = true, | 	floodable = true, | ||||||
| 	on_flood = on_flood, | 	on_flood = on_flood, | ||||||
|  | 	on_rotate = false | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_node("default:torch_wall", { | minetest.register_node("default:torch_wall", { | ||||||
| @@ -93,6 +95,7 @@ minetest.register_node("default:torch_wall", { | |||||||
| 	sounds = default.node_sound_wood_defaults(), | 	sounds = default.node_sound_wood_defaults(), | ||||||
| 	floodable = true, | 	floodable = true, | ||||||
| 	on_flood = on_flood, | 	on_flood = on_flood, | ||||||
|  | 	on_rotate = false | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_node("default:torch_ceiling", { | minetest.register_node("default:torch_ceiling", { | ||||||
| @@ -116,6 +119,7 @@ minetest.register_node("default:torch_ceiling", { | |||||||
| 	sounds = default.node_sound_wood_defaults(), | 	sounds = default.node_sound_wood_defaults(), | ||||||
| 	floodable = true, | 	floodable = true, | ||||||
| 	on_flood = on_flood, | 	on_flood = on_flood, | ||||||
|  | 	on_rotate = false | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.register_lbm({ | minetest.register_lbm({ | ||||||
| @@ -134,3 +138,17 @@ minetest.register_lbm({ | |||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	output = "default:torch 4", | ||||||
|  | 	recipe = { | ||||||
|  | 		{"default:coal_lump"}, | ||||||
|  | 		{"group:stick"}, | ||||||
|  | 	} | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | minetest.register_craft({ | ||||||
|  | 	type = "fuel", | ||||||
|  | 	recipe = "default:torch", | ||||||
|  | 	burntime = 4, | ||||||
|  | }) | ||||||
|   | |||||||
| @@ -176,10 +176,10 @@ function doors.door_toggle(pos, node, clicker) | |||||||
|  |  | ||||||
| 	if state % 2 == 0 then | 	if state % 2 == 0 then | ||||||
| 		minetest.sound_play(def.door.sounds[1], | 		minetest.sound_play(def.door.sounds[1], | ||||||
| 			{pos = pos, gain = 0.3, max_hear_distance = 10}) | 			{pos = pos, gain = 0.3, max_hear_distance = 10}, true) | ||||||
| 	else | 	else | ||||||
| 		minetest.sound_play(def.door.sounds[2], | 		minetest.sound_play(def.door.sounds[2], | ||||||
| 			{pos = pos, gain = 0.3, max_hear_distance = 10}) | 			{pos = pos, gain = 0.3, max_hear_distance = 10}, true) | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	minetest.swap_node(pos, { | 	minetest.swap_node(pos, { | ||||||
| @@ -340,7 +340,7 @@ function doors.register(name, def) | |||||||
| 				itemstack:take_item() | 				itemstack:take_item() | ||||||
| 			end | 			end | ||||||
|  |  | ||||||
| 			minetest.sound_play(def.sounds.place, {pos = pos}) | 			minetest.sound_play(def.sounds.place, {pos = pos}, true) | ||||||
|  |  | ||||||
| 			on_place_node(pos, minetest.get_node(pos), | 			on_place_node(pos, minetest.get_node(pos), | ||||||
| 				placer, node, itemstack, pointed_thing) | 				placer, node, itemstack, pointed_thing) | ||||||
| @@ -550,12 +550,12 @@ function doors.trapdoor_toggle(pos, node, clicker) | |||||||
|  |  | ||||||
| 	if string.sub(node.name, -5) == "_open" then | 	if string.sub(node.name, -5) == "_open" then | ||||||
| 		minetest.sound_play(def.sound_close, | 		minetest.sound_play(def.sound_close, | ||||||
| 			{pos = pos, gain = 0.3, max_hear_distance = 10}) | 			{pos = pos, gain = 0.3, max_hear_distance = 10}, true) | ||||||
| 		minetest.swap_node(pos, {name = string.sub(node.name, 1, | 		minetest.swap_node(pos, {name = string.sub(node.name, 1, | ||||||
| 			string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) | 			string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) | ||||||
| 	else | 	else | ||||||
| 		minetest.sound_play(def.sound_open, | 		minetest.sound_play(def.sound_open, | ||||||
| 			{pos = pos, gain = 0.3, max_hear_distance = 10}) | 			{pos = pos, gain = 0.3, max_hear_distance = 10}, true) | ||||||
| 		minetest.swap_node(pos, {name = node.name .. "_open", | 		minetest.swap_node(pos, {name = node.name .. "_open", | ||||||
| 			param1 = node.param1, param2 = node.param2}) | 			param1 = node.param1, param2 = node.param2}) | ||||||
| 	end | 	end | ||||||
| @@ -744,7 +744,7 @@ function doors.register_fencegate(name, def) | |||||||
| 			local node_def = minetest.registered_nodes[node.name] | 			local node_def = minetest.registered_nodes[node.name] | ||||||
| 			minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) | 			minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) | ||||||
| 			minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, | 			minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, | ||||||
| 				max_hear_distance = 8}) | 				max_hear_distance = 8}, true) | ||||||
| 			return itemstack | 			return itemstack | ||||||
| 		end, | 		end, | ||||||
| 		selection_box = { | 		selection_box = { | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								mods/doors/locale/doors.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								mods/doors/locale/doors.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | # textdomain: doors | ||||||
|  | Hidden Door Segment=Segmen Pintu Tersembunyi | ||||||
|  | Owned by @1=Milik @1 | ||||||
|  | You do not own this locked door.=Anda bukan pemilik pintu berkunci ini. | ||||||
|  | a locked door=pintu berkunci | ||||||
|  | Wooden Door=Pintu Kayu | ||||||
|  | Steel Door=Pintu Keluli | ||||||
|  | Glass Door=Pintu Kaca | ||||||
|  | Obsidian Glass Door=Pintu Kaca Obsidia | ||||||
|  | You do not own this trapdoor.=Anda bukan pemilik pintu kolong ini. | ||||||
|  | a locked trapdoor=pintu kolong berkunci | ||||||
|  | Wooden Trapdoor=Pintu Kolong Kayu | ||||||
|  | Steel Trapdoor=Pintu Kolong Keluli | ||||||
|  | Apple Wood Fence Gate=Pintu Pagar Kayu Epal | ||||||
|  | Acacia Wood Fence Gate=Pintu Pagar Kayu Akasia | ||||||
|  | Jungle Wood Fence Gate=Pintu Pagar Kayu Hutan | ||||||
|  | Pine Wood Fence Gate=Pintu Pagar Kayu Pain | ||||||
|  | Aspen Wood Fence Gate=Pintu Pagar Kayu Aspen | ||||||
							
								
								
									
										18
									
								
								mods/doors/locale/doors.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								mods/doors/locale/doors.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | # textdomain: doors | ||||||
|  | Hidden Door Segment=Спрятанная Часть Двери | ||||||
|  | Owned by @1=Владелец: @1 | ||||||
|  | You do not own this locked door.=Вы не владелец этой заблокированной двери. | ||||||
|  | a locked door=заблокированная дверь | ||||||
|  | Wooden Door=Деревянная Дверь | ||||||
|  | Steel Door=Стальная Дверь | ||||||
|  | Glass Door=Стеклянная Дверь | ||||||
|  | Obsidian Glass Door=Дверь Из Обсидианового Стекла | ||||||
|  | You do not own this trapdoor.=Вы не владелец этого люка. | ||||||
|  | a locked trapdoor=заблокированный люк | ||||||
|  | Wooden Trapdoor=Деревянный Люк | ||||||
|  | Steel Trapdoor=Стальной Люк | ||||||
|  | Apple Wood Fence Gate=Яблоневая Деревянная Калитка | ||||||
|  | Acacia Wood Fence Gate=Деревянная Калитка Из Акации | ||||||
|  | Jungle Wood Fence Gate=Деревянная Калитка Из Тропического Дерева | ||||||
|  | Pine Wood Fence Gate=Сосновая Деревянная Калитка | ||||||
|  | Aspen Wood Fence Gate=Осиновая Деревянная Калитка | ||||||
							
								
								
									
										19
									
								
								mods/doors/locale/doors.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								mods/doors/locale/doors.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | # textdomain: doors | ||||||
|  | Hidden Door Segment=Dold dörrsegment | ||||||
|  | Owned by @1=Ägd av @1 | ||||||
|  | You do not own this locked door.=Du äger inte denna låsta dörr. | ||||||
|  | a locked door=en låst dörr | ||||||
|  | Wooden Door=Trä Dörr | ||||||
|  | Steel Door=Stål Dörr | ||||||
|  | Glass Door=Glas Dörr | ||||||
|  | Obsidian Glass Door=Obsidian Glas Dörr | ||||||
|  | Owned by @1=Ägd av @1 | ||||||
|  | You do not own this trapdoor.=Du äger inte denna fallucka | ||||||
|  | a locked trapdoor=en låst fallucka | ||||||
|  | Wooden Trapdoor=Trä Fallucka | ||||||
|  | Steel Trapdoor=Stål Fallucka | ||||||
|  | Apple Wood Fence Gate=Äpple Trä Fallucka | ||||||
|  | Acacia Wood Fence Gate=Akacia Trä Fallucka | ||||||
|  | Jungle Wood Fence Gate=Djungel Trä Fallucka | ||||||
|  | Pine Wood Fence Gate=Tall Trä Fallucka | ||||||
|  | Aspen Wood Fence Gate=Asp Trä Fallucka | ||||||
							
								
								
									
										18
									
								
								mods/doors/locale/doors.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								mods/doors/locale/doors.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | # textdomain: doors | ||||||
|  | Hidden Door Segment=隐藏门段 | ||||||
|  | Owned by @1=由@1拥有 | ||||||
|  | You do not own this locked door.=这个门不属于你所有。 | ||||||
|  | a locked door=一扇已上锁的门 | ||||||
|  | Wooden Door=木门 | ||||||
|  | Steel Door=铁门 | ||||||
|  | Glass Door=玻璃门 | ||||||
|  | Obsidian Glass Door=黑曜石玻璃门 | ||||||
|  | You do not own this trapdoor.=这个活板门不属于你所有。 | ||||||
|  | a locked trapdoor=一扇已上锁的活板门 | ||||||
|  | Wooden Trapdoor=木活板门 | ||||||
|  | Steel Trapdoor=铁活板门 | ||||||
|  | Apple Wood Fence Gate=用苹果树做的木栅栏门 | ||||||
|  | Acacia Wood Fence Gate=相思木栅栏门 | ||||||
|  | Jungle Wood Fence Gate=丛林木栅栏门 | ||||||
|  | Pine Wood Fence Gate=松木栅栏门 | ||||||
|  | Aspen Wood Fence Gate=白杨木栅栏门 | ||||||
							
								
								
									
										18
									
								
								mods/doors/locale/doors.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								mods/doors/locale/doors.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | # textdomain: doors | ||||||
|  | Hidden Door Segment=隱藏門段 | ||||||
|  | Owned by @1=由@1擁有 | ||||||
|  | You do not own this locked door.=這個門不屬於你所有。 | ||||||
|  | a locked door=一扇已上鎖的門 | ||||||
|  | Wooden Door=木門 | ||||||
|  | Steel Door=鐵門 | ||||||
|  | Glass Door=玻璃門 | ||||||
|  | Obsidian Glass Door=黑曜石玻璃門 | ||||||
|  | You do not own this trapdoor.=這個活板門不屬於你所有。 | ||||||
|  | a locked trapdoor=一扇已上鎖的活板門 | ||||||
|  | Wooden Trapdoor=木活板門 | ||||||
|  | Steel Trapdoor=鐵活板門 | ||||||
|  | Apple Wood Fence Gate=用蘋果樹做的木柵欄門 | ||||||
|  | Acacia Wood Fence Gate=相思木柵欄門 | ||||||
|  | Jungle Wood Fence Gate=叢林木柵欄門 | ||||||
|  | Pine Wood Fence Gate=松木柵欄門 | ||||||
|  | Aspen Wood Fence Gate=白楊木柵欄門 | ||||||
| @@ -1,26 +1,13 @@ | |||||||
| dungeon_loot.registered_loot = { | -- Loot from the `default` mod is registered here, | ||||||
| 	-- buckets | -- with the rest being registered in the respective mods | ||||||
| 	{name = "bucket:bucket_empty", chance = 0.55}, |  | ||||||
| 	-- water in deserts/ice or above ground, lava otherwise |  | ||||||
| 	{name = "bucket:bucket_water", chance = 0.45, |  | ||||||
| 		types = {"sandstone", "desert", "ice"}}, |  | ||||||
| 	{name = "bucket:bucket_water", chance = 0.45, y = {0, 32768}, |  | ||||||
| 		types = {"normal"}}, |  | ||||||
| 	{name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1}, |  | ||||||
| 		types = {"normal"}}, |  | ||||||
|  |  | ||||||
|  | dungeon_loot.registered_loot = { | ||||||
| 	-- various items | 	-- various items | ||||||
| 	{name = "default:stick", chance = 0.6, count = {3, 6}}, | 	{name = "default:stick", chance = 0.6, count = {3, 6}}, | ||||||
| 	{name = "default:flint", chance = 0.4, count = {1, 3}}, | 	{name = "default:flint", chance = 0.4, count = {1, 3}}, | ||||||
| 	{name = "vessels:glass_fragments", chance = 0.35, count = {1, 4}}, |  | ||||||
| 	{name = "carts:rail", chance = 0.35, count = {1, 6}}, |  | ||||||
|  |  | ||||||
| 	-- farming / consumable | 	-- farming / consumable | ||||||
| 	{name = "farming:string", chance = 0.5, count = {1, 8}}, |  | ||||||
| 	{name = "farming:wheat", chance = 0.5, count = {2, 5}}, |  | ||||||
| 	{name = "default:apple", chance = 0.4, count = {1, 4}}, | 	{name = "default:apple", chance = 0.4, count = {1, 4}}, | ||||||
| 	{name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, |  | ||||||
| 		types = {"normal"}}, |  | ||||||
| 	{name = "default:cactus", chance = 0.4, count = {1, 4}, | 	{name = "default:cactus", chance = 0.4, count = {1, 4}, | ||||||
| 		types = {"sandstone", "desert"}}, | 		types = {"sandstone", "desert"}}, | ||||||
|  |  | ||||||
|   | |||||||
| @@ -89,8 +89,9 @@ local function populate_chest(pos, rand, dungeontype) | |||||||
| 				amount = rand:next(loot.count[1], loot.count[2]) | 				amount = rand:next(loot.count[1], loot.count[2]) | ||||||
| 			end | 			end | ||||||
|  |  | ||||||
| 			if itemdef then | 			if not itemdef then | ||||||
| 				if itemdef.tool_capabilities then | 				minetest.log("warning", "Registered loot item " .. loot.name .. " does not exist") | ||||||
|  | 			elseif itemdef.tool_capabilities then | ||||||
| 				for n = 1, amount do | 				for n = 1, amount do | ||||||
| 					local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear | 					local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear | ||||||
| 					table.insert(items, ItemStack({name = loot.name, wear = wear})) | 					table.insert(items, ItemStack({name = loot.name, wear = wear})) | ||||||
| @@ -105,7 +106,6 @@ local function populate_chest(pos, rand, dungeontype) | |||||||
| 			end | 			end | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
| 	end |  | ||||||
|  |  | ||||||
| 	-- place items at random places in chest | 	-- place items at random places in chest | ||||||
| 	local inv = minetest.get_meta(pos):get_inventory() | 	local inv = minetest.get_meta(pos):get_inventory() | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								mods/dye/locale/dye.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								mods/dye/locale/dye.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | # textdomain: dye | ||||||
|  | White Dye=Pewarna Putih | ||||||
|  | Grey Dye=Pewarna Kelabu | ||||||
|  | Dark Grey Dye=Pewarna Kelabu Gelap | ||||||
|  | Black Dye=Pewarna Hitam | ||||||
|  | Violet Dye=Pewarna Ungu | ||||||
|  | Blue Dye=Pewarna Biru | ||||||
|  | Cyan Dye=Pewarna Biru Kehijauan | ||||||
|  | Dark Green Dye=Pewarna Hijau Gelap | ||||||
|  | Green Dye=Pewarna Hijau | ||||||
|  | Yellow Dye=Pewarna Kuning | ||||||
|  | Brown Dye=Pewarna Perang | ||||||
|  | Orange Dye=Pewarna Jingga | ||||||
|  | Red Dye=Pewarna Merah | ||||||
|  | Magenta Dye=Pewarna Merah Lembayung | ||||||
|  | Pink Dye=Pewarna Merah Jambu | ||||||
							
								
								
									
										16
									
								
								mods/dye/locale/dye.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								mods/dye/locale/dye.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | # textdomain: dye | ||||||
|  | White Dye=Белая Краска | ||||||
|  | Grey Dye=Серая Краска | ||||||
|  | Dark Grey Dye=Тёмно-Серая Краска | ||||||
|  | Black Dye=Черная Краска | ||||||
|  | Violet Dye=Фиолетовая Краска | ||||||
|  | Blue Dye=Синяя Краска | ||||||
|  | Cyan Dye=Голубая Краска | ||||||
|  | Dark Green Dye=Тёмно-Зелёная Краска | ||||||
|  | Green Dye=Зелёная Краска | ||||||
|  | Yellow Dye=Жёлтая Краска | ||||||
|  | Brown Dye=Бурая Краска | ||||||
|  | Orange Dye=Оранжевая Краска | ||||||
|  | Red Dye=Красная Краска | ||||||
|  | Magenta Dye=Пурпурная Краска | ||||||
|  | Pink Dye=Розовая Краска | ||||||
							
								
								
									
										16
									
								
								mods/dye/locale/dye.se.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								mods/dye/locale/dye.se.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | # textdomain: dye | ||||||
|  | White Dye=Vit Färg | ||||||
|  | Grey Dye=Grå Färg | ||||||
|  | Dark Grey Dye=Mörk Grå Färg | ||||||
|  | Black Dye=Svart Färg | ||||||
|  | Violet Dye=Violett Färg | ||||||
|  | Blue Dye=Blå Färg | ||||||
|  | Cyan Dye=Cyan Färg | ||||||
|  | Dark Green Dye=Mörk Grön Färg | ||||||
|  | Green Dye=Grön Färg | ||||||
|  | Yellow Dye=Gul Färg | ||||||
|  | Brown Dye=Brun Färg | ||||||
|  | Orange Dye=Orange Färg | ||||||
|  | Red Dye=Röd Färg | ||||||
|  | Magenta Dye=Magenta Färg | ||||||
|  | Pink Dye=Rosa Färg | ||||||
							
								
								
									
										16
									
								
								mods/dye/locale/dye.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								mods/dye/locale/dye.zh_CN.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | # textdomain: dye | ||||||
|  | White Dye=白染料 | ||||||
|  | Grey Dye=灰染料 | ||||||
|  | Dark Grey Dye=暗灰染料 | ||||||
|  | Black Dye=黑染料 | ||||||
|  | Violet Dye=紫染料 | ||||||
|  | Blue Dye=蓝染料 | ||||||
|  | Cyan Dye=青染料 | ||||||
|  | Dark Green Dye=暗绿染料 | ||||||
|  | Green Dye=绿染料 | ||||||
|  | Yellow Dye=黄染料 | ||||||
|  | Brown Dye=棕染料 | ||||||
|  | Orange Dye=橙染料 | ||||||
|  | Red Dye=红染料 | ||||||
|  | Magenta Dye=品红染料 | ||||||
|  | Pink Dye=粉红染料 | ||||||
							
								
								
									
										16
									
								
								mods/dye/locale/dye.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								mods/dye/locale/dye.zh_TW.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | # textdomain: dye | ||||||
|  | White Dye=白染料 | ||||||
|  | Grey Dye=灰染料 | ||||||
|  | Dark Grey Dye=暗灰染料 | ||||||
|  | Black Dye=黑染料 | ||||||
|  | Violet Dye=紫染料 | ||||||
|  | Blue Dye=藍染料 | ||||||
|  | Cyan Dye=青染料 | ||||||
|  | Dark Green Dye=暗綠染料 | ||||||
|  | Green Dye=綠染料 | ||||||
|  | Yellow Dye=黃染料 | ||||||
|  | Brown Dye=棕染料 | ||||||
|  | Orange Dye=橙染料 | ||||||
|  | Red Dye=紅染料 | ||||||
|  | Magenta Dye=品紅染料 | ||||||
|  | Pink Dye=粉紅染料 | ||||||
| @@ -59,7 +59,7 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses) | |||||||
| 	minetest.sound_play("default_dig_crumbly", { | 	minetest.sound_play("default_dig_crumbly", { | ||||||
| 		pos = pt.under, | 		pos = pt.under, | ||||||
| 		gain = 0.5, | 		gain = 0.5, | ||||||
| 	}) | 	}, true) | ||||||
|  |  | ||||||
| 	if not (creative and creative.is_enabled_for | 	if not (creative and creative.is_enabled_for | ||||||
| 			and creative.is_enabled_for(user:get_player_name())) then | 			and creative.is_enabled_for(user:get_player_name())) then | ||||||
| @@ -68,7 +68,8 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses) | |||||||
| 		itemstack:add_wear(65535/(uses-1)) | 		itemstack:add_wear(65535/(uses-1)) | ||||||
| 		-- tool break sound | 		-- tool break sound | ||||||
| 		if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then | 		if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then | ||||||
| 			minetest.sound_play(wdef.sound.breaks, {pos = pt.above, gain = 0.5}) | 			minetest.sound_play(wdef.sound.breaks, {pos = pt.above, | ||||||
|  | 				gain = 0.5}, true) | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
| 	return itemstack | 	return itemstack | ||||||
| @@ -176,6 +177,8 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname) | |||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	-- add the node and remove 1 item from the itemstack | 	-- add the node and remove 1 item from the itemstack | ||||||
|  | 	minetest.log("action", player_name .. " places node " .. plantname .. " at " .. | ||||||
|  | 		minetest.pos_to_string(pt.above)) | ||||||
| 	minetest.add_node(pt.above, {name = plantname, param2 = 1}) | 	minetest.add_node(pt.above, {name = plantname, param2 = 1}) | ||||||
| 	tick(pt.above) | 	tick(pt.above) | ||||||
| 	if not (creative and creative.is_enabled_for | 	if not (creative and creative.is_enabled_for | ||||||
|   | |||||||
| @@ -144,3 +144,13 @@ minetest.register_craft({ | |||||||
| 	recipe = "farming:hoe_wood", | 	recipe = "farming:hoe_wood", | ||||||
| 	burntime = 5, | 	burntime = 5, | ||||||
| }) | }) | ||||||
|  |  | ||||||
|  | -- Register farming items as dungeon loot | ||||||
|  | if minetest.global_exists("dungeon_loot") then | ||||||
|  | 	dungeon_loot.register({ | ||||||
|  | 		{name = "farming:string", chance = 0.5, count = {1, 8}}, | ||||||
|  | 		{name = "farming:wheat", chance = 0.5, count = {2, 5}}, | ||||||
|  | 		{name = "farming:seed_cotton", chance = 0.4, count = {1, 4}, | ||||||
|  | 			types = {"normal"}}, | ||||||
|  | 	}) | ||||||
|  | end | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								mods/farming/locale/farming.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								mods/farming/locale/farming.ms.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | # textdomain: farming | ||||||
|  | Wooden Hoe=Cangkul Kayu | ||||||
|  | Stone Hoe=Cangkul Batu | ||||||
|  | Steel Hoe=Cangkul Keluli | ||||||
|  | Bronze Hoe=Cangkul Gangsa | ||||||
|  | Mese Hoe=Cangkul Mese | ||||||
|  | Diamond Hoe=Cangkul Intan | ||||||
|  | Wheat Seed=Benih Gandum | ||||||
|  | Flour=Tepung | ||||||
|  | Bread=Roti | ||||||
|  | Cotton Seed=Benih Kapas | ||||||
|  | String=Benang | ||||||
|  | Soil=Tanih | ||||||
|  | Wet Soil=Tanih Lembap | ||||||
|  | Dry Soil=Tanih Kering | ||||||
|  | Wet Dry Soil=Tanih Kering Lembap | ||||||
|  | Desert Sand Soil=Tanih Pasir Gurun | ||||||
|  | Wet Desert Sand Soil=Tanih Pasir Gurun Lembap | ||||||
|  | Straw=Jerami | ||||||
|  | Straw Stair=Tangga Jerami | ||||||
|  | Inner Straw Stair=Tangga Jerami Dalaman | ||||||
|  | Outer Straw Stair=Tangga Jerami Luaran | ||||||
|  | Straw Slab=Papak Jerami | ||||||
|  | Wheat=Gandum | ||||||
|  | Cotton=Kapas | ||||||
							
								
								
									
										25
									
								
								mods/farming/locale/farming.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								mods/farming/locale/farming.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | # textdomain: farming | ||||||
|  | Wooden Hoe=Деревянная Мотыга | ||||||
|  | Stone Hoe=Каменная Мотыга | ||||||
|  | Steel Hoe=Стальная Мотыга | ||||||
|  | Bronze Hoe=Бронзовая Мотыга | ||||||
|  | Mese Hoe=Месе Мотыга | ||||||
|  | Diamond Hoe=Алмазная Мотыга | ||||||
|  | Wheat Seed=Семена Пшеницы | ||||||
|  | Flour=Мука | ||||||
|  | Bread=Хлеб | ||||||
|  | Cotton Seed=Семена Хлопка | ||||||
|  | String=Нить | ||||||
|  | Soil=Почва | ||||||
|  | Wet Soil=Влажная Почва | ||||||
|  | Dry Soil=Сухая Почва | ||||||
|  | Wet Dry Soil=Влажная Сухая Почва | ||||||
|  | Desert Sand Soil=Пустынная Песчаная Почва | ||||||
|  | Wet Desert Sand Soil=Влажная Пустынная Песчаная Почва | ||||||
|  | Straw=Солома | ||||||
|  | Straw Stair=Соломенная Ступень | ||||||
|  | Inner Straw Stair=Угловая Соломенная Ступень (Внутренний Угол) | ||||||
|  | Outer Straw Stair=Угловая Соломенная Ступень (Внешний Угол) | ||||||
|  | Straw Slab=Соломенная Плита | ||||||
|  | Wheat=Пшеница | ||||||
|  | Cotton=Хлопок | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user