fixed the soil.

master
NathanSalapat 2015-04-11 19:32:02 -05:00
parent ac16c71958
commit 0599883176
9 changed files with 461 additions and 167 deletions

View File

@ -1,5 +1,9 @@
4-11-15: 4-11-15:
Spigots are working!!! They can only be placed on tree trunks, and need a bucket to collect sap. Right now you just have the infotexts to give you statuses. Placing a bucket in the spigot will trigger a timer that will replace the empty bucket with a sap filled bucket. Cook the sap filled bucket to get sugar. Collection and cooking times will probably be tweaked yet. I want to add a graphic to the spigot that shows whether the bucket is placed and is empty or full, but I don't know if I can do that without creating three nodes. Spigots are working!!! They can only be placed on tree trunks, and need a bucket to collect sap. Right now you just have the infotexts to give you statuses. Placing a bucket in the spigot will trigger a timer that will replace the empty bucket with a sap filled bucket. Cook the sap filled bucket to get sugar. Collection and cooking times will probably be tweaked yet. I want to add a graphic to the spigot that shows whether the bucket is placed and is empty or full, but I don't know if I can do that without creating three nodes. Updated the spigot model and texture.
Crafting recipe is
c
cs
c s where c is clay and s is group stick
4-9-15: 4-9-15:
Spigots now only place on tree trunks, though they have to be on the ground, not one node above the ground, not sure why... Spigots now only place on tree trunks, though they have to be on the ground, not one node above the ground, not sure why...

View File

