Inactive Crafting

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Hey Adeon, have you seen my post with the questions? I am planning to translate your crafting tutorial video to German, followed up by some modding tutorials. My goal is to integrate the crafting system closer into the game, giving more recipes (maybe multiple ones, e.g. planks).
I created a wiki page for the crafting system, I'll add more content during the translation/preparation process ;) Please help me out with some technical details, though :D
 

Adeon

terasology.ru
Contributor
Architecture
GUI
Logistics
Hey @Adeon, have you seen my post with the questions?
Skaldarnar. Sorry =(.


How do you determine/resolve the block-/itemnames in the recepies? I tried to use "oakTrunk" in one, but it does not seem to work properly (I also tried "oak Trunk", "engine:eek:akTrunk"). Maybe you can use the get BlockURI from the Commands class, as it is done for console commands!?

First of all, the crafting system searches items by name of prefab. If the items are not found, the craft system will search blocks by prefab name. A-a-a-a-and yes, you're right - it would be better if the crafting system searched by BlockURI. Thanks for the idea =)


By the way, can you please give me a more detailed information on how to use the refinement part correctly?
So, for the refinement you should to create the option "refinement". And then you should create "refinements recepies". For example:


Code:
        "refinement":{
            "coalore:coalore:4" : {
                "instigator": "coalore",
                "target":    "coalore",
                "resultCount" : "4"
            },
            "stone:coalore:2" : {
                "instigator": "stone",
                "target":    "coalore",
                "resultCount" : "2"
            }
        }
Don't pay attention at the keys of the elements. In the new version you will see the next:

Code:
        "refinement":[
            {
                "instigator": "coalore",
                "target":    "coalore",
                "resultCount" : "4"
            },
            {
                "instigator": "stone",
                "target":    "coalore",
                "resultCount" : "2"
            }
        ]
So, the instigator is the selected player's item/block in the hand. And the target is the selected item/block in the craft block. I think everything is clear with the option "resultCount" =) In the next pull request I will add the new option for the refinement like "can be reversed". This option is needed if the instigator can be target and target can be instigator. =)

Is it possible to assign more than one recipe to a block?
Yep, but you should create a new prefab for it. In the new version I have solved this problem =)
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Thank you for the reply! :)

By the way, I think a found a bug in the refinement process:
When you place a block to refine in the grid (e.g. coalore) and you hold a block of coalore in hand, the refinement cloud appears. When pressing »E« I get 4 blocks of coal, and two coalore blocks are removed (one from the grid an one out of my hand). Now to the bug: When you point at the coal ore with a coalore block in hand, and switch to another item from your toolbar, the craft cload is still apparent. So you can refine to coal with just cost of 1 coalore per step. I don't think its supposed to be that way, is it?
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
It's done! :)
I've set up two wiki pages for the crafting system, one for the general usage in-game and the other one for developer insctructions on how to use the recipe and refinement definitions. I think it still needs some polish, but its a good start providing all the necessary information.
In general, we should foster the wiki a lot better, building up a good infrastructure for information ;) I'll try to be a good model and update some articles in the next days :D

Adeon, if you might have a look at what I've done, please. I don't want to be the one that tells lies to anybody :p
I also updated this thread's header, with a "fast-forward" link to the video and explanation.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Links :D

https://github.com/MovingBlocks/Terasology/wiki/Crafting-System
https://github.com/MovingBlocks/Terasology/wiki/Crafting-system-(developer)

Looking good, many thanks Skaldarnar !

Suggestions (mainly for the end-user page, not dev page):
  • A picture is worth a thousand words! Adding one or two would be good (can push images to GitHub and link - haven't spent time finding the ideal approach though)
  • Might want to highlight that this is one early form of intuitive crafting that could be as simple as putting down a piece of wood to pick up planks (a la MC) but with vastly more potential from having three layers (and really, that could be expanded on if really wanted) as well as possibly crafting (or placing) blueprints in-situ so to say in the future :)
  • Quick little disclaimer that the details may change as the feature is heavily under development could be good (the split between develop/stable branch in wiki doc still isn't very good - people may play develop but read doc for master)
Also, just from something I might have missed, is "refinement" anything other than a recipe only containing a single ingredient ? I may just not have played with the system enough to notice any subtle differences - sounds a bit like what I was rambling about with whacking one rock with another to make a sharp rock, which would also be very cool :)

