Page 1 of 2

[Mod] Inlay Node [1.2] [inlaid]

PostPosted: Thu Nov 21, 2013 23:24
by Enke
This mod adds the mineral textures of coal, iron, copper, mese, gold, and diamond onto nodes.. A new feature with 0.9 is the ability to add a diamond to your node. The new recipe is a secret.

You start by crafting an Inlay Tool.
Image

Then you place the Inlay Tool in the crafting grid, along with the node and the ore (currently supported minerals are: coal, iron, mese, gold, copper, diamond.). The recipes are shapeless.

Screenies!
Image Coal Cobble
Image What I'm proudest of. The mod will adapt to whatever texture pack you are using, e.g. what this image displays. <- With version 1.2 this is only mostly true. Pictures will get updated as soon as I have the time.
Image Some of the Inlaid nodes.

ToDo
Not much right now.

Now then, time for all the technical stuff:

License: Code is licensed under the WTFPL license, WTFPL for the Inlay Tool and Chisel. As the textures of the nodes will change with different texture packs, consult the license of the texture pack for the license of the nodes.

Depends on default. May add support for other mods in the future.

Notes: Versions 0.1-0.3 have the code written so that it should always work with the texture pack you are using. Versions 0.4-0.10 have textures in a texture folder. Versions 1.0 and later revert to the way that 0.1-0.3 handled textures. Also, if anyone desires to make better textures for the Inlay tool, please go ahead.

How to install: download the file by clicking on the links below, then rename the folder to "inlaid" (without quotes), and place it in the mods folder of you Freeminer directory. Enable it in the "Config" tab of the worlds menu. Enjoy!

Download:
1.2
Enjoy the code, or find all previous versions on Github

Special Thanks to SegFault22 and Kaeza!

PostPosted: Sat Nov 23, 2013 17:58
by Enke
Update: Version 0.2.

Adds support for Stone Bricks. Also a minor bugfix.

PostPosted: Sun Nov 24, 2013 11:42
by webdesigner97
Sorry for this, but:

Why?

PostPosted: Sun Nov 24, 2013 15:53
by Enke
webdesigner97 wrote:Sorry for this, but:

Why?


Well, I thought that it was something original, and the concept seemed good to me, so I made it. I also figured it would be a good way to get my name out there as a new modder.

PostPosted: Sun Nov 24, 2013 17:24
by Evergreen
Enke wrote:
webdesigner97 wrote:Sorry for this, but:

Why?


Well, I thought that it was something original, and the concept seemed good to me, so I made it. I also figured it would be a good way to get my name out there as a new modder.
Well, one thing it could be good for is decorating cave themed homes. You should make it so you can inlay the ores back into the stone.

PostPosted: Sun Nov 24, 2013 17:35
by Enke
Evergreen wrote:Well, one thing it could be good for is decorating cave themed homes. You should make it so you can inlay the ores back into the stone.

I suppose I can work on that in version 0.4. I want to take things one at a time, and what I'm planning on next is to add brick block support. By version 1.0 I want to have drops and sounds working.

PostPosted: Sun Nov 24, 2013 19:53
by Enke
Update: Version 0.3

This update adds support for brick blocks. It also adds a description, and screenshot for the mods tab in the main menu.

PostPosted: Mon Nov 25, 2013 03:23
by Enke
Update: Version 0.4

At the request of VanessaE, code has been rewritten to use provided textures, so that texture pack authors can make their own textures for the inlaid nodes. Other than that, no changes. Does anyone have any ideas for what nodes I should work on next?

PostPosted: Mon Nov 25, 2013 03:36
by hoodedice
What evergreen said sound's kinky. Back onto stone

PostPosted: Mon Nov 25, 2013 03:39
by Enke
Alright. I'll work on that soon.

PostPosted: Mon Nov 25, 2013 22:34
by Enke
Update: Version 0.4.1

Fixes license, adds a version history text file, and nerfs the crafting recipes for the inlay tool and chisel.

PostPosted: Tue Nov 26, 2013 20:25
by Enke
Update: Version 0.5

Adds the much-awaited support for stone blocks!

PostPosted: Thu Nov 28, 2013 00:53
by Enke
Update: Version 0.6

Adds support for desert stone and sandstone.

PostPosted: Fri Nov 29, 2013 23:52
by Enke
Update: Version 0.7

Adds support for MESE blocks.

PostPosted: Mon Dec 09, 2013 16:06
by Enke
Update: Version 0.8

Adds support for junglewood planks.

PostPosted: Fri Dec 13, 2013 03:14
by Enke
Update: Version 0.9

You can now inlay 1 diamond into a node by placing the node, the diamond, and the chisel into the crafting grid.

PostPosted: Wed Dec 18, 2013 22:34
by Enke
Update: Version 0.10

Files merged; craftitem recipes further nerfed.

PostPosted: Wed Jan 08, 2014 02:00
by Enke
Update: Version 1.0

