diff --git a/control-util.lua b/control-util.lua index be34afc..a00f573 100644 --- a/control-util.lua +++ b/control-util.lua @@ -3,6 +3,7 @@ local me = require("me") local util = {} util.me = me local regenerate_command = "bz-regenerate" +local list_command = "bz-list" function decode(data) if type(data) == "string" then return data end @@ -27,8 +28,8 @@ function util.check_fluid_mining() end end -function util.get_list() - local p = game.item_prototypes[me.name.."-list"] +function get_list() + local p = prototypes.item[me.name.."-list"] if p then data = p.localised_description return decode(data) @@ -41,20 +42,30 @@ function util.force_enable_recipe(event, recipe_name) end end -function util.list(event) - if event.command and string.lower(event.command) == "bzlist" then +function list(event) + if event.command and string.lower(event.command) == "bz-list" then local player = game.players[event.player_index] if player and player.connected then - local list = util.get_list() + local list = get_list() if list and #list>0 then local filename = util.me.name..".txt" - game.write_file(filename, list, false, event.player_index) + helpers.write_file(filename, list, false, event.player_index) player.print("Wrote recipes to script-output/"..filename) + else + player.print("Please change your mod startup setting for this mod's modified recipes list.") end end end end +function util.add_list_command_handler() + script.on_event(defines.events.on_console_command, list) + + if not commands.commands[list_command] then + commands.add_command(list_command, "", function() end) + end +end + function util.warptorio2_expansion_helper() if script.active_mods["warptorio2_expansion"] then @@ -110,7 +121,7 @@ function util.warptorio2_expansion_helper() end end -local usage = [[ +local usage_regenerate = [[ Usage: /bz-regenerate all or /bz-regenerate [ ] planet must be an internal name like nauvis @@ -125,7 +136,7 @@ function util.add_regenerate_command_handler() script.on_event(defines.events.on_console_command, regenerate_ore) if not commands.commands[regenerate_command] then - commands.add_command( regenerate_command, usage, function() end) + commands.add_command( regenerate_command, usage_regenerate, function() end) end end @@ -141,7 +152,7 @@ function regenerate_ore(event) return end if not (#params == 2 or #params == 5) then - game.print(usage) + game.print(usage_regenerate) return end local planet = params[1] diff --git a/data-util.lua b/data-util.lua index 19806ae..f625890 100644 --- a/data-util.lua +++ b/data-util.lua @@ -770,8 +770,8 @@ end -- set the probability of a product. function util.set_product_probability(recipe_name, product, probability, options) if not should_force(options) and bypass(recipe_name) then return end - me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) set_product_probability(data.raw.recipe[recipe_name], product, probability) end end @@ -791,8 +791,8 @@ end -- set the amount of a product. function util.set_product_amount(recipe_name, product, amount, options) if not should_force(options) and bypass(recipe_name) then return end - me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) set_product_amount(data.raw.recipe[recipe_name], product, amount) end end @@ -823,8 +823,8 @@ end -- multiply the cost, energy, and results of a recipe by a multiple function util.multiply_recipe(recipe_name, multiple, options) if not should_force(options) and bypass(recipe_name) then return end - me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) multiply_recipe(data.raw.recipe[recipe_name], multiple) end end @@ -889,8 +889,8 @@ end -- Remove a product from a recipe, WILL NOT remove the only product function util.remove_product(recipe_name, old, options) if not should_force(options) and bypass(recipe_name) then return end - me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) remove_product(data.raw.recipe[recipe_name], old) end end @@ -967,8 +967,8 @@ end -- Set energy required function util.set_recipe_time(recipe_name, time, options) if not should_force(options) and bypass(recipe_name) then return end - me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) set_recipe_time(data.raw.recipe[recipe_name], time) end end @@ -984,8 +984,8 @@ end -- Multiply energy required function util.multiply_time(recipe_name, factor, options) if not should_force(options) and bypass(recipe_name) then return end - me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) multiply_time(data.raw.recipe[recipe_name], factor) end end @@ -1001,8 +1001,8 @@ end -- Add to energy required function util.add_time(recipe_name, amount, options) if not should_force(options) and bypass(recipe_name) then return end - me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then + me.add_modified(recipe_name) add_time(data.raw.recipe[recipe_name], amount) end end @@ -1243,7 +1243,9 @@ function util.create_list() icon = "__core__/graphics/empty.png", icon_size = 1, stack_size = 1, - flags = {"hidden", "hide-from-bonus-gui"} + hidden = true, + hidden_in_factoriopedia = true, + flags = {"hide-from-bonus-gui"} }}) end