1
0
mirror of https://github.com/Dragonop/claycrafter.git synced 2025-06-30 12:30:21 +02:00

3 Commits

11 changed files with 33 additions and 31 deletions

View File

@ -5,6 +5,7 @@ Dependencies:
Default Default
Vessels Vessels
Bucket Bucket
moreblocks (optional)
claycrafter.lua is derivated from furnace.lua (minetest_game) by PilzAdam and Amaz1. claycrafter.lua is derivated from furnace.lua (minetest_game) by PilzAdam and Amaz1.
Edited by everamzah to work for this mod. Edited by everamzah to work for this mod.

View File

@ -200,10 +200,13 @@ minetest.register_abm({
-- --
-- Cooking -- 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 cooktime = minetest.get_item_group(inv:get_stack("fuel", 1):get_name(), "h2o")
local cookable = true 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 cookable = false
end end
@ -230,7 +233,7 @@ minetest.register_abm({
end end
else else
-- Furnace ran out of fuel -- Furnace ran out of fuel
if cookable and inv:room_for_item("dst", ItemStack({name = "default:clay", count = 4})) then if cookable then
-- We need to get new fuel -- We need to get new fuel
local fueltime = minetest.get_item_group(inv:get_stack("fuel", 1):get_name(), "h2o") local fueltime = minetest.get_item_group(inv:get_stack("fuel", 1):get_name(), "h2o")
@ -241,13 +244,16 @@ minetest.register_abm({
src_time = 0 src_time = 0
else else
-- Take fuel from fuel list -- Take fuel from fuel list
if inv:room_for_item("vessels", ItemStack({name = "vessels:drinking_glass"}))
if inv:room_for_item("dst", ItemStack({name = "default:clay", count = 4}))
and inv:room_for_item("vessels", ItemStack({name = "vessels:drinking_glass"}))
then then
inv:remove_item("fuel", inv:get_stack("fuel", 1):get_name()) inv:remove_item("fuel", inv:get_stack("fuel", 1):get_name())
inv:add_item("vessels", {name = "vessels:drinking_glass"}) inv:add_item("vessels", {name = "vessels:drinking_glass"})
else else
swap_node(pos, "claycrafter:claycrafter_active") swap_node(pos, "claycrafter:claycrafter_active")
end end
fuel_totaltime = fueltime fuel_totaltime = fueltime
fuel_time = 0 fuel_time = 0
@ -268,7 +274,7 @@ minetest.register_abm({
local item_percent = 0 local item_percent = 0
if cookable then if cookable then
item_percent = math.floor(src_time / cooktime * 100) item_percent = math.floor(src_time / cooktime * 100)
item_state = "Yes" item_state = "In use"
else else
if srclist[1]:is_empty() then if srclist[1]:is_empty() then
item_state = "Empty" item_state = "Empty"

4
depends.txt Normal file
View File

@ -0,0 +1,4 @@
vessels
default
bucket
moreblocks?

1
description.txt Normal file
View File

@ -0,0 +1 @@
Craft clay out of compressed dirt.

View File

@ -5,3 +5,5 @@ local modpath = minetest.get_modpath("claycrafter")
dofile(modpath .. "/items.lua") dofile(modpath .. "/items.lua")
dofile(modpath .. "/recipes.lua") dofile(modpath .. "/recipes.lua")
dofile(modpath .. "/claycrafter.lua") dofile(modpath .. "/claycrafter.lua")
minetest.log("action", "[claycrafter] loaded.")

View File

@ -1,21 +1,15 @@
if minetest.get_modpath("moreblocks") then
minetest.register_alias("claycrafter:compressed_dirt", "moreblocks:dirt_compressed")
else
minetest.register_node("claycrafter:compressed_dirt", { minetest.register_node("claycrafter:compressed_dirt", {
description = "Compressed Dirt", description = "Compressed Dirt",
tiles = {"claycrafter_compressed_dirt.png"}, tiles = {"claycrafter_compressed_dirt.png"},
groups = {crumbly = 1, oddly_breakable_by_hand = 1, soil = 1, cracky =1} groups = {crumbly = 1, oddly_breakable_by_hand = 1, soil = 1, cracky =1}
}) })
end
minetest.register_node("claycrafter:glass_of_water", { minetest.register_craftitem("claycrafter:glass_of_water", {
description = ("Glass of Water"), description = "Glass of Water",
drawtype = "plantlike", inventory_image = "claycrafter_glass_of_water.png",
tiles = {"claycrafter_glass_of_water.png"}, groups = {h2o = 1, vessel = 1}, -- How much time to convert 1 compressed dirt to 4 clay
inventory_image = "claycrafter_glass_of_water_inv.png",
wield_image = "claycrafter_glass_of_water.png",
paramtype = "light",
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(),
}) })

View File

@ -1,4 +1 @@
name = claycrafter name = claycrafter
description = This mod introduces the Claycrafter, which converts Compressed Dirt to Clay using Glasses of Water.
depends = vessels, default, bucket
author = Dragonop

View File

@ -1,3 +1,4 @@
if not minetest.get_modpath("moreblocks") then
minetest.register_craft({ minetest.register_craft({
output = "claycrafter:compressed_dirt", output = "claycrafter:compressed_dirt",
recipe = { recipe = {
@ -6,11 +7,7 @@ minetest.register_craft({
{"default:dirt", "default:dirt", "default:dirt"} {"default:dirt", "default:dirt", "default:dirt"}
} }
}) })
end
minetest.register_craft({
output = "default:dirt 9",
recipe = {{"claycrafter:compressed_dirt"}}
})
minetest.register_craft({ minetest.register_craft({
output = "claycrafter:glass_of_water 8", output = "claycrafter:glass_of_water 8",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 B

After

Width:  |  Height:  |  Size: 233 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 B