Added a bunch of food stuffs.

master
NathanSalapat 2020-08-07 21:00:06 -05:00
parent 7b0515f1db
commit 608a56042a
34 changed files with 811 additions and 101 deletions

View File

@ -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",

View File

@ -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)

View File

@ -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"},
}

View File

@ -44,3 +44,9 @@ minetest.override_item("default:junglegrass", {
}
},
})
minetest.register_craftitem('farming:hay', {
description = 'Hay',
inventory_image = 'farming_hay.png',
groups = {flora=1}
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

View File

@ -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

View File

@ -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'}},
})

View File

@ -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')

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -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"),

View File

@ -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

View File

@ -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'}

View File

@ -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')

View File

@ -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

View File

@ -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

View File

@ -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,
})

View File

@ -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]'

View File

@ -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,
})

View File

@ -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

View File

@ -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

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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; ]'..

View File

@ -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,
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 584 B

After

Width:  |  Height:  |  Size: 584 B

View File

Before

Width:  |  Height:  |  Size: 583 B

After

Width:  |  Height:  |  Size: 583 B

View File

Before

Width:  |  Height:  |  Size: 619 B

After

Width:  |  Height:  |  Size: 619 B

View File

Before

Width:  |  Height:  |  Size: 632 B

After

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -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',
})