@ -82,14 +82,32 @@ minetest.register_craft({
} }
}) })
--[[minetest.register_craft({ minetest.register_craft({
output = 'survival:spigot 1', output = 'survival:spigot 1',
recipe = { recipe = {
{'', '', ''}, {'default:clay', '', ''},
{'', '', ''}, {'default:clay', 'group:stick', ''},
{'', '', ''} {'default:clay', '', 'group:stick'}
} }
})]] })
minetest.register_craft({
output = 'survival:well_bottom 1',
recipe = {
{'default:cobble', 'default:cobble', 'default:cobble'},
{'default:cobble', 'farming:cotton', 'default:cobble'},
{'default:cobble', 'default:cobble', 'default:cobble'},
}
})
minetest.register_craft({
output = 'survival:well_top 1',
recipe = {
{'', 'group:wood', ''},
{'group:wood', 'farming:cotton', 'group:wood'},
{'group:stick', 'farming:cotton', 'group:stick'},
}
})
minetest.register_craft({ minetest.register_craft({
type = 'cooking', type = 'cooking',

View File

@ -2,6 +2,7 @@ minetest.register_craftitem('survival:shell', {
description = 'old shell', description = 'old shell',
inventory_image = 'survival_shell.png', inventory_image = 'survival_shell.png',
}) })
minetest.register_craftitem('survival:bucket_sap', { minetest.register_craftitem('survival:bucket_sap', {
description = 'bucket with sap', description = 'bucket with sap',
inventory_image = 'survival_bucket_sap.png', inventory_image = 'survival_bucket_sap.png',

1
functions.lua Normal file
View File

@ -0,0 +1 @@

View File

@ -6,3 +6,4 @@ dofile(minetest.get_modpath('survival')..'/tools.lua')
dofile(minetest.get_modpath('survival')..'/foods.lua') dofile(minetest.get_modpath('survival')..'/foods.lua')
dofile(minetest.get_modpath('survival')..'/abms.lua') dofile(minetest.get_modpath('survival')..'/abms.lua')
dofile(minetest.get_modpath('survival')..'/craftitem.lua') dofile(minetest.get_modpath('survival')..'/craftitem.lua')
dofile(minetest.get_modpath('survival')..'/functions.lua')

View File

@ -1,114 +1,92 @@
# Blender v2.74 (sub 4) OBJ File: '' # Blender v2.74 (sub 4) OBJ File: ''
# www.blender.org # www.blender.org
o Cube.001 v 0.000000 0.110653 0.060066
v 0.307936 0.455513 0.501121 v 0.000000 0.237622 0.441510
v 0.035355 0.096758 0.064691
v 0.035355 0.223727 0.446135
v 0.050000 0.063212 0.075858
v 0.050000 0.190181 0.457301
v 0.035355 0.029667 0.087024
v 0.035355 0.156635 0.468467
v -0.000000 0.015772 0.091649
v -0.000000 0.142740 0.473092
v -0.035355 0.029667 0.087024
v -0.035355 0.156635 0.468467
v -0.050000 0.063212 0.075858
v -0.050000 0.190181 0.457301
v -0.035355 0.096758 0.064691
v -0.035355 0.223727 0.446135
v -0.000000 0.097173 0.064553
v 0.025309 0.087226 0.067864
v 0.035792 0.063212 0.075858
v 0.025309 0.039199 0.083851
v -0.000000 0.029252 0.087162
v -0.025309 0.039199 0.083851
v -0.035792 0.063212 0.075858
v -0.025309 0.087226 0.067864
v -0.308226 0.455513 0.501121 v -0.308226 0.455513 0.501121
v -0.258129 0.405416 0.407224
v -0.258129 -0.110552 0.407224
v -0.308226 -0.160649 0.501121 v -0.308226 -0.160649 0.501121
v 0.257839 -0.110552 0.407225
v 0.257839 0.405416 0.407225
v 0.307936 0.455513 0.501121
v 0.307936 -0.160649 0.501121 v 0.307936 -0.160649 0.501121
v -0.308226 0.455513 0.407224 vt 1.000000 0.312500
v -0.308226 -0.160649 0.407224 vt 0.000000 0.187500
v 0.307936 -0.160649 0.407225
v -0.048586 0.098990 0.407224
v 0.048297 0.098990 0.407224
v 0.307936 0.455513 0.407225
v 0.048297 0.004616 0.163012
v -0.048586 0.004616 0.163012
v -0.048586 -0.023105 0.045603
v 0.048297 -0.023105 0.045603
v 0.048297 0.195874 0.407224
v -0.048586 0.195874 0.407224
v -0.048586 0.073778 0.045603
v 0.048297 0.073778 0.045603
v 0.048297 0.101499 0.163012
v -0.048586 0.101499 0.163012
v -0.048586 0.016122 0.211746
v -0.048586 0.164411 0.206822
v 0.048297 0.164411 0.206822
v 0.048297 0.016122 0.211746
v 0.048297 0.040105 0.289449
v -0.048586 0.040105 0.289449
v 0.048297 0.131006 0.255931
v -0.048586 0.131006 0.255931
vt 0.681152 0.000000
vt 0.765129 0.000000
vt 0.765129 0.618256
vt 0.681152 0.618256
vt 0.551066 0.618256
vt 0.000000 0.618256
vt 0.232210 0.357734
vt 0.318857 0.357734
vt 0.849105 0.618256
vt 0.849105 0.000000
vt 0.930565 0.000000
vt 0.930565 0.618256
vt 1.000000 0.000000
vt 1.000000 0.618256
vt 0.000000 0.878964
vt 0.086648 0.878964
vt 0.086648 1.000000
vt 0.000000 1.000000
vt 0.551066 0.000000
vt 0.318857 0.260521
vt 0.000000 0.000000 vt 0.000000 0.000000
vt 0.232210 0.260521 vt 1.000000 0.187500
vt 0.173295 0.618256 vt 1.000000 0.000000
vt 0.259943 0.618256 vt 1.000000 1.000000
vt 0.259943 0.715468 vt 0.000000 1.000000
vt 0.173295 0.715468 vt 1.000000 0.812500
vt 0.596823 0.663874 vt 0.000000 0.812500
vt 0.681152 0.686212 vt 1.000000 0.687500
vt 0.681152 0.807259 vt 0.000000 0.687500
vt 0.596823 0.784921 vt 0.000000 0.500000
vt 0.332820 0.618256 vt 1.000000 0.500000
vt 0.332820 0.715468 vt 0.000000 0.312500
vt 0.681152 0.121047 vt 0.023438 0.000000
vt 0.596823 0.143385 vt 0.171875 0.156250
vt 0.596823 0.022338 vt 0.171875 0.824219
vt 0.681152 0.171291 vt 0.828125 0.175781
vt 0.551066 0.200673 vt 0.976562 1.000000
vt 0.389086 0.618256 vt 0.828125 0.843750
vt 0.389086 0.715468 vn 0.382700 0.876600 -0.291800
vt 0.551066 0.606586 vn 0.923900 0.363100 -0.120900
vt 0.681152 0.635968 vn 0.923900 -0.363100 0.120900
vt 0.000000 0.828725 vn 0.382700 -0.876600 0.291800
vt 0.086648 0.828725 vn -0.382700 -0.876600 0.291800
vt 0.000000 0.747247 vn -0.923900 -0.363100 0.120900
vt 0.086648 0.747247 vn -0.382700 0.876600 -0.291800
vt 0.590236 0.566331 vn -0.923900 0.363100 -0.120900
vt 0.676245 0.554557 vn 0.000000 -0.315800 -0.948800
vt 0.086648 0.707166 vn -0.882300 0.000000 -0.470700
vt 0.173295 0.707166 vn 0.882300 0.000000 -0.470700
vt 0.173295 0.766762 vn 0.000000 -0.882300 -0.470700
vt 0.086648 0.766762 vn 0.000000 0.882300 -0.470700
vt 0.676245 0.252702 vn 0.000000 0.000000 -1.000000
vt 0.590236 0.240928 g Cylinder_Cylinder_Spigot
vt 0.649194 0.381291
vt 0.564865 0.403630
vt 0.086648 0.618256
vt 0.649194 0.425968
s off s off
f 2/1 5/2 6/3 3/4 f 1/1/1 2/2/1 4/3/1 3/4/1
f 7/5 6/6 8/7 9/8 f 3/4/2 4/3/2 6/3/2 5/5/2
f 10/9 1/3 4/2 7/10 f 5/6/3 6/7/3 8/7/3 7/8/3
f 4/11 3/12 6/9 7/10 f 7/8/4 8/7/4 10/9/4 9/10/4
f 10/12 5/11 2/13 1/14 f 9/10/5 10/9/5 12/11/5 11/10/5
f 11/15 12/16 13/17 14/18 f 11/10/6 12/11/6 14/12/6 13/13/6
f 10/19 7/5 9/8 15/20 f 15/1/7 16/14/7 2/2/7 1/1/7
f 5/21 10/19 15/20 16/22 f 13/13/8 14/12/8 16/14/8 15/1/8
f 6/6 5/21 16/22 8/7 f 15/1/9 1/1/9 17/1/9 24/1/9
f 17/23 18/24 14/25 13/26 f 1/1/9 3/4/9 18/4/9 17/1/9
f 19/27 11/28 14/29 18/30 f 5/6/9 7/8/9 20/8/9 19/8/9
f 20/25 19/24 18/31 17/32 f 11/10/9 13/13/9 23/13/9 22/10/9
f 12/33 20/34 17/35 13/1 f 7/8/9 9/10/9 21/10/9 20/8/9
f 21/36 22/37 20/34 12/33 f 13/13/9 15/1/9 24/1/9 23/13/9
f 22/32 23/31 19/38 20/39 f 3/4/9 5/5/9 19/5/9 18/4/9
f 23/40 24/41 11/28 19/27 f 9/10/9 11/10/9 22/10/9 21/10/9
f 24/42 21/43 12/16 11/15 g Cylinder_Cylinder_Plaque
f 25/44 26/45 21/43 24/42 f 25/15/10 26/16/10 27/17/10 28/7/10
f 27/46 25/47 24/41 23/40 f 30/18/11 31/5/11 32/19/11 29/20/11
f 28/48 27/49 23/50 22/51 f 32/19/12 28/7/12 27/17/12 29/20/12
f 26/52 28/53 22/37 21/36 f 30/18/13 26/16/13 25/15/13 31/5/13
f 8/54 16/55 28/53 26/52 f 30/18/14 29/20/14 27/17/14 26/16/14
f 16/56 15/23 27/49 28/48
f 15/55 9/57 25/47 27/46
f 9/6 8/56 26/45 25/44

View File

@ -0,0 +1,125 @@
# Blender v2.74 (sub 4) OBJ File: ''
# www.blender.org
o Circle_Circle.001
v 0.000000 0.283161 -0.634972
v -0.448993 0.283161 -0.448993
v -0.634972 0.283161 0.000000
v -0.448993 0.283161 0.448993
v 0.000000 0.283161 0.634972
v 0.448993 0.283161 0.448993
v 0.634972 0.283161 -0.000000
v 0.448993 0.283161 -0.448993
v 0.000000 0.283161 -0.468916
v -0.331573 0.283161 -0.331573
v -0.468916 0.283161 0.000000
v -0.331573 0.283161 0.331573
v 0.000000 0.283161 0.468916
v 0.331574 0.283161 0.331573
v 0.468916 0.283161 -0.000000
v 0.331574 0.283161 -0.331573
v 0.000000 -0.500000 -0.634972
v -0.448993 -0.500000 -0.448993
v -0.634972 -0.500000 0.000000
v -0.448993 -0.500000 0.448993
v 0.000000 -0.500000 0.634972
v 0.448993 -0.500000 0.448993
v 0.634972 -0.500000 -0.000000
v 0.448993 -0.500000 -0.448993
v 0.000000 -0.500000 -0.468916
v -0.331573 -0.500000 -0.331573
v -0.468916 -0.500000 0.000000
v -0.331573 -0.500000 0.331573
v 0.000000 -0.500000 0.468916
v 0.331574 -0.500000 0.331573
v 0.468916 -0.500000 -0.000000
v 0.331574 -0.500000 -0.331573
vt -0.608080 0.074124
vt -0.327469 0.190357
vt -0.327470 0.846802
vt -0.608081 0.963035
vt 0.020474 1.591590
vt 0.136707 1.310979
vt 0.793152 1.310979
vt 0.909385 1.591590
vt 1.257329 0.846802
vt 1.537940 0.963035
vt 1.537940 0.074125
vt 1.257329 0.190357
vt 0.793153 -0.273820
vt 0.909385 -0.554430
vt 0.020475 -0.554430
vt 0.136707 -0.273820
vt 0.515697 1.565113
vt 0.025118 1.565113
vt 0.025118 0.494591
vt 0.515697 0.494591
vt -0.814013 0.503505
vt -0.155051 0.503733
vt -0.155418 1.565641
vt -0.814379 1.565413
vt -0.465460 1.565113
vt -0.465460 0.494591
vt 1.162871 -0.559966
vt 1.821833 -0.559966
vt 1.821833 0.501942
vt 1.162871 0.501942
vt 1.496855 0.493016
vt 1.006276 0.493016
vt 1.006276 -0.577506
vt 1.496855 -0.577506
vt 0.503910 -0.559966
vt 0.503910 0.501942
vt 0.515697 0.493016
vt 0.515697 -0.577506
vt -0.155051 -0.559966
vt -0.155051 0.501942
vt 0.025118 0.493016
vt 0.025119 -0.577506
vt -0.814013 -0.559966
vt -0.814013 0.501942
vt 1.162872 0.504188
vt 1.821833 0.504415
vt 1.821467 1.566324
vt 1.162505 1.566096
vt -0.465460 0.493016
vt -0.465460 -0.577506
vt 1.496855 1.565113
vt 1.006276 1.565113
vt 1.006276 0.494591
vt 1.496855 0.494591
vt 0.503910 0.503960
vt 0.503544 1.565869
vn 0.000000 1.000000 0.000000
vn 0.923900 0.000000 -0.382700
vn -0.382700 0.000000 0.923900
vn 0.382700 0.000000 -0.923900
vn 0.382700 0.000000 0.923900
vn -0.382700 0.000000 -0.923900
vn 0.923900 0.000000 0.382700
vn -0.923900 0.000000 -0.382700
vn -0.923900 0.000000 0.382700
s off
f 4/1/1 12/2/1 11/3/1 3/4/1
f 2/5/1 10/6/1 9/7/1 1/8/1
f 1/8/1 9/7/1 16/9/1 8/10/1
f 7/11/1 15/12/1 14/13/1 6/14/1
f 5/15/1 13/16/1 12/2/1 4/1/1
f 3/4/1 11/3/1 10/6/1 2/5/1
f 8/10/1 16/9/1 15/12/1 7/11/1
f 6/14/1 14/13/1 13/16/1 5/15/1
f 11/17/2 12/18/2 28/19/2 27/20/2
f 5/21/3 4/22/3 20/23/3 21/24/3
f 12/18/4 13/25/4 29/26/4 28/19/4
f 6/27/5 5/28/5 21/29/5 22/30/5
f 13/31/6 14/32/6 30/33/6 29/34/6
f 7/35/7 6/27/7 22/30/7 23/36/7
f 14/32/8 15/37/8 31/38/8 30/33/8
f 8/39/2 7/35/2 23/36/2 24/40/2
f 15/37/9 16/41/9 32/42/9 31/38/9
f 1/43/4 8/39/4 24/40/4 17/44/4
f 2/45/6 1/46/6 17/47/6 18/48/6
f 16/41/3 9/49/3 25/50/3 32/42/3
f 9/51/5 10/52/5 26/53/5 25/54/5
f 3/55/8 2/45/8 18/48/8 19/56/8
f 10/52/7 11/17/7 27/20/7 26/53/7
f 4/22/9 3/55/9 19/56/9 20/23/9

View File

@ -0,0 +1,124 @@
# Blender v2.74 (sub 4) OBJ File: ''
# www.blender.org
o Plane
v -0.594368 -0.025786 0.594368
v 0.594368 -0.025786 0.594368
v -0.594368 -0.025786 -0.594368
v 0.594368 -0.025786 -0.594368
v -0.594368 0.213800 -0.110024
v -0.594368 0.213800 0.110024
v 0.594368 0.213800 0.110024
v 0.594368 0.213800 -0.110024
v -0.594368 0.074214 0.594368
v 0.594368 0.074214 0.594368
v -0.594368 0.074214 -0.594368
v 0.594368 0.074214 -0.594368
v -0.594368 0.395477 -0.037573
v -0.594368 0.395477 0.037573
v 0.594368 0.395477 0.037573
v 0.594368 0.395477 -0.037573
v 0.580392 -0.716775 -0.100000
v 0.580392 0.207742 -0.100000
v 0.580392 -0.716775 0.100000
v 0.580392 0.207742 0.100000
v 0.484193 -0.716775 -0.100000
v 0.484193 0.207742 -0.100000
v 0.484193 -0.716775 0.100000
v 0.484193 0.207742 0.100000
v -0.580392 -0.716775 0.100000
v -0.580392 0.207742 0.100000
v -0.580392 -0.716775 -0.100000
v -0.580392 0.207742 -0.100000
v -0.484193 -0.716775 0.100000
v -0.484193 0.207742 0.100000
v -0.484193 -0.716775 -0.100000
v -0.484193 0.207742 -0.100000
vt -2.037692 -0.642955
vt -2.037691 -1.795974
vt 0.498825 -1.795974
vt 0.498825 -0.642955
vt -2.037692 0.979602
vt -2.037692 -0.173418
vt 0.498825 -0.173417
vt 0.498825 0.979602
vt -0.828274 0.554469
vt 1.708243 0.554469
vt 1.708243 1.926136
vt -0.828275 1.926135
vt -0.828275 -0.977544
vt 1.708243 -0.977544
vt 1.708243 0.394122
vt -0.828274 0.394123
vt 0.533815 0.318514
vt 0.533815 0.838637
vt 0.104389 0.667386
vt 0.104389 0.489764
vt -2.037692 -2.009354
vt 0.498825 -2.009355
vt 0.498825 1.192981
vt -2.037692 1.192983
vt -0.160681 2.007526
vt 0.422098 0.829388
vt 0.864017 0.653155
vt 0.082564 2.007526
vt 1.100118 -0.826317
vt 0.863751 -0.826317
vt 0.422098 0.294133
vt -0.160680 -0.884004
vt 0.082565 -0.884004
vt 0.864017 0.470366
vt 1.100117 1.983467
vt 0.863749 1.983467
vt -0.630533 1.126091
vt -0.630534 0.699332
vt 1.342194 0.699332
vt 1.342194 1.126091
vt -0.630534 0.494062
vt 1.342194 0.494062
vt -0.630534 0.067303
vt 1.342194 0.067302
vt -0.630534 -0.137967
vt 1.342194 -0.137967
vt -0.468279 1.205461
vt -0.468279 0.778702
vt 1.504448 0.778702
vt 1.504449 1.205460
vt -0.468279 0.573432
vt 1.504448 0.573432
vt -0.468279 0.146673
vt 1.504448 0.146673
vt -0.468279 -0.058597
vt 1.504448 -0.058597
vn 0.000000 -0.896300 0.443400
vn 0.000000 -0.896300 -0.443400
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.866200 -0.499800
vn 0.000000 0.866200 0.499800
vn 0.000000 1.000000 0.000000
vn -1.000000 -0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn 1.000000 -0.000000 0.000000
s off
f 5/1/1 3/2/1 4/3/1 8/4/1
f 1/5/2 6/6/2 7/7/2 2/8/2
f 6/6/3 5/1/3 8/4/3 7/7/3
f 13/9/4 16/10/4 12/11/4 11/12/4
f 9/13/5 10/14/5 15/15/5 14/16/5
f 14/16/6 15/15/6 16/10/6 13/9/6
f 5/17/7 6/18/7 14/19/7 13/20/7
f 4/3/8 3/2/8 11/21/8 12/22/8
f 1/5/9 2/8/9 10/23/9 9/24/9
f 2/25/10 7/26/10 15/27/10 10/28/10
f 3/29/7 5/17/7 13/20/7 11/30/7
f 8/31/10 4/32/10 12/33/10 16/34/10
f 6/18/7 1/35/7 9/36/7 14/19/7
f 7/26/10 8/31/10 16/34/10 15/27/10
f 18/37/10 20/38/10 19/39/10 17/40/10
f 20/38/9 24/41/9 23/42/9 19/39/9
f 24/41/7 22/43/7 21/44/7 23/42/7
f 22/43/8 18/45/8 17/46/8 21/44/8
f 26/47/7 28/48/7 27/49/7 25/50/7
f 28/48/8 32/51/8 31/52/8 27/49/8
f 32/51/10 30/53/10 29/54/10 31/52/10
f 30/53/9 26/55/9 25/56/9 29/54/9

150
nodes.lua
View File

@ -7,16 +7,6 @@ local barrel_formspec =
"list[current_player;main;0,4.85;8,1;]".. "list[current_player;main;0,4.85;8,1;]"..
"list[current_player;main;0,6.08;8,3;8]".. "list[current_player;main;0,6.08;8,3;8]"..
default.get_hotbar_bg(0,4.85) default.get_hotbar_bg(0,4.85)
local spigot_formspec =
'size[8,9]'..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"list[sap;main;2,4;1,1;]"..
"list[current_player;main;0,4.85;8,1;]"..
"list[current_player;main;0,6.08;8,3;8]"..
default.get_hotbar_bg(0,4.85)
minetest.register_node('survival:barrel', { minetest.register_node('survival:barrel', {
description = 'Barrel', description = 'Barrel',
@ -58,6 +48,11 @@ minetest.register_node(":default:dirt_with_grass", {
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
is_ground_content = true, is_ground_content = true,
groups = {crumbly=3,soil=1}, groups = {crumbly=3,soil=1},
soil = {
base = "default:dirt_with_grass",
dry = "farming:soil",
wet = "farming:soil_wet"
},
drop = { drop = {
max_items = 2, max_items = 2,
items = { items = {
@ -90,12 +85,12 @@ minetest.register_node(":default:dirt_with_grass", {
footstep = {name="default_grass_footstep", gain=0.25}, footstep = {name="default_grass_footstep", gain=0.25},
}), }),
}) })
--This will probably need to be a few nodes to show the states it can be in.
minetest.register_node('survival:spigot', { minetest.register_node('survival:spigot', {
description = 'spigot', description = 'spigot',
drawtype = 'mesh', drawtype = 'mesh',
mesh = 'spigot.obj', mesh = 'spigot.obj',
tiles = {'default_cobble.png'}, tiles = {{name='default_wood.png'},{name='default_clay.png'}},
-- inventory_image = 'placeholder.png', -- inventory_image = 'placeholder.png',
groups = {choppy=2, dig_immediate=2,}, groups = {choppy=2, dig_immediate=2,},
paramtype = 'light', paramtype = 'light',
@ -108,58 +103,63 @@ minetest.register_node('survival:spigot', {
type = 'fixed', type = 'fixed',
fixed = {-.35, -.2, 0, .35, .5, .5}, -- Right, Bottom, Back, Left, Top, Front fixed = {-.35, -.2, 0, .35, .5, .5}, -- Right, Bottom, Back, Left, Top, Front
}, },
on_construct = function(pos) on_construct = function(pos)
local timer = minetest.get_node_timer(pos) local timer = minetest.get_node_timer(pos)
local meta = minetest.env:get_meta(pos) local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size("main", 8*4) inv:set_size("main", 8*4)
inv:set_size('sap', 1) inv:set_size('sap', 1)
meta:set_string("formspec", meta:set_string("formspec",
"size[8,9]".. "size[8,9]"..
"label[1,0;You need a bucket to collect sap.]" .. "label[1,0;You need a bucket to collect sap.]" ..
"list[current_name;sap;1,1.5;1,1]".. "list[current_name;sap;1,1.5;1,1]"..
"list[current_player;main;0,5;8,4;]") "list[current_player;main;0,5;8,4;]")
meta:set_string("infotext", "Sap Spigot") meta:set_string("infotext", "Sap Spigot")
end, end,
on_timer = function(pos, elapsed) on_timer = function(pos, elapsed)
local meta = minetest.env:get_meta(pos) local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
local timer = minetest.get_node_timer(pos) local timer = minetest.get_node_timer(pos)
if inv:contains_item('sap', 'bucket:bucket_empty') then --make sure the bucket is still there if inv:contains_item('sap', 'bucket:bucket_empty') then --make sure the bucket is still there
inv:set_stack('sap', 1,'survival:bucket_sap') inv:set_stack('sap', 1,'survival:bucket_sap')
meta:set_string('infotext', 'bucket filled with sap, please replace.') meta:set_string('infotext', 'bucket filled with sap, please replace.')
timer:stop() timer:stop()
return return
end end
end, end,
on_metadata_inventory_put = function(pos, listname, index, stack, player) on_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.env:get_meta(pos) local meta = minetest.env:get_meta(pos)
local inv = meta:get_inventory() local inv = meta:get_inventory()
local timer = minetest.get_node_timer(pos) local timer = minetest.get_node_timer(pos)
if inv:contains_item('sap', 'bucket:bucket_empty') then if inv:contains_item('sap', 'bucket:bucket_empty') then
timer:start(60) timer:start(240)
meta:set_string('infotext', 'gathering sap.. this could take a while.') meta:set_string('infotext', 'gathering sap.. this could take a while.')
end end
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
local timer = minetest.get_node_timer(pos)
local meta = minetest.env:get_meta(pos)
meta:set_string('infotext', 'You need a bucket to collect sap.')
end, end,
after_place_node = function(pos, placer, itemstack) after_place_node = function(pos, placer, itemstack)
local n = minetest.get_node(pos) --get the location of the placed node local n = minetest.get_node(pos) --get the location of the placed node
if not n or not n.param2 then if not n or not n.param2 then
minetest.remove_node(pos)
return true
end
local dir = minetest.facedir_to_dir(n.param2)
local p1 = {x=pos.x+dir.x, y=pos.y, z=pos.z+dir.z} --node placed on
local p2 = {x=pos.x+dir.x, y=pos.y+1, z=pos.z+dir.z} --node above previous
local p3 = {x=pos.x+dir.x, y=pos.y-1, z=pos.z+dir.z} --node below first
local n2 = minetest.get_node_or_nil(p1)
local n3 = minetest.get_node_or_nil(p2)
local n4 = minetest.get_node_or_nil(p3)
if n2.name and n3.name and n4.name ~= 'default:tree' then
minetest.remove_node(pos) minetest.remove_node(pos)
return true return true
--TODO make the spigot place only one node above the ground.
end end
local dir = minetest.facedir_to_dir(n.param2) end,
local p1 = {x=pos.x+dir.x, y=pos.y, z=pos.z+dir.z} --node placed on
local p2 = {x=pos.x+dir.x, y=pos.y+1, z=pos.z+dir.z} --node above previous
local p3 = {x=pos.x+dir.x, y=pos.y-1, z=pos.z+dir.z} --node below first
local n2 = minetest.get_node_or_nil(p1)
local n3 = minetest.get_node_or_nil(p2)
local n4 = minetest.get_node_or_nil(p3)
if n2.name and n3.name and n4.name ~= 'default:tree' then
minetest.remove_node(pos)
return true
--TODO make the spigot place one node above the ground.
end
end,
}) })
minetest.register_node('survival:sleeping_bag', { minetest.register_node('survival:sleeping_bag', {
@ -257,12 +257,11 @@ minetest.register_node('survival:leafy_bed', {
end, end,
on_rightclick = function(pos, node, clicker) on_rightclick = function(pos, node, clicker)
beds.on_rightclick(pos, clicker) beds.on_rightclick(pos, clicker)
-- player:set_hp(-1)
end, end,
}) })
minetest.register_node('survival:sand_with_food', { minetest.register_node('survival:sand_with_food', {
description = "Sand", description = "Sand",
tiles = {"default_sand.png"}, tiles = {"default_sand.png"},
is_ground_content = true, is_ground_content = true,
groups = {crumbly=3, falling_node=1, sand=1, not_in_creative_inventory=1}, groups = {crumbly=3, falling_node=1, sand=1, not_in_creative_inventory=1},
@ -284,3 +283,46 @@ minetest.register_node('survival:sand_with_food', {
}, },
}, },
}) })
minetest.register_node('survival:well_bottom', {
description = 'well bottom',
drawtype = 'mesh',
mesh = 'survival_well_bottom.obj',
tiles = {'default_cobble.png'},
groups = {cracky=3, stone=2},
paramtype = 'light',
paramtype2 = 'facedir',
sounds = default.node_sound_stone_defaults(),
selection_box = {
type = 'fixed',
fixed = {-0.6, -0.5, -0.6, 0.6, .3, .6}, -- Right, Bottom, Back, Left, Top, Front
},
})
minetest.register_node('survival:well_top', {
description = 'well top',
drawtype = 'mesh',
mesh = 'survival_well_top.obj',
tiles = {'default_wood.png'},
groups = {choppy=2,oddly_breakable_by_hand=2, attached_node=1},
paramtype = 'light',
paramtype2 = 'facedir',
selection_box = {
type = 'fixed',
fixed = {-0.6, -0.6, -0.6, 0.6, .4, .6}, -- Right, Bottom, Back, Left, Top, Front
},
after_place_node = function(pos, placer, itemstack)
local n = minetest.get_node(pos)
if not n or not n.param2 then
minetest.remove_node(pos)
return true
end
local dir = minetest.facedir_to_dir(n.param2)
local p = {x=pos.x, y=pos.y-1, z=pos.z}
local n2 = minetest.get_node_or_nil(p)
if n2.name ~= 'survival:well_bottom' then
minetest.remove_node(pos)
return true
end
end,
})