Added a bunch of food stuffs.
|
@ -126,12 +126,6 @@ minetest.register_craft( {
|
|||
recipe = {"default:coal_lump"}
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "dye:brown 4",
|
||||
recipe = {"default:dry_shrub"}
|
||||
})
|
||||
|
||||
-- 2x2 red bakedclay makes 16x clay brick
|
||||
minetest.register_craft( {
|
||||
output = "default:clay_brick 16",
|
||||
|
|
|
@ -62,6 +62,9 @@ mobs:register_mob('farm_mobs:goat_she', {
|
|||
on_rightclick = function(self, clicker)
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then
|
||||
if self.food and self.food >= 7 then
|
||||
self.gotten = false
|
||||
end
|
||||
return
|
||||
end
|
||||
mobs:capture_mob(self, clicker, 0, 5, 60, false, nil)
|
||||
|
|
|
@ -38,14 +38,14 @@ minetest.register_node("farming:straw", {
|
|||
minetest.register_craft({
|
||||
output = "farming:straw 3",
|
||||
recipe = {
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
{"farming:wheat", "farming:wheat", "farming:wheat"},
|
||||
{"farming:hay", "farming:hay", "farming:hay"},
|
||||
{"farming:hay", "farming:hay", "farming:hay"},
|
||||
{"farming:hay", "farming:hay", "farming:hay"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "farming:wheat 3",
|
||||
output = "farming:hay 3",
|
||||
recipe = {
|
||||
{"farming:straw"},
|
||||
}
|
||||
|
|
|
@ -44,3 +44,9 @@ minetest.override_item("default:junglegrass", {
|
|||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craftitem('farming:hay', {
|
||||
description = 'Hay',
|
||||
inventory_image = 'farming_hay.png',
|
||||
groups = {flora=1}
|
||||
})
|
||||
|
|
After Width: | Height: | Size: 783 B |
|
@ -1,21 +1,23 @@
|
|||
stations.dual_register_recipe('food_prep', {
|
||||
input = {
|
||||
['group:food_flour'] = 1,
|
||||
['group:food_flour'] = 2,
|
||||
['farming:sugar'] = 1,
|
||||
['mobs:egg'] = 1,
|
||||
['epic_trees:banana'] = 2,
|
||||
['mobs:egg'] = 2,
|
||||
['epic_trees:banana'] = 4,
|
||||
['food:butter'] = 1,
|
||||
},
|
||||
output = 'food:bread_banana_dough',
|
||||
output = 'food:bread_banana_dough 2',
|
||||
})
|
||||
|
||||
stations.dual_register_recipe('food_prep', {
|
||||
input = {
|
||||
['group:food_flour'] = 1,
|
||||
['group:food_flour'] = 2,
|
||||
['farming:sugar'] = 1,
|
||||
['mobs:egg'] = 1,
|
||||
['farming:pumpkin_slice'] = 2,
|
||||
['mobs:egg'] = 2,
|
||||
['farming:pumpkin_slice'] = 4,
|
||||
['food:butter'] = 1,
|
||||
},
|
||||
output = 'food:bread_pumpkin_dough',
|
||||
output = 'food:bread_pumpkin_dough 2',
|
||||
})
|
||||
|
||||
|
||||
|
@ -34,11 +36,12 @@ for i in ipairs (breads) do
|
|||
|
||||
stations.dual_register_recipe('food_prep', {
|
||||
input = {
|
||||
['food:flour_'..flour] = 1,
|
||||
['food:flour_'..flour] = 2,
|
||||
['farming:sugar'] = 1,
|
||||
['mobs:egg'] = 1,
|
||||
['mobs:egg'] = 2,
|
||||
['epic:salt'] = 1,
|
||||
['food:butter'] = 1,
|
||||
},
|
||||
output = 'food:bread_'..flour..'_dough',
|
||||
output = 'food:bread_'..flour..'_dough 2',
|
||||
})
|
||||
end
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
minetest.register_craftitem('food:butter', {
|
||||
description = 'Butter',
|
||||
inventory_image = 'food_butter.png'
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'food:butter',
|
||||
recipe = {{'mobs:butter'}},
|
||||
})
|
|
@ -7,4 +7,5 @@ dofile(mod_path..'/baked_goods/breads.lua')
|
|||
dofile(mod_path..'/baked_goods/cooking.lua')
|
||||
dofile(mod_path..'/baked_goods/simplecrafting_recipes.lua')
|
||||
|
||||
dofile(mod_path..'/ingredients/dairy.lua')
|
||||
dofile(mod_path..'/ingredients/flours.lua')
|
||||
|
|
After Width: | Height: | Size: 2.7 KiB |
|
@ -58,7 +58,12 @@ mobs:register_mob("mobs_animal:cow", {
|
|||
replace_with = "air",
|
||||
fear_height = 2,
|
||||
on_rightclick = function(self, clicker)
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
||||
if mobs:feed_tame(self, clicker, 9, true, true) then
|
||||
if self.food and self.food >= 8 then
|
||||
self.gotten = false
|
||||
end
|
||||
return
|
||||
end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 0, 5, 60, false, nil) then return end
|
||||
local tool = clicker:get_wielded_item()
|
||||
|
@ -130,22 +135,6 @@ minetest.register_craftitem(":mobs:butter", {
|
|||
groups = {food_butter = 1, flammable = 2},
|
||||
})
|
||||
|
||||
if minetest.get_modpath("farming") and farming and farming.mod then
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "mobs:butter",
|
||||
recipe = {"mobs:bucket_milk", "farming:salt"},
|
||||
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
||||
})
|
||||
else -- some saplings are high in sodium so makes a good replacement item
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "mobs:butter",
|
||||
recipe = {"mobs:bucket_milk", "default:sapling"},
|
||||
replacements = {{ "mobs:bucket_milk", "bucket:bucket_empty"}}
|
||||
})
|
||||
end
|
||||
|
||||
-- cheese wedge
|
||||
minetest.register_craftitem(":mobs:cheese", {
|
||||
description = S("Cheese"),
|
||||
|
|
|
@ -107,7 +107,8 @@ minetest.register_node("morelights_extras:stairlight", {
|
|||
{x=0, y=1, z=0}))
|
||||
|
||||
if node and node.name:match("^stairs:stair") or node.name:match('^moreblocks:stair')
|
||||
or node.name:match("^darkage:stair") or node.name:match("^bakedclay:stair") and node.param2 < 4 then
|
||||
or node.name:match("^darkage:stair") or node.name:match("^bakedclay:stair") or node.name:match("^ocean:stair")
|
||||
and node.param2 < 4 then
|
||||
minetest.item_place(itemstack, placer, pointed_thing, node.param2)
|
||||
end
|
||||
|
||||
|
|
|
@ -1,4 +1,18 @@
|
|||
local news = {
|
||||
'8/5/20',
|
||||
'Added a threshing machine to collect seeds from grains.',
|
||||
'',
|
||||
'8/4/20',
|
||||
'Added Unified Inventory entries for some more items made in stations.',
|
||||
'',
|
||||
'8/3/20',
|
||||
'Added Butter Churn, makes four butter from one bucket of milk.',
|
||||
'Revised the recipes for bread.',
|
||||
'Fixed a few small bugs in the stations that I hadn\'t noticed.',
|
||||
'',
|
||||
'7/30/20',
|
||||
'Added flours, flour mill, food prep station, and lots of bread.',
|
||||
'',
|
||||
'7/27/20',
|
||||
'Players are no longer invincible when in carts, or on boats.',
|
||||
'Added some new stained glass panes. Thanks to Alfred for the textures.',
|
||||
|
@ -129,54 +143,6 @@ local news = {
|
|||
'Sheep will regrow their wool after being fed, or eating.',
|
||||
'Fixed a bug with Unified_Inventory not allowing setting a home position.',
|
||||
'',
|
||||
'5/30/20',
|
||||
'Blocks cut in the tablesaw loose a little bit of brightness.',
|
||||
'Caverealm glow crystals cut in the tablesaw glow now.',
|
||||
'Removed the ability to set a home in a protected area, unless you own the protection.',
|
||||
'',
|
||||
'5/25/20',
|
||||
'Added locked multishelves.',
|
||||
'Caverealms Glow crystals can be cut, but they don\'t glow.',
|
||||
'',
|
||||
'5/27/20',
|
||||
'Got the Discord bridge back up.',
|
||||
'',
|
||||
'5/24/20',
|
||||
'Glow worms can be burnt. Astroid stone and stone brick added to the tablesaw.',
|
||||
'Added the filler mod which lets you place a solid plane of a single node. Craft it in the smithy station.',
|
||||
'Pressure plates can be used to open/close castle gates.',
|
||||
'Fixed a bug reported by Alfred where fabric couldn\'t be used in the armor recipes.',
|
||||
'Landscaping machines now check for space before placing.',
|
||||
'',
|
||||
'5/23/20',
|
||||
'Fixed the ruby glow crystal so it grows.',
|
||||
'',
|
||||
'5/17/20',
|
||||
'Glowingdiamond and glowingdiamond tools have been added.',
|
||||
'Added a diamondblock light.',
|
||||
'Updated some textures. Added a saddle so you can ride scorpions.',
|
||||
'',
|
||||
'5/15/20',
|
||||
'The Cavrealms glow crystals can now be grown.',
|
||||
'Added craft for ceiling lantern.',
|
||||
'',
|
||||
'5/12/20',
|
||||
'Small bug fixes and backend improvements.',
|
||||
'Added a metal sign hanging bracket.',
|
||||
'',
|
||||
'5/10/20',
|
||||
'TNT no longer can start things on fire.',
|
||||
'Reverted back to wielded_light, as I have been unable to recreate the crash.',
|
||||
'Tweaked the rules, so the interact information is immediately visible.',
|
||||
'',
|
||||
'5/2/20',
|
||||
'Added a few new furniture models.',
|
||||
'Updated Mobs_redo again.',
|
||||
'',
|
||||
'5/1/20',
|
||||
'Rats can now eat cheese, requested by daniel1 and Dashhyphen2.',
|
||||
'Removed wielded_light and replaced with walking_light.',
|
||||
'',
|
||||
'',
|
||||
'For more information and to read older news visit www.nathansalapat.com/server/epic-server'}
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ dofile(minetest.get_modpath('stations')..'/recipes_woodworking.lua')
|
|||
dofile(minetest.get_modpath('stations')..'/recipes.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/scrolls.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_anvil.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_churn.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_crystals.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_dying.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_flour_mill.lua')
|
||||
|
@ -45,5 +46,6 @@ dofile(minetest.get_modpath('stations')..'/station_glazier.lua')
|
|||
dofile(minetest.get_modpath('stations')..'/station_spinning_wheel.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_sewing.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_stain.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_threshing.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_weaving_loom.lua')
|
||||
dofile(minetest.get_modpath('stations')..'/station_woodworking.lua')
|
||||
|
|
|
@ -0,0 +1,127 @@
|
|||
# Blender v2.82 (sub 7) OBJ File: 'stations.blend'
|
||||
# www.blender.org
|
||||
o Churn_Plane.001
|
||||
v 0.312500 -0.500000 0.125000
|
||||
v 0.312500 -0.500000 -0.125000
|
||||
v 0.125000 -0.500000 0.312500
|
||||
v 0.125000 -0.500000 -0.312500
|
||||
v -0.125000 -0.500000 0.312500
|
||||
v -0.312500 -0.500000 0.125000
|
||||
v -0.312500 -0.500000 -0.125000
|
||||
v -0.125000 -0.500000 -0.312500
|
||||
v -0.125000 0.311719 -0.125000
|
||||
v -0.125000 0.311719 0.125000
|
||||
v 0.125000 0.311719 0.125000
|
||||
v 0.125000 0.311719 -0.125000
|
||||
v -0.125000 0.311719 -0.312500
|
||||
v -0.312500 0.311719 -0.125000
|
||||
v -0.312500 0.311719 0.125000
|
||||
v -0.125000 0.311719 0.312500
|
||||
v 0.125000 0.311719 -0.312500
|
||||
v 0.125000 0.311719 0.312500
|
||||
v 0.312500 0.311719 -0.125000
|
||||
v 0.312500 0.311719 0.125000
|
||||
v 0.125000 0.249219 0.125000
|
||||
v -0.125000 0.249219 0.125000
|
||||
v -0.125000 0.249219 -0.125000
|
||||
v 0.125000 0.249219 -0.125000
|
||||
v -0.062500 0.186719 -0.062500
|
||||
v -0.062500 1.000000 -0.062500
|
||||
v 0.062500 0.186719 -0.062500
|
||||
v 0.062500 1.000000 -0.062500
|
||||
v -0.062500 0.186719 0.062500
|
||||
v -0.062500 1.000000 0.062500
|
||||
v 0.062500 0.186719 0.062500
|
||||
v 0.062500 1.000000 0.062500
|
||||
vt 0.093750 0.906250
|
||||
vt 0.093750 1.000000
|
||||
vt 0.000000 0.906250
|
||||
vt 0.218750 0.781250
|
||||
vt 0.218750 0.687500
|
||||
vt 0.312500 0.781250
|
||||
vt 0.093750 0.781250
|
||||
vt 0.093750 0.687500
|
||||
vt 0.000000 0.781250
|
||||
vt 0.312500 0.906250
|
||||
vt 0.218750 0.906250
|
||||
vt 0.218750 1.000000
|
||||
vt 0.625000 0.468750
|
||||
vt 0.750000 0.468750
|
||||
vt 0.750000 0.500000
|
||||
vt 0.625000 0.500000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.875000 0.000000
|
||||
vt 0.875000 0.406250
|
||||
vt 1.000000 0.406250
|
||||
vt 0.125000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.406250
|
||||
vt 0.125000 0.406250
|
||||
vt 0.500000 0.000000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.375000 0.406250
|
||||
vt 0.500000 0.406250
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 0.406250
|
||||
vt 0.250000 0.000000
|
||||
vt 0.250000 0.406250
|
||||
vt 0.750000 0.000000
|
||||
vt 0.750000 0.406250
|
||||
vt 0.218750 0.906250
|
||||
vt 0.093750 0.906250
|
||||
vt 0.093750 0.781250
|
||||
vt 0.218750 0.781250
|
||||
vt 0.500000 0.468750
|
||||
vt 0.500000 0.500000
|
||||
vt 0.875000 0.468750
|
||||
vt 0.875000 0.500000
|
||||
vt 1.000000 0.468750
|
||||
vt 1.000000 0.500000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.875000 0.593750
|
||||
vt 0.937500 0.593750
|
||||
vt 0.937500 1.000000
|
||||
vt 1.000000 0.593750
|
||||
vt 1.000000 1.000000
|
||||
vt 0.750000 1.000000
|
||||
vt 0.750000 0.593750
|
||||
vt 0.812500 0.593750
|
||||
vt 0.812500 1.000000
|
||||
vt 0.750000 0.531250
|
||||
vt 0.812500 0.531250
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn -0.7071 0.0000 -0.7071
|
||||
vn 0.7071 0.0000 0.7071
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn -0.7071 0.0000 0.7071
|
||||
vn 0.7071 0.0000 -0.7071
|
||||
vn 0.0000 0.0000 1.0000
|
||||
s off
|
||||
f 12/1/1 19/2/1 17/3/1
|
||||
f 10/4/1 15/5/1 16/6/1
|
||||
f 10/4/1 9/7/1 14/8/1 15/5/1
|
||||
f 14/8/1 9/7/1 13/9/1
|
||||
f 9/7/1 12/1/1 17/3/1 13/9/1
|
||||
f 18/10/1 11/11/1 10/4/1 16/6/1
|
||||
f 11/11/1 20/12/1 19/2/1 12/1/1
|
||||
f 9/13/2 10/14/2 22/15/2 23/16/2
|
||||
f 7/17/3 6/18/3 15/19/3 14/20/3
|
||||
f 8/21/4 7/22/4 14/23/4 13/24/4
|
||||
f 1/25/2 2/26/2 19/27/2 20/28/2
|
||||
f 3/29/5 1/25/5 20/28/5 18/30/5
|
||||
f 4/31/6 8/21/6 13/24/6 17/32/6
|
||||
f 6/18/7 5/33/7 16/34/7 15/19/7
|
||||
f 2/26/8 4/31/8 17/32/8 19/27/8
|
||||
f 5/33/9 3/29/9 18/30/9 16/34/9
|
||||
f 11/11/1 18/10/1 20/12/1
|
||||
f 21/35/1 24/36/1 23/37/1 22/38/1
|
||||
f 12/39/9 9/13/9 23/16/9 24/40/9
|
||||
f 10/14/6 11/41/6 21/42/6 22/15/6
|
||||
f 11/41/3 12/43/3 24/44/3 21/42/3
|
||||
f 25/45/6 26/46/6 28/47/6 27/48/6
|
||||
f 27/48/2 28/47/2 32/49/2 31/50/2
|
||||
f 31/51/9 32/52/9 30/53/9 29/54/9
|
||||
f 29/54/3 30/53/3 26/46/3 25/45/3
|
||||
f 32/52/1 28/55/1 26/56/1 30/53/1
|
|
@ -0,0 +1,284 @@
|
|||
# Blender v2.82 (sub 7) OBJ File: 'stations.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.014
|
||||
v -1.000000 -0.125000 0.500000
|
||||
v -1.000000 0.500000 0.500000
|
||||
v -1.000000 -0.125000 -0.437500
|
||||
v -1.000000 0.500000 -0.437500
|
||||
v 0.187500 -0.125000 0.500000
|
||||
v 0.187500 0.500000 0.500000
|
||||
v 0.187500 -0.125000 -0.437500
|
||||
v 0.187500 0.500000 -0.437500
|
||||
v 0.500000 0.437500 0.312500
|
||||
v 0.187500 0.125000 -0.250000
|
||||
v 0.500000 0.437500 -0.250000
|
||||
v 0.187500 0.125000 0.312500
|
||||
v 0.187500 0.437500 0.312500
|
||||
v 0.187500 0.437500 -0.250000
|
||||
v -0.625000 -0.250000 0.218750
|
||||
v -0.625000 -0.250000 -0.156250
|
||||
v -0.125000 -0.250000 -0.156250
|
||||
v -0.125000 -0.250000 0.218750
|
||||
v -0.625000 -0.500000 0.218750
|
||||
v -0.625000 -0.500000 -0.156250
|
||||
v -0.125000 -0.500000 -0.156250
|
||||
v -0.125000 -0.500000 0.218750
|
||||
v -0.062500 -0.250000 -0.156250
|
||||
v -0.062500 -0.500000 -0.156250
|
||||
v -0.687500 -0.500000 -0.156250
|
||||
v -0.687500 -0.500000 0.218750
|
||||
v -0.687500 -0.250000 0.218750
|
||||
v -0.687500 -0.250000 -0.156250
|
||||
v -0.625000 -0.500000 0.281250
|
||||
v -0.625000 -0.250000 0.281250
|
||||
v -0.125000 -0.250000 0.281250
|
||||
v -0.125000 -0.500000 0.281250
|
||||
v -0.687500 -0.500000 0.281250
|
||||
v -0.687500 -0.250000 0.281250
|
||||
v -0.625000 -0.250000 -0.218750
|
||||
v -0.625000 -0.500000 -0.218750
|
||||
v -0.125000 -0.500000 -0.218750
|
||||
v -0.125000 -0.250000 -0.218750
|
||||
v -0.062500 -0.250000 -0.218750
|
||||
v -0.062500 -0.500000 -0.218750
|
||||
v -0.687500 -0.250000 -0.218750
|
||||
v -0.687500 -0.500000 -0.218750
|
||||
v -0.062500 -0.250000 0.281250
|
||||
v -0.062500 -0.250000 0.218750
|
||||
v -0.062500 -0.500000 0.281250
|
||||
v -0.062500 -0.500000 0.218750
|
||||
v -0.937500 -0.500000 0.437500
|
||||
v -0.937500 -0.125000 0.437500
|
||||
v -0.937500 -0.500000 0.312500
|
||||
v -0.937500 -0.125000 0.312500
|
||||
v -0.812500 -0.500000 0.437500
|
||||
v -0.812500 -0.125000 0.437500
|
||||
v -0.812500 -0.500000 0.312500
|
||||
v -0.812500 -0.125000 0.312500
|
||||
v -0.937500 -0.500000 -0.375000
|
||||
v -0.937500 -0.125000 -0.375000
|
||||
v -0.812500 -0.500000 -0.375000
|
||||
v -0.812500 -0.125000 -0.375000
|
||||
v -0.937500 -0.500000 -0.250000
|
||||
v -0.937500 -0.125000 -0.250000
|
||||
v -0.812500 -0.500000 -0.250000
|
||||
v -0.812500 -0.125000 -0.250000
|
||||
v 0.125000 -0.500000 -0.375000
|
||||
v 0.125000 -0.125000 -0.375000
|
||||
v 0.125000 -0.500000 -0.250000
|
||||
v 0.125000 -0.125000 -0.250000
|
||||
v 0.000000 -0.500000 -0.375000
|
||||
v 0.000000 -0.125000 -0.375000
|
||||
v 0.000000 -0.500000 -0.250000
|
||||
v 0.000000 -0.125000 -0.250000
|
||||
v 0.125000 -0.500000 0.437500
|
||||
v 0.125000 -0.125000 0.437500
|
||||
v 0.000000 -0.500000 0.437500
|
||||
v 0.000000 -0.125000 0.437500
|
||||
v 0.125000 -0.500000 0.312500
|
||||
v 0.125000 -0.125000 0.312500
|
||||
v 0.000000 -0.500000 0.312500
|
||||
v 0.000000 -0.125000 0.312500
|
||||
v -1.312500 -0.062500 0.312500
|
||||
v -1.312500 -0.062500 -0.250000
|
||||
v -1.000000 0.250000 0.312500
|
||||
v -1.000000 -0.062500 0.312500
|
||||
v -1.000000 0.250000 -0.250000
|
||||
v -1.000000 -0.062500 -0.250000
|
||||
vt 0.765625 0.296875
|
||||
vt 0.765625 0.140625
|
||||
vt 1.000000 0.140625
|
||||
vt 1.000000 0.296875
|
||||
vt 0.218750 0.296875
|
||||
vt 0.375000 0.296875
|
||||
vt 0.375000 0.601562
|
||||
vt 0.218750 0.601562
|
||||
vt 1.000000 0.601562
|
||||
vt 1.000000 0.757812
|
||||
vt 0.765625 0.757812
|
||||
vt 0.765625 0.601562
|
||||
vt 0.609375 0.601562
|
||||
vt 0.609375 0.296875
|
||||
vt 0.242188 0.109375
|
||||
vt 0.242188 0.000000
|
||||
vt 0.382812 0.000000
|
||||
vt 0.382812 0.109375
|
||||
vt 0.476562 0.187500
|
||||
vt 0.398438 0.109375
|
||||
vt 0.476562 0.109375
|
||||
vt 0.398438 0.109375
|
||||
vt 0.476562 0.187500
|
||||
vt 0.398438 0.187500
|
||||
vt 0.593750 0.968750
|
||||
vt 0.718750 0.968750
|
||||
vt 0.718750 0.984375
|
||||
vt 0.593750 0.984375
|
||||
vt 1.000000 0.843750
|
||||
vt 1.000000 0.937500
|
||||
vt 0.937500 0.937500
|
||||
vt 0.937500 0.843750
|
||||
vt 0.578125 0.984375
|
||||
vt 0.593750 0.984375
|
||||
vt 0.593750 1.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.671875 0.937500
|
||||
vt 0.578125 0.937500
|
||||
vt 0.578125 0.953125
|
||||
vt 0.671875 0.953125
|
||||
vt 0.390625 0.937500
|
||||
vt 0.390625 1.000000
|
||||
vt 0.296875 1.000000
|
||||
vt 0.296875 0.937500
|
||||
vt 0.812500 0.937500
|
||||
vt 0.812500 0.843750
|
||||
vt 0.750000 0.937500
|
||||
vt 0.750000 0.843750
|
||||
vt 0.812500 0.781250
|
||||
vt 0.937500 0.781250
|
||||
vt 0.937500 1.000000
|
||||
vt 0.812500 1.000000
|
||||
vt 0.109375 0.937500
|
||||
vt 0.109375 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.937500
|
||||
vt 0.671875 0.953125
|
||||
vt 0.578125 0.953125
|
||||
vt 0.578125 0.968750
|
||||
vt 0.671875 0.968750
|
||||
vt 0.265625 0.937500
|
||||
vt 0.265625 1.000000
|
||||
vt 0.140625 1.000000
|
||||
vt 0.140625 0.937500
|
||||
vt 0.281250 0.937500
|
||||
vt 0.281250 1.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.125000 0.937500
|
||||
vt 0.718750 0.984375
|
||||
vt 0.718750 1.000000
|
||||
vt 0.687500 0.968750
|
||||
vt 0.687500 0.953125
|
||||
vt 0.546875 1.000000
|
||||
vt 0.546875 0.937500
|
||||
vt 0.562500 0.937500
|
||||
vt 0.562500 1.000000
|
||||
vt 0.421875 1.000000
|
||||
vt 0.421875 0.937500
|
||||
vt 0.406250 1.000000
|
||||
vt 0.406250 0.937500
|
||||
vt 0.578125 0.984375
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.937500
|
||||
vt 0.687500 0.953125
|
||||
vt 0.687500 0.937500
|
||||
vt 0.843750 0.093750
|
||||
vt 0.843750 0.000000
|
||||
vt 0.875000 0.000000
|
||||
vt 0.875000 0.093750
|
||||
vt 0.750000 0.093750
|
||||
vt 0.750000 0.000000
|
||||
vt 0.781250 0.000000
|
||||
vt 0.781250 0.093750
|
||||
vt 0.812500 0.000000
|
||||
vt 0.812500 0.093750
|
||||
vt 0.718750 0.093750
|
||||
vt 0.718750 0.000000
|
||||
vt 0.750000 0.000000
|
||||
vt 0.750000 0.093750
|
||||
vt 0.625000 0.093750
|
||||
vt 0.625000 0.000000
|
||||
vt 0.656250 0.000000
|
||||
vt 0.656250 0.093750
|
||||
vt 0.687500 0.000000
|
||||
vt 0.687500 0.093750
|
||||
vt 0.593750 0.093750
|
||||
vt 0.593750 0.000000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 0.093750
|
||||
vt 0.500000 0.093750
|
||||
vt 0.500000 0.000000
|
||||
vt 0.531250 0.000000
|
||||
vt 0.531250 0.093750
|
||||
vt 0.562500 0.000000
|
||||
vt 0.562500 0.093750
|
||||
vt 0.968750 0.093750
|
||||
vt 0.968750 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.093750
|
||||
vt 0.875000 0.093750
|
||||
vt 0.875000 0.000000
|
||||
vt 0.906250 0.000000
|
||||
vt 0.906250 0.093750
|
||||
vt 0.937500 0.000000
|
||||
vt 0.937500 0.093750
|
||||
vt 0.382812 0.109375
|
||||
vt 0.382812 0.218750
|
||||
vt 0.242188 0.218750
|
||||
vt 0.242188 0.109375
|
||||
vt 0.148438 0.117188
|
||||
vt 0.226562 0.195312
|
||||
vt 0.148438 0.195312
|
||||
vt 0.226562 0.195312
|
||||
vt 0.148438 0.117188
|
||||
vt 0.226562 0.117188
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.7071 -0.7071 0.0000
|
||||
vn -0.7071 0.7071 0.0000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 3/5/2 4/6/2 8/7/2 7/8/2
|
||||
f 7/9/3 8/10/3 6/11/3 5/12/3
|
||||
f 5/12/4 6/13/4 2/14/4 1/1/4
|
||||
f 3/4/5 7/9/5 5/12/5 1/1/5
|
||||
f 8/7/6 4/6/6 2/14/6 6/13/6
|
||||
f 10/15/7 11/16/7 9/17/7 12/18/7
|
||||
f 12/19/4 9/20/4 13/21/4
|
||||
f 11/22/2 10/23/2 14/24/2
|
||||
f 16/25/6 17/26/6 38/27/6 35/28/6
|
||||
f 18/29/1 17/30/1 21/31/1 22/32/1
|
||||
f 44/33/6 18/34/6 31/35/6 43/36/6
|
||||
f 17/37/6 18/38/6 44/39/6 23/40/6
|
||||
f 24/41/3 23/42/3 44/43/3 46/44/3
|
||||
f 21/31/6 20/45/6 19/46/6 22/32/6
|
||||
f 16/47/3 15/48/3 19/46/3 20/45/3
|
||||
f 15/49/2 18/50/2 22/32/2 19/46/2
|
||||
f 17/51/4 16/52/4 20/45/4 21/31/4
|
||||
f 26/53/1 27/54/1 28/55/1 25/56/1
|
||||
f 15/57/6 16/58/6 28/59/6 27/60/6
|
||||
f 32/61/4 31/62/4 30/63/4 29/64/4
|
||||
f 31/62/4 32/61/4 45/65/4 43/66/4
|
||||
f 29/64/4 30/63/4 34/67/4 33/68/4
|
||||
f 27/54/1 26/53/1 33/68/1 34/67/1
|
||||
f 18/34/6 15/69/6 30/70/6 31/35/6
|
||||
f 15/57/6 27/60/6 34/71/6 30/72/6
|
||||
f 35/73/2 36/74/2 42/75/2 41/76/2
|
||||
f 36/74/2 35/73/2 38/77/2 37/78/2
|
||||
f 37/78/2 38/77/2 39/79/2 40/80/2
|
||||
f 28/59/6 16/25/6 35/28/6 41/81/6
|
||||
f 23/42/3 24/41/3 40/80/3 39/79/3
|
||||
f 25/56/1 28/55/1 41/82/1 42/83/1
|
||||
f 17/37/6 23/40/6 39/84/6 38/85/6
|
||||
f 46/44/3 44/43/3 43/66/3 45/65/3
|
||||
f 47/86/1 48/87/1 50/88/1 49/89/1
|
||||
f 49/90/2 50/91/2 54/92/2 53/93/2
|
||||
f 53/93/3 54/92/3 52/94/3 51/95/3
|
||||
f 51/95/4 52/94/4 48/87/4 47/86/4
|
||||
f 55/96/2 56/97/2 58/98/2 57/99/2
|
||||
f 57/100/3 58/101/3 62/102/3 61/103/3
|
||||
f 61/103/4 62/102/4 60/104/4 59/105/4
|
||||
f 59/105/1 60/104/1 56/97/1 55/96/1
|
||||
f 63/106/3 64/107/3 66/108/3 65/109/3
|
||||
f 65/110/4 66/111/4 70/112/4 69/113/4
|
||||
f 69/113/1 70/112/1 68/114/1 67/115/1
|
||||
f 67/115/2 68/114/2 64/107/2 63/106/2
|
||||
f 71/116/4 72/117/4 74/118/4 73/119/4
|
||||
f 73/120/1 74/121/1 78/122/1 77/123/1
|
||||
f 77/123/2 78/122/2 76/124/2 75/125/2
|
||||
f 75/125/3 76/124/3 72/117/3 71/116/3
|
||||
f 83/126/8 80/127/8 79/128/8 81/129/8
|
||||
f 81/130/4 79/131/4 82/132/4
|
||||
f 80/133/2 83/134/2 84/135/2
|
|
@ -0,0 +1,121 @@
|
|||
unified_inventory.register_craft_type('churn', {
|
||||
description = 'Butter Churn',
|
||||
icon = 'stations_churn_icon.png',
|
||||
width = 1,
|
||||
height = 1
|
||||
})
|
||||
|
||||
unified_inventory.register_craft({
|
||||
type = 'churn',
|
||||
items = {'mobs:bucket_milk'},
|
||||
output = 'food:butter 4'
|
||||
})
|
||||
|
||||
local function milk_formspec(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local milk_level = tonumber(meta:get_string('milk'))
|
||||
local formspec =
|
||||
'size[8,8.5]'..
|
||||
'list[current_name;input;.5,0;1,1;]'..
|
||||
'label[1.5,0.25;Input Milk]'..
|
||||
'list[current_name;output;.5,2.5;1,1;]'..
|
||||
'label[1.5,2.75;Take Butter]'..
|
||||
'list[current_player;main;0,4.5;8,4;]'..
|
||||
'image[5,.5;1,3;stations_stain_bg.png^[lowpart:'..(milk_level*12.5)..':stations_churn_fg.png]'..
|
||||
'listring[context;output]'..
|
||||
'listring[current_player;main]'..
|
||||
'listring[context;input]'
|
||||
return formspec
|
||||
end
|
||||
|
||||
|
||||
minetest.register_node('stations:churn', {
|
||||
description = 'Butter Churn',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'stations_churn.obj',
|
||||
tiles = {'stations_churn.png'},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
paramtype2 = 'facedir',
|
||||
paramtype = 'light',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.3, -.5, -.3, .3, .3, .3},
|
||||
{-.1, .3, -.1, .1, 1, .1}}},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {{-.3, -.5, -.3, .3, .3, .3},
|
||||
{-.1, .3, -.1, .1, 1, .1}}},
|
||||
groups = {oddly_breakable_by_hand = 1, choppy=3},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('input', 1)
|
||||
inv:set_size('output', 1)
|
||||
meta:set_string('infotext', 'Butter Churn')
|
||||
meta:set_string('milk', 0)
|
||||
meta:set_string('formspec', milk_formspec(pos))
|
||||
end,
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if not epic.space_on_top(pos) then
|
||||
minetest.remove_node(pos)
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
epic.remove_top_node(pos, oldnode)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
if inv:is_empty('input') and inv:is_empty('output') then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end,
|
||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local input = stack:get_name()
|
||||
if listname == 'input' then
|
||||
if input == 'mobs:bucket_milk' then
|
||||
return 99
|
||||
else
|
||||
return 0
|
||||
end
|
||||
elseif listname == 'output' then
|
||||
return 0
|
||||
end
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local input = stack:get_name()
|
||||
if listname == 'input' then
|
||||
if input == 'mobs:bucket_milk' then
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local milk_level = tonumber(meta:get_string('milk'))
|
||||
if milk_level + 4 <= 8 then
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
inv:set_stack('input', 1, 'bucket:bucket_empty')
|
||||
meta:set_string('milk', (milk_level + 4))
|
||||
timer:start(10)
|
||||
meta:set_string('formspec', milk_formspec(pos))
|
||||
meta:set_string('infotext', 'Making Butter')
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local milk_level = tonumber(meta:get_string('milk'))
|
||||
if milk_level >= 1 then
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
inv:add_item('output', 'food:butter')
|
||||
meta:set_string('milk', (milk_level - 1))
|
||||
timer:start(10)
|
||||
meta:set_string('formspec', milk_formspec(pos))
|
||||
meta:set_string('infotext', 'Making Butter')
|
||||
else
|
||||
meta:set_string('infotext', 'Butter Churn')
|
||||
end
|
||||
end,
|
||||
})
|
|
@ -10,7 +10,7 @@ local function dying_formspec(water_level)
|
|||
'list[current_name;water;.5,3;1,1;]'..
|
||||
'label[1.5,3.25;Input water]'..
|
||||
'list[current_name;output;6.5,0;1,4;]'..
|
||||
'image[4.5,.5;1,3;station_dye_bg.png^[lowpart:'..(water_level*10)..':station_dye_fg.png]'..
|
||||
'image[4.5,.5;1,3;stations_dye_bg.png^[lowpart:'..(water_level*10)..':stations_dye_fg.png]'..
|
||||
'list[current_player;main;0,4.5;8,4;]'..
|
||||
'listring[context;output]'..
|
||||
'listring[current_player;main]'
|
||||
|
|
|
@ -1,3 +1,40 @@
|
|||
unified_inventory.register_craft_type('mill', {
|
||||
description = 'Flour Mill',
|
||||
icon = 'stations_flour_mill_icon.png',
|
||||
width = 1,
|
||||
height = 1
|
||||
})
|
||||
|
||||
unified_inventory.register_craft({
|
||||
type = 'mill',
|
||||
items = {'farming:seed_barley 4'},
|
||||
output = 'food:flour_barley'
|
||||
})
|
||||
|
||||
unified_inventory.register_craft({
|
||||
type = 'mill',
|
||||
items = {'farming:seed_oat 4'},
|
||||
output = 'food:flour_oat'
|
||||
})
|
||||
|
||||
unified_inventory.register_craft({
|
||||
type = 'mill',
|
||||
items = {'farming:seed_rice 4'},
|
||||
output = 'food:flour_rice'
|
||||
})
|
||||
|
||||
unified_inventory.register_craft({
|
||||
type = 'mill',
|
||||
items = {'farming:seed_rye 4'},
|
||||
output = 'food:flour_rye'
|
||||
})
|
||||
|
||||
unified_inventory.register_craft({
|
||||
type = 'mill',
|
||||
items = {'farming:seed_wheat 4'},
|
||||
output = 'food:flour_wheat'
|
||||
})
|
||||
|
||||
stations.flour_seeds = {}
|
||||
stations.flour_seeds['farming:seed_barley'] = true
|
||||
stations.flour_seeds['farming:seed_oat'] = true
|
||||
|
@ -67,7 +104,7 @@ minetest.register_node('stations:flour_mill', {
|
|||
end,
|
||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(2)
|
||||
timer:start(3)
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
|
@ -82,7 +119,7 @@ minetest.register_node('stations:flour_mill', {
|
|||
inv:add_item('output', 'food:flour_'..grain)
|
||||
input:take_item(4)
|
||||
inv:set_stack('input',1,input)
|
||||
timer:start(2)
|
||||
timer:start(3)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
|
@ -20,10 +20,20 @@ local food_prep_table_def = {
|
|||
fixed = {-.4, -.5, -.4, 1.4, -.2, .4},
|
||||
},
|
||||
groups = {oddly_breakable_by_hand = 1, choppy=3},
|
||||
after_place_node = function(pos)
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if not epic.space_to_side(pos) then
|
||||
minetest.remove_node(pos)
|
||||
return itemstack
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string('infotext', 'Food Prep')
|
||||
end,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
epic.remove_side_node(pos, oldnode)
|
||||
end,
|
||||
on_rotate = function(pos, node)
|
||||
return false
|
||||
end,
|
||||
}
|
||||
for k, v in pairs(food_prep_table_functions) do
|
||||
food_prep_table_def[k] = v
|
||||
|
@ -34,7 +44,8 @@ minetest.register_node('stations:food_prep', food_prep_table_def)
|
|||
|
||||
local food_prep_locked_functions = simplecrafting_lib.generate_table_functions('food_prep', {
|
||||
show_guides = true,
|
||||
alphabetize_items = true,}
|
||||
alphabetize_items = true,
|
||||
protect_inventory = true,}
|
||||
)
|
||||
|
||||
local food_prep_locked_def = {
|
||||
|
@ -54,10 +65,20 @@ local food_prep_locked_def = {
|
|||
fixed = {-.4, -.5, -.4, 1.4, -.2, .4},
|
||||
},
|
||||
groups = {oddly_breakable_by_hand = 1, choppy=3},
|
||||
after_place_node = function(pos)
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if not epic.space_to_side(pos) then
|
||||
minetest.remove_node(pos)
|
||||
return itemstack
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string('infotext', 'Food Prep (locked)')
|
||||
end,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
epic.remove_side_node(pos, oldnode)
|
||||
end,
|
||||
on_rotate = function(pos, node)
|
||||
return false
|
||||
end,
|
||||
}
|
||||
for k, v in pairs(food_prep_locked_functions) do
|
||||
food_prep_locked_def[k] = v
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
stations.puck_fuel_table = {}
|
||||
stations.puckable_groups = {'flora', 'leaves', 'flower', 'sapling', 'food', 'seed'}
|
||||
stations.puckable_groups = {'flora', 'leaves', 'flower', 'sapling', 'food'}
|
||||
stations.puck_fuel_table['default:coal_lump'] = true
|
||||
stations.puck_fuel_table['charcoal:charcoal'] = true
|
||||
|
||||
|
|
|
@ -34,7 +34,8 @@ minetest.register_node('stations:mortar', mortar_table_def)
|
|||
|
||||
local mortar_locked_functions = simplecrafting_lib.generate_table_functions('mortar', {
|
||||
show_guides = false,
|
||||
alphabetize_items = true,}
|
||||
alphabetize_items = true,
|
||||
protect_inventory = true,}
|
||||
)
|
||||
|
||||
local mortar_locked_def = {
|
||||
|
|
|
@ -45,7 +45,8 @@ minetest.register_node('stations:sewing', sewing_table_def)
|
|||
|
||||
local sewing_locked_functions = simplecrafting_lib.generate_table_functions('sewing', {
|
||||
show_guides = true,
|
||||
alphabetize_items = true,}
|
||||
alphabetize_items = true,
|
||||
protect_inventory = true,}
|
||||
)
|
||||
|
||||
local sewing_locked_def = {
|
||||
|
|
|
@ -34,7 +34,8 @@ minetest.register_node('stations:spinning_wheel', spinning_wheel_table_def)
|
|||
|
||||
local spinning_wheel_locked_functions = simplecrafting_lib.generate_table_functions('spinning_wheel', {
|
||||
show_guides = true,
|
||||
alphabetize_items = true,}
|
||||
alphabetize_items = true,
|
||||
protect_inventory = true,}
|
||||
)
|
||||
|
||||
local spinning_wheel_locked_def = {
|
||||
|
|
|
@ -3,7 +3,7 @@ local function stain_formspec(pos)
|
|||
local chitin_level = tonumber(meta:get_string('chitin_level'))
|
||||
local grounds_level = tonumber(meta:get_string('grounds_level'))
|
||||
local water_level = tonumber(meta:get_string('water_level'))
|
||||
formspec =
|
||||
local formspec =
|
||||
'size[8,8.5]'..
|
||||
'list[current_name;chitin;.5,0;1,1;]'..
|
||||
'label[1.5,0.25;Input chitin]'..
|
||||
|
@ -14,9 +14,9 @@ local function stain_formspec(pos)
|
|||
'list[current_name;brush;.5,3;1,1;]'..
|
||||
'label[1.5,3.25;Input brush]'..
|
||||
'list[current_name;output;4.5,3;1,1;]'..
|
||||
'image[3,.25;3,.5;station_stain_bg.png^[lowpart:'..(chitin_level*5)..':station_stain_fg.png^[transformR270]'..
|
||||
'image[3,1.25;3,.5;station_stain_bg.png^[lowpart:'..(grounds_level*5)..':station_stain_fg.png^[transformR270]'..
|
||||
'image[3,2.25;3,.5;station_stain_bg.png^[lowpart:'..(water_level*5)..':station_stain_fg.png^[transformR270]'..
|
||||
'image[3,.25;3,.5;stations_stain_bg.png^[lowpart:'..(chitin_level*5)..':stations_stain_fg.png^[transformR270]'..
|
||||
'image[3,1.25;3,.5;stations_stain_bg.png^[lowpart:'..(grounds_level*5)..':stations_stain_fg.png^[transformR270]'..
|
||||
'image[3,2.25;3,.5;stations_stain_bg.png^[lowpart:'..(water_level*5)..':stations_stain_fg.png^[transformR270]'..
|
||||
'item_image_button[6,0;1,1;furniture:stain_brush1;brush1; ]'..
|
||||
'item_image_button[6,1;1,1;furniture:stain_brush2;brush2; ]'..
|
||||
'item_image_button[6,2;1,1;furniture:stain_brush3;brush3; ]'..
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
stations.grains = {}
|
||||
stations.grains['farming:barley'] = true
|
||||
stations.grains['farming:oat'] = true
|
||||
stations.grains['farming:rye'] = true
|
||||
stations.grains['farming:wheat'] = true
|
||||
|
||||
local function threshing_formspec(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local speed = meta:get_string('speed')
|
||||
local formspec =
|
||||
'size[8,8.5]'..
|
||||
'list[current_name;input;.5,.5;1,1;]'..
|
||||
'list[current_name;output;6,1;2,3;]'..
|
||||
'list[current_name;straw;2.5,3;3,1]'..
|
||||
'list[current_player;main;0,4.5;8,4;]'..
|
||||
'label[2,.25;Break grain from the stems, your choice, slow or fast.]'..
|
||||
'label[2,.75;Currently running at '..speed..' speed.]'..
|
||||
'button[0,2.5;2,1;slow;Slow]'..
|
||||
'button[0,3.25;2,1;fast;Fast]'..
|
||||
'listring[context;output]'..
|
||||
'listring[current_player;main]'..
|
||||
'listring[context;input]'
|
||||
return formspec
|
||||
end
|
||||
|
||||
minetest.register_node('stations:threshing', {
|
||||
description = 'Threshing Machine',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'stations_threshing.obj',
|
||||
tiles = {'stations_threshing.png'},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
paramtype2 = 'facedir',
|
||||
paramtype = 'light',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, 1.25, .5, .5}},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.45, -.5, -.5, 1.25, .5, .5}},
|
||||
groups = {oddly_breakable_by_hand=3, choppy=3},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('input', 1)
|
||||
inv:set_size('output', 6)
|
||||
inv:set_size('straw', 3)
|
||||
meta:set_string('speed', 'slow')
|
||||
meta:set_string('infotext', 'Threshing Machine')
|
||||
meta:set_string('formspec', threshing_formspec(pos))
|
||||
end,
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if not epic.space_to_side(pos) then
|
||||
minetest.remove_node(pos)
|
||||
return itemstack
|
||||
end
|
||||
end,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
epic.remove_side_node(pos, oldnode)
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
if inv:is_empty('input') and inv:is_empty('output') then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end,
|
||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
local input = stack:get_name()
|
||||
if listname == 'input' then
|
||||
if stations.grains[input] then
|
||||
return 99
|
||||
else
|
||||
return 0
|
||||
end
|
||||
return 0
|
||||
elseif listname == 'output' then
|
||||
return 0
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
if fields ['slow'] then
|
||||
meta:set_string('speed', 'slow')
|
||||
meta:set_string('formspec', threshing_formspec(pos))
|
||||
timer:start(10)
|
||||
elseif fields ['fast'] then
|
||||
meta:set_string('speed', 'fast')
|
||||
meta:set_string('formspec', threshing_formspec(pos))
|
||||
timer:start(3)
|
||||
end
|
||||
end,
|
||||
on_timer = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local input = inv:get_stack('input', 1)
|
||||
local input_count = input:get_count()
|
||||
if input_count >= 1 then
|
||||
local output = inv:get_stack('output', 1)
|
||||
local grain_name = input:get_name()
|
||||
local grain = string.sub(grain_name, 9,-1)
|
||||
local speed = meta:get_string('speed')
|
||||
if speed == 'slow' then
|
||||
local num = math.random(3, 7)
|
||||
inv:add_item('output', 'farming:seed_'..grain..' '..num)
|
||||
inv:add_item('straw', 'farming:hay')
|
||||
input:take_item(1)
|
||||
inv:set_stack('input',1,input)
|
||||
timer:start(10)
|
||||
elseif speed == 'fast' then
|
||||
local num = math.random(1, 3)
|
||||
inv:add_item('output', 'farming:seed_'..grain..' '..num)
|
||||
inv:add_item('straw', 'farming:hay')
|
||||
input:take_item(1)
|
||||
inv:set_stack('input',1,input)
|
||||
timer:start(3)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 584 B After Width: | Height: | Size: 584 B |
Before Width: | Height: | Size: 583 B After Width: | Height: | Size: 583 B |
Before Width: | Height: | Size: 619 B After Width: | Height: | Size: 619 B |
Before Width: | Height: | Size: 632 B After Width: | Height: | Size: 632 B |
After Width: | Height: | Size: 32 KiB |
|
@ -65,3 +65,21 @@ stations.dual_register_recipe('woodworking', {
|
|||
},
|
||||
output = 'stations:food_prep',
|
||||
})
|
||||
|
||||
stations.dual_register_recipe('woodworking', {
|
||||
input = {
|
||||
['group:stick'] = 2,
|
||||
['xdecor:barrel'] = 1,
|
||||
['xdecor:bowl'] = 1,
|
||||
},
|
||||
output = 'stations:churn',
|
||||
})
|
||||
|
||||
stations.dual_register_recipe('woodworking', {
|
||||
input = {
|
||||
['furniture:wheel'] = 1,
|
||||
['xdecor:baricade'] = 1,
|
||||
['group:wood'] = 4,
|
||||
},
|
||||
output = 'stations:threshing',
|
||||
})
|
||||
|
|