Texture system redone, and the nodes now drop lumps/crystals when mined.

This is probably my last update, unless you guys want more. I doubt it, though, as this mod wasn't ever that popular.

PostPosted: Wed Jan 08, 2014 04:15
by SegFault22
If you ever add support for other mods, I suggest that for the ores that can drop >1 items, make the items required to craft its block(s) use one more items than the maximum number of items that can be dropped each time it is mined. Or double it for everything, as there are mods which might be capable of doubling ore output through technology.
Similar to this was a famous issue with Equivalent Exchange 2 (minecraft mod), where metal-ingots like Iron could be transmuted back into their ore at a 1:1 ratio, whereas an ore processor like the electric Macerator could produce metal dust at a 2:1 ratio (to ore blocks), and those dusts could each be smelted for a full ingot - thus creating an infinite duplication loop.

PostPosted: Fri Jan 10, 2014 01:03
by Enke
Well, I set up the mod to give you 1 ore when you mine the node, and require one ore to craft the node. As far as I can see, there shouldn't be a way to cheat the system.

PostPosted: Fri Jan 10, 2014 18:26
by Krock
Enke wrote:Well, I set up the mod to give you 1 ore when you mine the node, and require one ore to craft the node. As far as I can see, there shouldn't be a way to cheat the system.

Well, I think your mod loses some interested peoples because you're using default textures.
Would it be possible to make them "better"/nicer? I didn't download because it doesn't look enough nice and creative for me.
This are my thoughts, maybe wrong, no idea.

PostPosted: Sat Jan 11, 2014 00:48
by Enke
Krock wrote:Well, I think your mod loses some interested peoples because you're using default textures.
Would it be possible to make them "better"/nicer? I didn't download because it doesn't look enough nice and creative for me.
This are my thoughts, maybe wrong, no idea.

Here's the thing, and I'll probably edit my post to this. As of 1.0 and forward, the mod is set up to use the textures from your texture pack. Here's some screenshots for an example.
Image
Example with the Default textures, as you mentioned.

Image
An image taken with the Gridtoon Texture pack. The mod did this by itself, I didn't edit the textures. You can go to the 'hub and look in the textures folder. You won't find them.

However, thank's for you critique of the mod. You have alerted me to the fact that I should do some better explanation in my OP. Thanks! :)

Edit* You've also made me realise that I had a bug! Thanks again! *Enke hands Krock a +4 scale mail of respiration*

PostPosted: Sat Jan 11, 2014 01:02
by SegFault22
In my mod, MoreStuff2, the user can craft basic non-tool "tools" (Hammer, Saw, etc.) using Steel/Steel plates. Said tools have infinite uses, but do not work as a tool on any nodes or entities in the world - they are just items.
I suggest that you do something similar - make your tool recipes yield One of the tools, and edit your recipes to replace the tool with itself. Although they would have infinite uses, it's not like it is overpowered, because you don't use those tools on entities/nodes in the world - only for crafting "extra"/decorative stuff.

PostPosted: Sat Jan 11, 2014 01:05
by Enke
SegFault22 wrote:In my mod, MoreStuff2, the user can craft basic non-tool "tools" (Hammer, Saw, etc.) using Steel/Steel plates. Said tools have infinite uses, but do not work as a tool on any nodes or entities in the world - they are just items.
I suggest that you do something similar - make your tool recipes yield One of the tools, and edit your recipes to replace the tool with itself. Although they would have infinite uses, it's not like it is overpowered, because you don't use those tools on entities/nodes in the world - only for crafting "extra"/decorative stuff.

It sounds like a good idea, but I have no clue how to implement it... Sorry. I would love to if I could.

PostPosted: Sat Jan 11, 2014 01:29
by SegFault22
In my mod, I add several recipes for converting naturally-generated stone materials into Bricks. This requires a saw, which is replaced with itself. The code:
[spoiler=code]
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
local crafting = {
    { "morestuff2:block_granite", "morestuff2:bricks_granite 8" },
    { "morestuff2:block_marble", "morestuff2:bricks_marble 8", },
    { "morestuff2:block_basalt", "morestuff2:bricks_basalt 8", },
    { "morestuff2:block_gneiss", "morestuff2:bricks_gneiss 8", },
    { "morestuff2:block_limestone", "morestuff2:bricks_limestone 8", },
    { "morestuff2:block_schist", "morestuff2:bricks_schist 8", },
    { "morestuff2:block_quartzite", "morestuff2:bricks_quartzite 8", },
}

for _, row in ipairs(crafting) do
    local craftin = row[1]
    local craftout = row[2]

    minetest.register_craft( {
    output = craftout..'',
    recipe = {
        { craftin, craftin, craftin },
        { craftin, 'morestuff2:saw', craftin },
        { craftin, craftin, craftin },
      },
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },
    })

end

[/spoiler]
Notice this line - it is the one that does the replacing:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },

