@@ -8,6 +8,23 @@ License: GPLv3
8
8
9
9
]] --
10
10
11
+ --[[
12
+ Level 4 mostly revolving around farming and dying
13
+ level 4 feats and rewards:
14
+
15
+ * craft_diamondhoe farming:seed_wheat
16
+ * use_hoe x40 farming:melon_slice
17
+ * plant_wheatseed default:cactus
18
+ * craft_flour farming:seed_cotton x10
19
+ * place_snowblock x50 dye:red x20
20
+ * dig_cactus x10 dye:white x20
21
+ * dig_geranium x5 flowers:mushroom_brown x2
22
+ * dig_tulip x5 flowers:mushroom_red x2
23
+ * dig_brownmushroom x15 farming:corn x50
24
+ * craft_ethanol default:meselamp x5
25
+
26
+ ]] --
27
+
11
28
local level = 4
12
29
13
30
--
@@ -17,46 +34,158 @@ local level = 4
17
34
skyblock .levels [level ] = {}
18
35
19
36
-- feats
20
- skyblock .levels [level ].feats = {}
37
+ -- Parts of this are purely hypothetical and not implement yet
38
+ skyblock .levels [level ].feats = {
39
+ {
40
+ name = " Craft a mese hoe" ,
41
+ hint = " farming:hoe_mese" ,
42
+ feat = " craft_mesehoe" ,
43
+ count = 1 ,
44
+ reward = " farming:seed_wheat 2" ,
45
+ craft = {" farming:hoe_mese" }
46
+ },
47
+ {
48
+ name = " Use the hoe 40 times" ,
49
+ hint = " farming:hoe_mese" ,
50
+ feat = " use_hoe" ,
51
+ count = 40 ,
52
+ reward = " farming:melon_slice" ,
53
+ hoeuse = {}
54
+ },
55
+ {
56
+ name = " Plant 10 wheat seeds" ,
57
+ hint = " farming:seed_wheat" ,
58
+ feat = " place_wheatseed" ,
59
+ count = 10 ,
60
+ reward = " default:cactus" ,
61
+ placenode = {" farming:seed_wheat" }
62
+ },
63
+ {
64
+ name = " Craft 4 lumps of flour" ,
65
+ hint = " farming:flour" ,
66
+ feat = " craft_flour" ,
67
+ count = 4 ,
68
+ reward = " farming:seed_cotton 10" ,
69
+ craft = {" farming:flour" },
70
+ },
71
+ {
72
+ name = " Place 50 snow blocks" ,
73
+ hint = " default:snowblock" ,
74
+ feat = " place_snowblock" ,
75
+ count = 50 ,
76
+ reward = " dye:red 20" ,
77
+ placenode = {" default:snowblock" },
78
+ },
79
+ {
80
+ name = " Dig 10 cacti" ,
81
+ hint = " default:cactus" ,
82
+ feat = " dig_cactus" ,
83
+ count = 10 ,
84
+ reward = " dye:white 20" ,
85
+ dignode = {" default:cactus" },
86
+ },
87
+ {
88
+ name = " Pick 5 Geranium flowers" ,
89
+ hint = " flowers:geranium" ,
90
+ feat = " dig_geranium" ,
91
+ count = 5 ,
92
+ reward = " flowers:mushroom_brown 2" ,
93
+ dignode = {" flowers:geranium" },
94
+ },
95
+ {
96
+ name = " Pick 5 orange tulips" ,
97
+ hint = " flowers:tulip" ,
98
+ feat = " dig_tulip" ,
99
+ count = 5 ,
100
+ reward = " flowers:mushroom_red 2" ,
101
+ dignode = {" flowers:tulip" },
102
+ },
103
+ {
104
+ name = " Dig 10 brown mushrooms" ,
105
+ hint = " flowers:mushroom_brown" ,
106
+ feat = " dig_brownmushroom" ,
107
+ count = 10 ,
108
+ reward = " farming:corn" ,
109
+ dignode = {" flowers:mushroom_brown" },
110
+ },
111
+ {
112
+ name = " Make ethanol!" ,
113
+ hint = " farming:corn" ,
114
+ feat = " craft_ethanol" ,
115
+ count = 1 ,
116
+ reward = " default:meselamp 5" ,
117
+ craft = {" farming:bottle_ethanol" },
118
+ }
119
+ }
21
120
22
121
-- init level
23
122
skyblock .levels [level ].init = function (player_name )
24
- local privs = core .get_player_privs (player_name )
25
- privs [' fly' ] = true
26
- privs [' fast' ] = true
27
- core .set_player_privs (player_name , privs )
28
- minetest .chat_send_player (player_name , ' You can now use FLY and FAST !' )
29
123
end
30
124
31
125
-- get level information
32
126
skyblock .levels [level ].get_info = function (player_name )
33
127
local info = {
34
128
level = level ,
35
- total = 1 ,
129
+ total = 10 ,
36
130
count = 0 ,
37
131
player_name = player_name ,
38
132
infotext = ' ' ,
39
133
formspec = ' ' ,
40
134
formspec_quest = ' ' ,
41
135
}
42
136
43
- local text = ' label[0,0.5; THE END]'
44
- .. ' label[0,1.0; I hope you enjoyed your journey, and you]'
45
- .. ' label[0,1.5; are welcome to stay and keep building]'
46
- .. ' label[0,2.0; your new sky world.]'
137
+ local text = ' label[0,2.7; --== Quests ==--]'
138
+ .. ' label[0,0.5; Time Goes On, ' .. player_name .. ' ...]'
139
+ .. ' label[0,1.0; You may wonder, traveller, where some of your]'
140
+ .. ' label[0,1.5; precious items are. Be patient...]'
141
+ .. ' label[0,2.0; They will come to you in time...]'
47
142
48
143
info .formspec = skyblock .levels .get_inventory_formspec (level ,info .player_name ,true ).. text
49
144
info .formspec_quest = skyblock .levels .get_inventory_formspec (level ,info .player_name ).. text
50
- info .infotext = ' THE END! for ' .. player_name .. ' ... or is it ...'
145
+
146
+ for k ,v in ipairs (skyblock .levels [level ].feats ) do
147
+ info .formspec = info .formspec .. skyblock .levels .get_feat_formspec (info ,k ,v .feat ,v .count ,v .name ,v .hint ,true )
148
+ info .formspec_quest = info .formspec_quest .. skyblock .levels .get_feat_formspec (info ,k ,v .feat ,v .count ,v .name ,v .hint )
149
+ end
150
+ if info .count > 0 then
151
+ info .count = info .count / 2 -- only count once
152
+ end
153
+
154
+ info .infotext = ' LEVEL ' .. info .level .. ' for ' .. info .player_name .. ' : ' .. info .count .. ' of ' .. info .total
155
+
51
156
return info
52
157
end
53
158
54
- -- no feat tracking
55
- skyblock .levels [level ].reward_feat = function (player_name , feat ) end
56
- skyblock .levels [level ].on_placenode = function (pos , newnode , placer , oldnode ) end
57
- skyblock .levels [level ].on_dignode = function (pos , oldnode , digger ) end
58
- skyblock .levels [level ].on_item_eat = function (player_name , itemstack ) end
59
- skyblock .levels [level ].on_craft = function (player_name , itemstack ) end
159
+ -- Reward feats
160
+ skyblock .levels [level ].reward_feat = function (player_name , feat )
161
+ return skyblock .levels .reward_feat (level , player_name , feat )
162
+ end
163
+
164
+ -- Track node placement
165
+ skyblock .levels [level ].on_placenode = function (pos , newnode , placer , oldnode )
166
+ skyblock .levels .on_placenode (level , pos , newnode , placer , oldnode )
167
+ end
168
+
169
+ -- Track node digging
170
+ skyblock .levels [level ].on_dignode = function (pos , oldnode , digger )
171
+ skyblock .levels .on_dignode (level , pos , oldnode , digger )
172
+ end
173
+
174
+ -- track eating feats
175
+ skyblock .levels [level ].on_item_eat = function (player_name , itemstack )
176
+ skyblock .levels .on_item_eat (level , player_name , itemstack )
177
+ end
178
+
179
+ -- track crafting feats
180
+ skyblock .levels [level ].on_craft = function (player_name , itemstack )
181
+ skyblock .levels .on_craft (level , player_name , itemstack )
182
+ end
183
+
184
+ -- track hoe use
185
+ skyblock .levels [level ].hoe_on_use = function (player_name , pointed_thing , wieldeditem )
186
+ skyblock .levels .hoe_on_use (level , player_name , pointed_thing , wieldeditem )
187
+ end
188
+
60
189
skyblock .levels [level ].bucket_on_use = function (player_name , pointed_thing ) end
61
190
skyblock .levels [level ].bucket_water_on_use = function (player_name , pointed_thing ) end
62
- skyblock .levels [level ].bucket_lava_on_use = function (player_name , pointed_thing ) end
191
+ skyblock .levels [level ].bucket_lava_on_use = function (player_name , pointed_thing ) end
0 commit comments