@@ -1160,16 +1160,6 @@ craftguide.register_craft_type("digging_chance", {
1160
1160
icon = " default_tool_mesepick.png" ,
1161
1161
})
1162
1162
1163
- local function sfind (str , filter )
1164
- if filter == " " then
1165
- return 0
1166
- end
1167
-
1168
- if find (str , filter , 1 , true ) then
1169
- return # str - # filter
1170
- end
1171
- end
1172
-
1173
1163
local function search (data )
1174
1164
local filter = data .filter
1175
1165
@@ -1191,28 +1181,30 @@ local function search(data)
1191
1181
end
1192
1182
end
1193
1183
1194
- local filtered_list , order , c = {}, {}, 0
1184
+ local filtered_list , c = {}, 0
1195
1185
1196
1186
for i = 1 , # data .items_raw do
1197
1187
local item = data .items_raw [i ]
1198
1188
local def = reg_items [item ]
1199
1189
local desc = (def and def .description ) and lower (def .description ) or " "
1190
+ local search_in = fmt (" %s %s" , item , desc )
1200
1191
local to_add
1201
1192
1202
1193
if search_filter then
1203
1194
for filter_name , values in pairs (filters ) do
1204
- local func = search_filters [filter_name ]
1205
- to_add = func (item , values ) and (search_filter == " " or
1206
- (sfind (item , search_filter ) or sfind (desc , search_filter )))
1195
+ if values then
1196
+ local func = search_filters [filter_name ]
1197
+ to_add = func (item , values ) and (search_filter == " " or
1198
+ find (search_in , search_filter , 1 , true ))
1199
+ end
1207
1200
end
1208
1201
else
1209
- to_add = sfind ( item , filter ) or sfind ( desc , filter )
1202
+ to_add = find ( search_in , filter , 1 , true )
1210
1203
end
1211
1204
1212
1205
if to_add then
1213
1206
c = c + 1
1214
1207
filtered_list [c ] = item
1215
- order [item ] = to_add
1216
1208
end
1217
1209
end
1218
1210
@@ -1225,10 +1217,6 @@ local function search(data)
1225
1217
end
1226
1218
end
1227
1219
1228
- sort (filtered_list , function (a , b )
1229
- return order [a ] < order [b ]
1230
- end )
1231
-
1232
1220
data .items = filtered_list
1233
1221
end
1234
1222
0 commit comments