mirror of
				https://github.com/Dragonop/claycrafter.git
				synced 2025-10-25 20:55:27 +02:00 
			
		
		
		
	Compare commits
	
		
			40 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 313003745c | |||
|  | 5f495d4de3 | ||
|  | d1415aebff | ||
|  | 84008fa3e2 | ||
| a658381feb | |||
| cbbc225c1f | |||
| 7b1423e8cd | |||
|  | 69330d88bc | ||
|  | 47a5202d82 | ||
|  | 8b6c5f0cad | ||
|  | 8e33df0067 | ||
|  | 83457a1f4a | ||
|  | b56b79f8e1 | ||
|  | d056566409 | ||
|  | 2ab701933d | ||
|  | 86c0626956 | ||
|  | 5c36225853 | ||
|  | 54fc2110eb | ||
|  | 367fbc6f4a | ||
| fc9daaa401 | |||
|  | 34575ded4d | ||
|  | 902f3c0e4c | ||
|  | 211c3f4b68 | ||
|  | 26d8e9dd24 | ||
|  | b49f0ad425 | ||
|  | 204a25d060 | ||
|  | 4a8a178800 | ||
|  | fea2299053 | ||
|  | 0502b438a8 | ||
|  | 64aae49bbd | ||
|  | fc192685b0 | ||
|  | 2b2a893960 | ||
|  | 75b30587e0 | ||
|  | 1626a812fa | ||
|  | 1a64404611 | ||
|  | f62ad8ef38 | ||
|  | feb2efb6bc | ||
|  | c8c4e41cae | ||
|  | ea612c59d5 | ||
|  | 21e22e4451 | 
							
								
								
									
										43
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,32 +1,31 @@ | ||||
| # claycrafter | ||||
| Minetest clay crafter mod. Adds a way to craft clay out of compressed dirt. | ||||
| Minetest clay crafter mod.  | ||||
| Adds a way for players to obtain clay other than mining, out of a common material: dirt. It adds three new nodes: | ||||
|  | ||||
| Dependencies:  | ||||
| Default | ||||
| Vessels | ||||
| Bucket | ||||
| **Claycrafter:** Used to convert compressed dirt into clay. | ||||
|  | ||||
| claycrafter.lua is derivated from furnace.lua (minetest_game) by PilzAdam and Amaz1.  | ||||
| Edited by everamzah to work for this mod. | ||||
| **Compressed dirt:** Just 9 dirt, compressed, useful for saving storage space, too!   | ||||
| (Not present if moreblocks is installed, use moreblocks:dirt_compressed instead) | ||||
|  | ||||
| #####License for Code | ||||
| **Glass of water:** Used as fuel for the Claycrafter. Placeable. | ||||
|  | ||||
| Copyright (C) 2016 Dragonop <joaco-mono@hotmail.com> | ||||
| For extra info look at the [Forum Thread](https://forum.minetest.net/viewtopic.php?f=11&t=13992) | ||||
|  | ||||
| This program is free software; you can redistribute it and/or modify | ||||
| it under the terms of the GNU Lesser General Public License as published by | ||||
| the Free Software Foundation; either version 2.1 of the License, or | ||||
| (at your option) any later version. | ||||
|  | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU Lesser General Public License for more details. | ||||
| ##### Dependencies: | ||||
| Default   | ||||
| Vessels   | ||||
|  | ||||
| You should have received a copy of the GNU Lesser General Public License along | ||||
| with this program; if not, write to the Free Software Foundation, Inc., | ||||
| 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||||
| ##### Optional dependencies:   | ||||
| moreblocks   | ||||
|  | ||||
| #####License for Textures, Models and Sounds | ||||
| ##### License for Code   | ||||
| Dragonop (LGPLv3)   | ||||
|  | ||||
| CC-BY-SA 3.0 UNPORTED. Created by Dragonop | ||||
| ##### License for Media   | ||||
| Textures created or modified by Dragonop (CC-BY-SA 4.0)   | ||||
| Glass of water derived from the Drinking Glass texture from the vessels mod made by Thomas-S which is distributed as (CC-BY-SA 3.0)   | ||||
| Compressed dirt derived from the minetest's game default dirt texture made by Neuromancer and later modified by random-geek which is distributed as (CC-BY-SA 3.0)   | ||||
| Arrow textures by Blockmen, from minetest game's default, distributed under (CC-BY-SA 3.0)   | ||||
|  | ||||
| ##### Special thanks to everamzah | ||||
|   | ||||
| @@ -200,10 +200,13 @@ minetest.register_abm({ | ||||
| 		-- | ||||
| 		-- Cooking | ||||
| 		-- | ||||
| 	 | ||||
| 		local compressed_dirt = "claycrafter:compressed_dirt" | ||||
| 		if minetest.get_modpath("moreblocks") then | ||||
| 			compressed_dirt = "moreblocks:dirt_compressed" | ||||
| 		end | ||||
| 		local cooktime = minetest.get_item_group(inv:get_stack("fuel", 1):get_name(), "h2o") | ||||
| 		local cookable = true | ||||
| 		if inv:get_stack("src", 1):get_name() ~= "claycrafter:compressed_dirt" then | ||||
| 		if inv:get_stack("src", 1):get_name() ~= compressed_dirt then | ||||
| 			cookable = false | ||||
| 		end | ||||
| 		 | ||||
| @@ -230,7 +233,7 @@ minetest.register_abm({ | ||||
| 			end | ||||
| 		else | ||||
| 			-- Furnace ran out of fuel | ||||
| 			if cookable then | ||||
| 			if cookable and inv:room_for_item("dst", ItemStack({name = "default:clay", count = 4})) then | ||||
| 				-- We need to get new fuel | ||||
| 				local fueltime = minetest.get_item_group(inv:get_stack("fuel", 1):get_name(), "h2o") | ||||
| 				 | ||||
| @@ -241,16 +244,13 @@ minetest.register_abm({ | ||||
| 					src_time = 0 | ||||
| 				else | ||||
| 					-- Take fuel from fuel list | ||||
|  | ||||
| 					if inv:room_for_item("dst", ItemStack({name = "default:clay", count = 4})) | ||||
| 					and inv:room_for_item("vessels", ItemStack({name = "vessels:drinking_glass"})) | ||||
| 					if inv:room_for_item("vessels", ItemStack({name = "vessels:drinking_glass"})) | ||||
| 					then | ||||
| 						inv:remove_item("fuel", inv:get_stack("fuel", 1):get_name()) | ||||
| 						inv:add_item("vessels", {name = "vessels:drinking_glass"}) | ||||
| 					else  | ||||
| 						swap_node(pos, "claycrafter:claycrafter_active") | ||||
| 					end | ||||
|  | ||||
| 					fuel_totaltime = fueltime | ||||
| 					fuel_time = 0 | ||||
| 					 | ||||
| @@ -271,7 +271,7 @@ minetest.register_abm({ | ||||
| 		local item_percent = 0 | ||||
| 		if cookable then | ||||
| 			item_percent =  math.floor(src_time / cooktime * 100) | ||||
| 			item_state = "In use" | ||||
| 			item_state = "Yes" | ||||
| 		else | ||||
| 			if srclist[1]:is_empty() then | ||||
| 				item_state = "Empty" | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| vessels | ||||
| default | ||||
| bucket | ||||
| @@ -1 +0,0 @@ | ||||
| Craft clay out of compressed dirt. | ||||
| @@ -1,5 +0,0 @@ | ||||
| minetest.register_craftitem("claycrafter:glass_of_water", { | ||||
| 		description = "Glass of Water", | ||||
| 		inventory_image = "claycrafter_glass_of_water.png", | ||||
| 		groups = {h2o = 1, vessel = 1}, -- How much time to convert 1 compressed dirt to 4 clay | ||||
| }) | ||||
							
								
								
									
										42
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								init.lua
									
									
									
									
									
								
							| @@ -1,40 +1,8 @@ | ||||
| -- Compressed dirt | ||||
| minetest.register_node("claycrafter:compressed_dirt", { | ||||
| 		description = "Compressed Dirt", | ||||
| 		tiles = {"claycrafter_compressed_dirt.png"}, | ||||
| 		groups = {crumbly = 1, oddly_breakable_by_hand = 1, soil = 1, cracky =1} | ||||
| }) | ||||
| -- Crafts | ||||
| minetest.register_craft({ | ||||
| 		output = "claycrafter:compressed_dirt", | ||||
| 		recipe = { | ||||
| 			{"default:dirt", "default:dirt", "default:dirt"}, | ||||
| 			{"default:dirt", "default:dirt", "default:dirt"}, | ||||
| 			{"default:dirt", "default:dirt", "default:dirt"} | ||||
| 		} | ||||
| }) | ||||
| local modpath = minetest.get_modpath("claycrafter") | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 		output = "claycrafter:glass_of_water 8", | ||||
| 		recipe = { | ||||
| 			{"vessels:drinking_glass", "vessels:drinking_glass", "vessels:drinking_glass"}, | ||||
| 			{"vessels:drinking_glass", "bucket:bucket_water", "vessels:drinking_glass"},  | ||||
| 			{"vessels:drinking_glass", "vessels:drinking_glass", "vessels:drinking_glass"} | ||||
| 		}, | ||||
| 		replacements = { | ||||
| 			{"bucket:bucket_water", "bucket:bucket_empty"}, | ||||
| 		} | ||||
| }) | ||||
| -- TODO: Investigate function to automatically get mod name. | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 		output = "claycrafter:claycrafter", | ||||
| 		recipe = { | ||||
| 			{"group:wood", "default:steel_ingot", "group:wood"}, | ||||
| 			{"group:wood", "default:glass", "group:wood"}, | ||||
| 			{"default:stick", "bucket:bucket_water", "default:stick"} | ||||
| 		} | ||||
| }) | ||||
| dofile(modpath .. "/items.lua") | ||||
| dofile(modpath .. "/claycrafter.lua") | ||||
|  | ||||
|  | ||||
| dofile(minetest.get_modpath("claycrafter") .. "/claycrafter.lua") | ||||
| dofile(minetest.get_modpath("claycrafter") .. "/glass_of_water.lua") | ||||
| minetest.log("action", "[claycrafter] loaded.") | ||||
|   | ||||
							
								
								
									
										75
									
								
								items.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								items.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,75 @@ | ||||
| --compressed dirt | ||||
| local moreblocks = minetest.get_modpath("moreblocks") | ||||
|  | ||||
| if moreblocks ~= nil then | ||||
| 	minetest.register_alias("claycrafter:compressed_dirt","moreblocks:dirt_compressed") | ||||
| else | ||||
| 	minetest.register_craft({ | ||||
| 			output = "claycrafter:compressed_dirt", | ||||
| 			recipe = { | ||||
| 				{"group:dirt", "group:dirt", "group:dirt"}, | ||||
| 				{"group:dirt", "group:dirt", "group:dirt"}, | ||||
| 				{"group:dirt", "group:dirt", "group:dirt"} | ||||
| 			} | ||||
| 	}) | ||||
| 	minetest.register_node("claycrafter:compressed_dirt", { | ||||
| 		description = "Compressed Dirt", | ||||
| 		tiles = {"claycrafter_compressed_dirt.png"}, | ||||
| 		groups = {crumbly = 1, oddly_breakable_by_hand = 1, soil = 1, cracky =1}, | ||||
| 		sounds = default.node_sound_dirt_defaults(), | ||||
| 	}) | ||||
| 	minetest.register_craft({ | ||||
| 		output = "default:dirt 9", | ||||
| 		recipe = {{"claycrafter:compressed_dirt"}} | ||||
| 	}) | ||||
| 	minetest.register_alias("moreblocks:dirt_compressed","claycrafter:compressed_dirt") | ||||
| end | ||||
|  | ||||
| --nodes | ||||
| minetest.register_node("claycrafter:glass_of_water", { | ||||
| 	description = ("Glass of Water"), | ||||
| 	drawtype = "plantlike", | ||||
| 	tiles = {"claycrafter_glass_of_water.png"}, | ||||
| 	inventory_image = "claycrafter_glass_of_water_inv.png", | ||||
| 	wield_image = "claycrafter_glass_of_water.png", | ||||
| 	paramtype = "light", | ||||
| 	use_texture_alpha = "blend", | ||||
| 	is_ground_content = false, | ||||
| 	walkable = false, | ||||
| 	sunlight_propagates = true, | ||||
| 	selection_box = {type = "fixed",fixed = {-0.25, -0.5, -0.25, 0.25, 0, 0.25}	}, | ||||
| 	groups = {vessel = 1, dig_immediate = 3, attached_node = 1, h2o = 3}, -- How much time to convert 1 compressed dirt to 4 clay | ||||
| 	on_use = minetest.item_eat(0,"vessels:drinking_glass"),	 | ||||
| 	sounds = default.node_sound_glass_defaults(), | ||||
| }) | ||||
|  | ||||
| --recipes | ||||
| minetest.register_craft({ | ||||
| 		output = "claycrafter:glass_of_water 8", | ||||
| 		recipe = { | ||||
| 			{"group:vessel", "group:vessel", "group:vessel"}, | ||||
| 			{"group:vessel", "group:water_bucket", "group:vessel"}, | ||||
| 			{"group:vessel", "group:vessel", "group:vessel"} | ||||
| 		}, | ||||
| 		replacements = { | ||||
| 			{"group:water_bucket", "bucket:bucket_empty"}, | ||||
| 		} | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 		output = "claycrafter:glass_of_water 8", | ||||
| 		recipe = { | ||||
| 			{"group:vessel", "group:vessel", "group:vessel"}, | ||||
| 			{"group:vessel", "group:water", "group:vessel"}, | ||||
| 			{"group:vessel", "group:vessel", "group:vessel"} | ||||
| 		} | ||||
| }) | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 		output = "claycrafter:claycrafter", | ||||
| 		recipe = { | ||||
| 			{"group:wood", "default:steel_ingot", "group:wood"}, | ||||
| 			{"group:wood", "group:glass", "group:wood"}, | ||||
| 			{"group:stick", "group:water_bucket", "group:stick"} | ||||
| 		} | ||||
| }) | ||||
							
								
								
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							| @@ -1 +1,5 @@ | ||||
| name = claycrafter | ||||
| description = This mod introduces the Claycrafter, which converts Compressed Dirt to Clay using Glasses of Water. | ||||
| depends = vessels, default | ||||
| optional_depends = moreblocks | ||||
| author = Dragonop | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								screenshot.png
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								screenshot.png
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 12 KiB | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 233 B After Width: | Height: | Size: 377 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/claycrafter_glass_of_water_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								textures/claycrafter_glass_of_water_inv.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 396 B | 
		Reference in New Issue
	
	Block a user