Comments (5)
@Choumiko FYI, I recently started on this. I went with a jquery selector ... inspired solution. Here's the commit: bca9d78
Example:
Data.select("recipe:copper.*) -- selects all recipes matching copper.*
Recipe.select("copper.*) -- selects all recipes matching copper.*
Recipe.select("copper.*:ingredients:copper.*") -- selects all ingredients whose name matches 'copper.*' in recipes matching copper.*
from factorio-stdlib.
Yes, definitely. I've written a few things like this before for Marathon. Data manipulation is often a pain, and it would be nice to have easy functions for.
from factorio-stdlib.
I also wrote a metatable that is dynamically assigned to the recipe fields 'ingredients' and 'results', which detects the layout of the item, and emulates the 'amount' and 'name' fields when the item object is an array, or emulates the '1' and '2' fields if the item is a table. This should allow modders to stop trying to write code for either way and detecting, and just use the named fields when accessing, but write the shorthand array when updating recipes.
from factorio-stdlib.
The very basics of this was added to 0.6.0, but more work needs to be done to support specific data structures.
https://github.com/Afforess/Factorio-Stdlib/releases/tag/0.6.0
from factorio-stdlib.
What's our progress so far? What remains to be done on this issue?
from factorio-stdlib.
Related Issues (20)
- Upgrade Readme and Wiki HOT 2
- To Do List
- Data.Util.Duplicate on normal/expensive recipes HOT 6
- Wiki with list of functions and their functionalities HOT 2
- Recipe:clear_ingredients error HOT 5
- Small errors found with trains/events HOT 6
- add_ingredient issue HOT 8
- 0.18 support? HOT 1
- remove_prereq nullifies prerequisites value of technology table.
- errors found with trains/events
- add_ingredient cant find items that are modules
- Event handler filter is ignored if more than one event ID is specified in `register`
- spidertron-remotes aren't checked as "items" so a recipe result (and more) may fail to find one HOT 1
- documentation broken HOT 2
- Event.register not passing pattern to function HOT 1
- Inconsistency of technology pack methods
- Gui events not working HOT 1
- String.contains doesn't work with strings that contain a hyphen.
- Question: Which tool can be used to interpret the code documentation in VSCode
- This does not look right: return (Area.size(Area)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from factorio-stdlib.