Very good detail level especially for the developer version which is exactly what we need!
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
Thanks at first, and uups, I forgot the links :oops:
  • I looked up how to add images to the github wiki, but I think I would need the rights to push directly to the wiki repo (Or I have to upload the images somewhere else, but that we be a bit messy as there is a way to include images in the repo itself).
  • I used the notation in the dev page (just found it it exists when looking for some other things :D ), so I'lll through them into the other page as welll.
  • What do you think about name conventions for the wiki pages, to seperate master/stable and development? I can see the ambiguity between Developer Articel with technical details and Develop Article for the develop branch.... And "Crafting-System (Developer) [Master]" does look strange as well.
To the last point: For me the main difference between crafting and refinement is that it uses also a block from you inventory. You will not just spent the blocks/items in the grid for crafting, but also the "instigator" block you've got selected.

PS: For all the German speaking ones out there, I published an introduction to the crafting system, similar to the wiki page. I'll update the wiki article with screenshots soon.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
If you can edit the wiki you can push to it - I think :)

Just look at the instructions and give it a shot sometime

My earlier thoughts on develop vs master was to keep the wiki matching the develop version and the README matching master in summary format. If there are major changes we might be able to just put a temporary disclaimer at the top of a wiki page (or section) rather than worry about duplicating pages? We're going to have enough trouble keeping it up to date even with a minimal setup :)

I saw the German article, very nice, and just reshared it on FB (at least I think I did, I see it in my feed but not on the Terasology page ..)
 

Skaldarnar

Development Lead
Contributor
Art
World
SpecOps
hmm, I cloned it once via
Code:
git clone https://github.com/Movingblocks/Terasology.wiki.git
and a second time via
Code:
git clone git@github.com:Movingblocks/Terasology.wiki.git
but it complains that I do not have the rights.

Maybe we should try to keep the wiki up to date with the master, the two week cycle might be fast enough :D

And thanks for sharing the article ;)
 

overdhose

Active Member
Contributor
Design
World
GUI
Heya, to enable crafting from the radial menu I added an extra event to the craft mod in my dev and a listener in craftsystem. Hope you won't mind but I really couldn't figure out how else to do it. Just wanted to give you a heads up about it, in case it ever gets accepted /adapted.
 

Adebar

New Member
Hey guys,

I wanted to create some more recipes, but for some reason I couldnt create a recipe for a stonepillar, i tried this prefabs

Code:
{
    "CraftRecipe" : {
        "type" : "EXTERNAL",
        "result" : "engine:stone:engine:pillar",
        "recipe" :  {
            bottom:
                [
                    "",  "stone", "",
                    "stone",  "stone", "stone",
                    "",  "stone", ""
                ],
            "middle":
                [
                    "",  "stone", "",
                    "stone",  "stone", "stone",
                    "",  "stone", ""
                ],
            "top":
                [
                    "",  "stone", "",
                    "stone",  "stone", "stone",
                    "",  "stone", ""
                ]
        }

    }

}

nothing happens ...

Code:
{
    "CraftRecipe" : {
        "type" : "EXTERNAL",
        "result" : "engine:brick:engine:stair",
        "recipe" :  {
            bottom:
                [
                    "brick",  "brick", "brick",
                    "brick",  "brick", "brick",
                    "brick",  "brick", "brick"
                ],
            "middle":
                [
                    " ",  " ",     " ",
                    "brick",  "brick", "brick",
                    "brick",  "brick", "brick"
                ],
            "top":
                [
                    " ",  " ",     " ",
                    " ",  " ", " ",
                    "brick",  "brick", "brick"
                ]
        }

    }

}

this one worked ...

So my question is: is crafting for other shapes than blocks and stairs already possible or did i do sth wrong?

greetings Adebar
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
I don't know the details, but I notice the recipe that works has a space in it's "empty" slots, where the one that doesn't, doesn't.
 
Top