1
0
mirror of https://github.com/Wyrrrd/Autofilter.git synced 2026-06-30 10:02:27 +02:00

15 Commits

Author SHA1 Message Date
Wyrrrd aed3caddda Fixed empty filter check
Now checks all slots instead of just one
2020-02-27 06:34:36 +01:00
Wyrrrd d3ca77eede Update changelog.txt
Fixed formatting (again)
2020-02-24 19:18:50 +01:00
Wyrrrd 94e7309dd0 Update README.md
Matched with mod portal description
2020-02-24 19:09:55 +01:00
Wyrrrd a7a7816f89 Update changelog.txt
Updated retroactive downgrade
2020-02-24 18:58:40 +01:00
Wyrrrd 3a859a941d Added check for empty filter and whitelist mode
Avoids overwriting filter on replacing preexisting inserters/ghosts
2020-02-24 18:56:01 +01:00
Wyrrrd 50d63e8e3c Added hidden dependency
Fixes setting filter from wrong inventory when pickup location is rotated by Bob's Adjustable Inserters
2020-02-24 18:43:00 +01:00
Wyrrrd d87491c622 Added translated mod description 2020-02-24 18:27:24 +01:00
Wyrrrd 5ed50dcfb3 Added entity type check
Apparently event filters are not applied to mod-raised events
2020-02-23 15:17:15 +01:00
Wyrrrd 312cb20225 Added incompatibility (for now) 2020-02-23 10:38:53 +01:00
Wyrrrd 7ec64d2f62 Added incompatibility (for now) 2020-02-23 10:36:12 +01:00
Wyrrrd fc2afea961 Minor improvements
- Typos
- Code style
- Better thumbnail
2020-02-23 00:45:02 +01:00
Wyrrrd acb9688477 Update README.md
Matched with mod portal desciption
2020-02-22 17:11:04 +01:00
Wyrrrd 3b9424d6ca Added downgrade info 2020-02-22 16:42:04 +01:00
Wyrrrd 776ebf9eff Complementary file(s) format improvements 2020-02-22 12:08:14 +01:00
Wyrrrd ab4339a87d Added missing entity check 2020-02-22 04:11:21 +01:00
7 changed files with 103 additions and 22 deletions
+7 -5
View File
@@ -1,7 +1,9 @@
# Autofilter
![mod thumbnail](https://raw.githubusercontent.com/Wyrrrd/Autofilter/master/thumbnail.png)
<img src="https://raw.githubusercontent.com/Wyrrrd/Autofilter/master/thumbnail.png" width="128" height="128">
Description
- When you place a filter inserter, it reads either the inventory contents or inventory filters on the input side and sets it's filter to those items.
- Works only until the inserter filter is full (of course).
- The mode can be changed or disabled in player mod settings on the fly as needed.
### Description
- When you place a filter inserter, it reads either the inventory contents or inventory filters on the pickup side and sets its filter to those items.
- Fills the inserter's filter only until it is full (of course).
- Sets the inserter's filter only if there is no filter already set (for example from a replaced preconfigured ghost).
- The mode can be changed or disabled in player mod settings on the fly as needed.
- Should work with most modded filter inserters.
+56 -2
View File
@@ -1,6 +1,60 @@
---------------------------------------------------------------------------------------------------
Version: 0.18.6
Date: 27. 2. 2020
Changes:
- Updated retroactive downgrade to be on par with this version
Bugfixes:
- Fixed empty filter check, so it checks all slots instead of just the first one
---------------------------------------------------------------------------------------------------
Version: 0.18.5
Date: 24. 2. 2020
Changes:
- Added hidden dependency to Bob's Adjustable Inserters (fixes setting filter from wrong inventory when pickup location is rotated)
- Added check for empty filter and whitelist mode to avoid overwriting filter on replacing preexisting inserters/ghosts
- Updated retroactive downgrade to be on par with this version
Locale:
- Added translated mod description
---------------------------------------------------------------------------------------------------
Version: 0.18.4
Date: 23. 2. 2020
Changes:
- Removed incompatibility with Upgrade Builder and Planner (see Bugfixes)
Bugfixes:
- Added additional check for entity type, since event filters are not applied to mod-raised events
---------------------------------------------------------------------------------------------------
Version: 0.18.3
Date: 23. 2. 2020
Changes:
- Minor improvements (typos, code style)
- Added incompatibility with Upgrade Builder and Planner (until crash is fixed, see https://mods.factorio.com/mod/Autofilter/discussion/5e5177cbf26569000bdd51eb)
Graphics:
- Changed thumbnail to the better
---------------------------------------------------------------------------------------------------
Version: 0.18.2
Date: 22. 2. 2020
Changes:
- Matched changelog file format to what Factorio expects
Info:
- Also downgraded to Factorio 0.17, see below
---------------------------------------------------------------------------------------------------
Version: 0.18.1
Date: 22. 2. 2020
Bugfixes:
- Added missing entity check (caused game crash on inserter placement without adjacent entity)
---------------------------------------------------------------------------------------------------
Version: 0.18.0
Date: 22. 2. 2020
Changes:
- Initial release
Features:
- Added automatic setting of filter on inserter placement
- Added player mod setting to control mod behaviour
---------------------------------------------------------------------------------------------------
Version: 0.17.0
Date: 27. 2. 2020
Info:
- Retroactive downgrade
---------------------------------------------------------------------------------------------------
+29 -13
View File
@@ -1,9 +1,18 @@
--control.lua
--functions definitions
local function is_filter_empty(inserter)
for slot = 1,inserter.filter_slot_count do
if inserter.get_filter(slot) then
return false
end
end
return true
end
local function get_items_by_content(inserter,inventory)
local items = {}
for item,count in pairs(inventory.get_contents()) do
for item,_ in pairs(inventory.get_contents()) do
if #items < inserter.filter_slot_count then
items[#items+1] = item
end
@@ -13,7 +22,7 @@ end
local function get_items_by_filter(inserter,inventory)
local items = {}
for slot = 1,#inventory,1 do
for slot = 1,#inventory do
if #items < inserter.filter_slot_count and inventory.get_filter(slot) then
items[#items+1] = inventory.get_filter(slot)
end
@@ -23,17 +32,24 @@ end
local function on_built_entity(event)
local inserter = event.created_entity
if inserter.filter_slot_count then
local inventory = inserter.surface.find_entities_filtered({position = inserter.pickup_position, limit = 1})[1].get_output_inventory()
if inventory then
local mode = game.players[event.player_index].mod_settings["Autofilter_Mode"].value
if mode == "content" and not inventory.is_empty() then
for slot,item in pairs(get_items_by_content(inserter,inventory)) do
inserter.set_filter(slot,item)
end
elseif mode == "filter" and inventory.is_filtered() then
for slot,item in pairs(get_items_by_filter(inserter,inventory)) do
inserter.set_filter(slot,item)
if inserter.type == "inserter" then
if inserter.filter_slot_count then
if is_filter_empty(inserter) and inserter.inserter_filter_mode == "whitelist" then
local pickup = inserter.surface.find_entities_filtered({position = inserter.pickup_position, limit = 1})
if #pickup > 0 then
local inventory = pickup[1].get_output_inventory()
if inventory then
local mode = game.players[event.player_index].mod_settings["Autofilter_Mode"].value
if mode == "content" and not inventory.is_empty() then
for slot,item in pairs(get_items_by_content(inserter,inventory)) do
inserter.set_filter(slot,item)
end
elseif mode == "filter" and inventory.is_filtered() then
for slot,item in pairs(get_items_by_filter(inserter,inventory)) do
inserter.set_filter(slot,item)
end
end
end
end
end
end
+5 -2
View File
@@ -1,9 +1,12 @@
{
"name": "Autofilter",
"version": "0.18.0",
"version": "0.18.6",
"title": "Autofilter",
"author": "Wyrrrd",
"dependencies": ["base >= 0.18.0"],
"dependencies": [
"base >= 0.18.0",
"(?)bobinserters"
],
"description": "Automatically set inserter filters based on adjacent inventory.",
"factorio_version": "0.18"
}
+3
View File
@@ -1,3 +1,6 @@
[mod-description]
Autofilter=Setzt Greifarmfilter automatisch, basierend auf dem angrenzenden Inventar.
[mod-setting-name]
Autofilter_Mode=Autofilter-Modus
+3
View File
@@ -1,3 +1,6 @@
[mod-description]
Autofilter=Automatically set inserter filters based on adjacent inventory.
[mod-setting-name]
Autofilter_Mode=Autofilter Mode
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 174 KiB