mirror of
				https://github.com/Dragonop/claycrafter.git
				synced 2025-11-04 07:55:30 +01:00 
			
		
		
		
	Compare commits
	
		
			36 Commits
		
	
	
		
			0.9
			...
			a658381feb
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 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 | 
							
								
								
									
										47
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								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: 
 | 
			
		||||
**Claycrafter:** Used to convert compressed dirt into clay.
 | 
			
		||||
 | 
			
		||||
**Compressed dirt:** Just 9 dirt, compressed, useful for saving storage space, too!  
 | 
			
		||||
(Not present if moreblocks is installed, use moreblocks:dirt_compressed instead)
 | 
			
		||||
 | 
			
		||||
**Glass of water:** Used as fuel for the Claycrafter. Placeable.
 | 
			
		||||
 | 
			
		||||
For extra info look at the [Forum Thread](https://forum.minetest.net/viewtopic.php?f=11&t=13992)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
##### Dependencies:
 | 
			
		||||
Default  
 | 
			
		||||
Vessels  
 | 
			
		||||
Bucket
 | 
			
		||||
 | 
			
		||||
claycrafter.lua is derivated from furnace.lua (minetest_game) by PilzAdam and Amaz1. 
 | 
			
		||||
Edited by everamzah to work for this mod.
 | 
			
		||||
##### Optional dependencies:  
 | 
			
		||||
moreblocks  
 | 
			
		||||
 | 
			
		||||
#####License for Code
 | 
			
		||||
##### License for Code  
 | 
			
		||||
Dragonop (LGPLv3)  
 | 
			
		||||
 | 
			
		||||
Copyright (C) 2016 Dragonop <joaco-mono@hotmail.com>
 | 
			
		||||
##### 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)  
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
#####License for Textures, Models and Sounds
 | 
			
		||||
 | 
			
		||||
CC-BY-SA 3.0 UNPORTED. Created by Dragonop
 | 
			
		||||
##### 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.")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								items.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								items.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
--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 = {
 | 
			
		||||
				{"default:dirt", "default:dirt", "default:dirt"},
 | 
			
		||||
				{"default:dirt", "default:dirt", "default:dirt"},
 | 
			
		||||
				{"default:dirt", "default:dirt", "default: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 = {
 | 
			
		||||
			{"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"},
 | 
			
		||||
		}
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
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"}
 | 
			
		||||
		}
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										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