[0.17.4] player.auto_trash_filters breaks after being set in mod

Bugs that are actually features.
User avatar
Optera
Smart Inserter
Smart Inserter
Posts: 2920
Joined: Sat Jun 11, 2016 6:41 am
Contact:

[0.17.4] player.auto_trash_filters breaks after being set in mod

Post by Optera »

The attached mod manages to break auto trash filters.

Reproduction:
1) set some request filters and trash filters
2) press ctrl-t -> request filters are synced with auto trash as intended
3) press ctrl-t again -> reverting auto trash filters to original state breaks auto trash filters
- auto_trash_filters contains the original filter dictionary, but the GUI doesn't update and still auto trashes items according to displayed filters
- even /c game.player.auto_trash_filters = {} will no longer clear the filters either

Same effect can be achieved by running this in console:

Code: Select all

/c
local player = game.player
local character = player.character
local previous_trash_slots = {}
if character.auto_trash_filters then
  for k, v in pairs(character.auto_trash_filters) do
    previous_trash_slots[k]=v
  end
end
local filters = character.auto_trash_filters
for i = 1, character.request_slot_count do
  local request = character.get_request_slot(i)
  if request then
    filters[request.name] = request.count          
    player.auto_trash_filters = filters
  end
end
local filters = {}
for k, v in pairs(previous_trash_slots) do
  filters[k] = v
end      
player.auto_trash_filters = filters
game.print(serpent.block(character.auto_trash_filters) )
Attachments
TrashSync_0.0.1.zip
(1.51 KiB) Downloaded 44 times
User avatar
Optera
Smart Inserter
Smart Inserter
Posts: 2920
Joined: Sat Jun 11, 2016 6:41 am
Contact:

Re: [0.17.4] player.auto_trash_filters breaks after being set in mod

Post by Optera »

Sorry for the report.
Turned out Picker Inventory was messing with auto trash as well.
Post Reply

Return to “Not a bug”