It is very similar in structure/location to the "recipe" line(s). This code will replace any Saw in the recipe with a Saw, so the saw is never consumed.
"Saw" is also just an Item, registered elsewhere. Using it on anything will not damage it, and it can not be used like other tools for any speed/damage increasing effects.
And don't forget the commas, they are important for some odd reason.

PostPosted: Sat Jan 11, 2014 02:59
by Enke
SegFault22 wrote:In my mod, I add several recipes for converting naturally-generated stone materials into Bricks. This requires a saw, which is replaced with itself. The code:
[spoiler=code]
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
local crafting = {
    { "morestuff2:block_granite", "morestuff2:bricks_granite 8" },
    { "morestuff2:block_marble", "morestuff2:bricks_marble 8", },
    { "morestuff2:block_basalt", "morestuff2:bricks_basalt 8", },
    { "morestuff2:block_gneiss", "morestuff2:bricks_gneiss 8", },
    { "morestuff2:block_limestone", "morestuff2:bricks_limestone 8", },
    { "morestuff2:block_schist", "morestuff2:bricks_schist 8", },
    { "morestuff2:block_quartzite", "morestuff2:bricks_quartzite 8", },
}

for _, row in ipairs(crafting) do
    local craftin = row[1]
    local craftout = row[2]

    minetest.register_craft( {
    output = craftout..'',
    recipe = {
        { craftin, craftin, craftin },
        { craftin, 'morestuff2:saw', craftin },
        { craftin, craftin, craftin },
      },
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },
    })

end

[/spoiler]
Notice this line - it is the one that does the replacing:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },

It is very similar in structure/location to the "recipe" line(s). This code will replace any Saw in the recipe with a Saw, so the saw is never consumed.
"Saw" is also just an Item, registered elsewhere. Using it on anything will not damage it, and it can not be used like other tools for any speed/damage increasing effects.
And don't forget the commas, they are important for some odd reason.

So I would have to add the
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
minetest.register_craft( {
    output = craftout..'',
    recipe = {
        { craftin, craftin, craftin },
        { craftin, 'morestuff2:saw', craftin },
        { craftin, craftin, craftin },
      },
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },
    })

to my init.lua for each of my craftitems (two of them)? Can this be made shapeless to fit with the rest of the mod?

PostPosted: Sat Jan 11, 2014 03:34
by Enke
Update: Version 1.0.2 fixes my redundancies with stone

PostPosted: Sat Jan 11, 2014 04:01
by SegFault22
Enke wrote:
SegFault22 wrote:In my mod, I add several recipes for converting naturally-generated stone materials into Bricks. This requires a saw, which is replaced with itself. The code:
[spoiler=code]
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
local crafting = {
    { "morestuff2:block_granite", "morestuff2:bricks_granite 8" },
    { "morestuff2:block_marble", "morestuff2:bricks_marble 8", },
    { "morestuff2:block_basalt", "morestuff2:bricks_basalt 8", },
    { "morestuff2:block_gneiss", "morestuff2:bricks_gneiss 8", },
    { "morestuff2:block_limestone", "morestuff2:bricks_limestone 8", },
    { "morestuff2:block_schist", "morestuff2:bricks_schist 8", },
    { "morestuff2:block_quartzite", "morestuff2:bricks_quartzite 8", },
}

for _, row in ipairs(crafting) do
    local craftin = row[1]
    local craftout = row[2]

    minetest.register_craft( {
    output = craftout..'',
    recipe = {
        { craftin, craftin, craftin },
        { craftin, 'morestuff2:saw', craftin },
        { craftin, craftin, craftin },
      },
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },
    })

end

[/spoiler]
Notice this line - it is the one that does the replacing:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },

It is very similar in structure/location to the "recipe" line(s). This code will replace any Saw in the recipe with a Saw, so the saw is never consumed.
"Saw" is also just an Item, registered elsewhere. Using it on anything will not damage it, and it can not be used like other tools for any speed/damage increasing effects.
And don't forget the commas, they are important for some odd reason.

So I would have to add the
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
minetest.register_craft( {
    output = craftout..'',
    recipe = {
        { craftin, craftin, craftin },
        { craftin, 'morestuff2:saw', craftin },
        { craftin, craftin, craftin },
      },
      replacements = { {'morestuff2:saw', 'morestuff2:saw'}, },
    })

to my init.lua for each of my craftitems (two of them)? Can this be made shapeless to fit with the rest of the mod?


You would add the replacements line, to all recipes using your tools. It can be shapeless too, and the replacements will still work.

PostPosted: Sat Jan 11, 2014 18:19
by Enke
Alright, I will give it a shot.

PostPosted: Sat Jan 11, 2014 19:48
by Enke
Well, it worked!

Version 1.1 adds a nice new inlay tool texture, removes the chisel, and prevents the inlay tool from being used up during crafting, thanks to SegFault22!