Merge branch 'master' of https://osmarks.tk/git/osmarks/wyvern
This commit is contained in:
commit
a01b80c45b
14
README.md
14
README.md
@ -69,5 +69,15 @@ For help using the client, run `help` or `h`.
|
||||
## Coming Soon(ish) (maybe)
|
||||
* Audit log on server - see when items were moved.
|
||||
* Overlay glasses/introspection module client.
|
||||
* Autocrafting (just a port from Dragon's).
|
||||
* Autosmelting (basically autocrafting).
|
||||
* Autocrafting (just a port from Dragon's). (actually, no: see below)
|
||||
* Autosmelting (basically autocrafting).
|
||||
|
||||
## I'm Not Adding Autocrafting
|
||||
When I was first thinking about autocrafting, it seemed simple enough - recursively go through a tree of patterns. This is because Dragon's crafting algorithm was incredibly naive. For Wyvern, I wanted to avoid manually transcribing recipes from JEI, so I got a recipe dump - a JSON file, containing every recipe available. This resulted in the naive picture no longer working. At all. Some examples which it would not work correctly on:
|
||||
* Recipes which are their own inputs.
|
||||
* Any sort of recipe loop, generally.
|
||||
* Multiple ways to craft a thing.
|
||||
* Those weird subjective situations, where a user wants to use one of 1000 oak logs and not one of 8 dark oak planks. Most autocrafters will pick the thing requiring the least crafting tasks - often this is not what is wanted.
|
||||
* Parallelizing crafting across multiple assemblers
|
||||
|
||||
In short, unless someone develops some fancy algorithm to figure out crafting paths (tree/graph pathfinding or something?), I can't really add it.
|
1
lib.lua
1
lib.lua
@ -27,6 +27,7 @@ local errors = {
|
||||
|
||||
-- Converts an error into human-readable format
|
||||
errors.format = function(e)
|
||||
if type(e) == "string" then return e end
|
||||
if not (e.type and e.type == "error" and e.data and e.error) then return "Provided error is not an error object." end
|
||||
if e.error == errors.INTERNAL then
|
||||
return "Internal error - provided info: " .. textutils.serialise(e.data) .. "."
|
||||
|
Loading…
Reference in New Issue
Block a user