[Mod] X-Decor [git] [xdecor]

Post Reply
User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

[Mod] X-Decor [git] [xdecor]

by jp » Post

X-Decor

A decoration mod meant to be simple and well-featured.

It adds a bunch of cute cubes, various mechanisms and stuff for cutting, enchanting, cooking, etc.
This mod is a lightweight alternative to HomeDecor and MoreBlocks all together.

Licenses : GPLv3 (code), WTFPL (textures).
Depends : default, doors, xpanes, bucket, stairs (all included in Minetest Game).

Special thanks to Gambit for the textures from PixelBOX.

Love this mod? Donations are appreciated: https://www.paypal.me/jpg84240

Image Download | GitHub | Bug Report | 32x textures (1) | 32x textures (2)

Image
Last edited by jp on Tue Jul 30, 2019 12:52, edited 69 times in total.

User avatar
Kenney
Member
Posts: 131
Joined: Fri Jan 02, 2015 12:12
In-game: Kenney

Re: [Mod] X-Decor [xdecor]

by Kenney » Post

Ah yes, I like this style way more than homedecor. It doesn't clash with the voxels and other existing nodes.

Can I also spot some Voxus inspiration in the cardboard box? ;)
Games:
Voxus | UFO Race

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [xdecor]

by jp » Post

Kenney wrote:Can I also spot some Voxus inspiration in the cardboard box? ;)
Exactly, yes ;)

User avatar
Krock
Developer
Posts: 4648
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: [Mod] X-Decor [xdecor]

by Krock » Post

I always used a cut-down version of homedecor to just have the basic things in the game, and you now released this mod - that's great!

Thank you!
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
Minetestforfun
Member
Posts: 940
Joined: Tue Aug 05, 2014 14:09
GitHub: MinetestForFun
IRC: MinetestForFun
In-game: MinetestForFun
Location: On earth
Contact:

Re: [Mod] X-Decor [xdecor]

by Minetestforfun » Post

I prefered cute pixels and cubes, i think meshe nodes are too realistics for decoration like "voxel" games...

i hope we will see someday a homedecor without meshenodes and one with meshenodes...

But for the moment, your mod is really great ! :p

ronnietucker
New member
Posts: 7
Joined: Mon May 18, 2015 20:37

Re: [Mod] X-Decor [xdecor]

by ronnietucker » Post

Is there a handy list of recipes somewhere?

Good job on this though. Definitely fits in better than the homedecor mod.

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [xdecor]

by jp » Post

ronnietucker wrote:Is there a handy list of recipes somewhere?
Use unified_inventory for this.

Thanks for the praises, guys ;)

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: [Mod] X-Decor [xdecor]

by Inocudom » Post

Well, you could add more of homedecor's old models (as meshes, of course.)

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [xdecor]

by jp » Post

[Update]

1. I sorted, tuned, removed and added nodes/items.

2. More importantly, I combined a simplified moreblocks and a tool auto-repairer into the Work Table formspec.
Last edited by jp on Sat Jun 13, 2015 17:10, edited 2 times in total.

User avatar
Esteban
Member
Posts: 873
Joined: Sun Sep 08, 2013 13:26
In-game: Esteban
Contact:

Re: [Mod] X-Decor [xdecor]

by Esteban » Post

This mod is awesome!
I love the how the textures look! :D
Scan avatar or click here to read a Message of Hope (PDF)

Gon_17
Member
Posts: 26
Joined: Mon May 25, 2015 22:26
In-game: Goon

Re: [Mod] X-Decor [xdecor]

by Gon_17 » Post

Perfect @jp

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [xdecor]

by jp » Post

[Update]

Besides some minor tweaks, I've improved the Work Table so that it can cut almost every default nodes, and added more shapes.
This is a lightweight alternative to the moreblocks mod.
Last edited by jp on Thu Sep 24, 2015 19:02, edited 1 time in total.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] X-Decor [xdecor]

by Sokomine » Post

Are you sure this is the "lightweight" alternative and not another big one? :-) There are still quite a lot of nodes included. My selection of core homedecor would be diffrent I think. For a start, the good old 3dforniture did have its merits, even on its own. From homedecor, the doors and the kitchen furniture are both very useful. The fences, lights, radio and tv are also very important nodes.

Normal microblocks plus those nice stairs that where added some time ago to moreblocks might be more helpful than the first nodes shown now.
A list of my mods can be found here.

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [xdecor]

by jp » Post

Sokomine wrote:Are you sure this is the "lightweight" alternative and not another big one? :-) There are still quite a lot of nodes included.
X-Decor : 37 nodes. 42 KB. (-> is that so big ?)
Home Decor : 481 nodes. 4.8 MB.

Huge difference...
Sokomine wrote:For a start, the good old 3dforniture did have its merits, even on its own.
Whether some nodes have too much nodeboxes, or the nodes are too specialized.

The more the shape is simple, the more the versatility is increased. This is even true IRL ;)
the doors and the kitchen furniture are both very useful. [...]
There are already 4 types of door in [minetest_game]. Kitchen furniture is also specialized and belongs to a particular modern period (and Minetest is atemporal).

If you start adding specialized items, it calls for more specialized items and the bloating begins...
Sokomine wrote:Normal microblocks plus those nice stairs that where added some time ago to moreblocks might be more helpful than the first nodes shown now.
My Work Table has a simpler API than moreblocks and there's just a basic range of shapes that allows to make everything, without redundance.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] X-Decor [xdecor]

by Sokomine » Post

jp wrote: X-Decor : 37 nodes. 42 KB. (-> is that so big ?)
Home Decor : 481 nodes. 4.8 MB.
Feels more than that on the screenshot. Admittedly, it's a huge reduction in size.
jp wrote:
Sokomine wrote: For a start, the good old 3dforniture did have its merits, even on its own.
Whether some nodes have too much nodeboxes, or the nodes are too specialized.
The more the shape is simple, the more the versatility is increased. This is even true IRL ;)
Yes, that's true. However, those stairs and tables are pretty useful. They can seldom be used for anything else, but at least there are some basic furniture nodes without getting too detailed.
jp wrote: There are already 4 types of door in [minetest_game]. Kitchen furniture is also specialized and belongs to a particular modern period (and Minetest is atemporal).
Can't have enough doors! Those found in the base game are not particulary nice. The ones in homedecor can be used to improve the style of a house greatly. And, other than a lot of other furniture items, doors belong to a building more directly than mere furniture.
jp wrote: If you start adding specialized items, it calls for more specialized items and the bloating begins...
Hm, yes. there is a certain charme to just stick to the basic blocks. Many impressive buildings where constructed just with MC classic blocks - and those didn't even have doors! Yet it's also good to have diffrent block types available and thus to be able to build in asmaller scale. Many blocks - even from homedecor - can be used in diffrent ways. The sink, oven and refrigerator are quite specific, but the general kitchen cabinet can serve as "this is some furniture for storage" in a lot of diffrent situations. Some of the fences from homedecor are used in creative ways for other purposes as well. And don't forget the transparent table top! It's very useful in situations where you havn't got any suitable glass slabs at hand.
jp wrote: My Work Table has a simpler API than moreblocks and there's just a basic range of shapes that allows to make everything, without redundance.
Does it have those nice stair blocks? I think those are a gain to the game - even though they can mostly be used as stairs only.

And don't worry. It's unlikely that two people will ever agree entirely on a set of nodes from homedecor that are the most useful ones. Each node has its place - and also a reduced set, as the high amount of nodes became a bit unhandy and too detailed. Still, sometimes that's exactly what's wanted.
A list of my mods can be found here.

User avatar
TenPlus1
Member
Posts: 3700
Joined: Mon Jul 29, 2013 13:38
In-game: TenPlus1
Contact:

Re: [Mod] X-Decor [xdecor]

by TenPlus1 » Post

Personally I prefer X-decor for the fact it is simple and has simple blocks added. Homedecor feels more like minetest has become a barbie house more than an actual game...

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [xdecor]

by jp » Post

Sokomine wrote:The doors in homedecor can be used to improve the style of a house greatly.
Yes... but their textures are 32px or 64px whereas the standard is at 16px.

It's like mixing up Monet and Picasso on the same painting... it's weird and inappropriate.
Sokomine wrote:the general kitchen cabinet can serve as "this is some furniture for storage" in a lot of diffrent situations.
This is what I already added it (plain cube and half-cabinet) since it can be used for making a wardrobe, a desk, etc.
Sokomine wrote:And don't forget the transparent table top!
You can cut the glass in microslab in the Work Table.
Sokomine wrote:Does it have those nice stair blocks?
Look closer to the screenshots above ;)

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [xdecor]

by jp » Post

[Update]

New nodes :
  • Mailbox (based on the homedecor's inbox, with nicer formspecs).
  • Woodglass and japanese-style doors.
  • Baricade (inflicts damage), Bamboo Frame, Tatami and Stone Path
+ various minor tweaks on the Work Table.
Last edited by jp on Thu Sep 24, 2015 19:02, edited 1 time in total.

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Mod] X-Decor [git] [xdecor]

by Sokomine » Post

That papyrus frame in the background looks very nice, and the mailbox has more similarity with the type found around here in RL. Alltogether a nice selection with certainly allows to build well; although I'd personally choose diffrent nodes. But that's the great point about MT: You can choose what you like most :-)
A list of my mods can be found here.

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [git] [xdecor]

by jp » Post

[Update]

New nodes :
  • Artificial Hive, which produces eatable honey if there are enough flowers around.
  • Ender Chest, that works like its Minecraft counterpart.
  • Climbable Ivy and Rusted Iron Bars.
Misc. :
  • The rope can now be hanged and unrolled as long as there is air below (and depends on your stack amount).
  • The cushion amortizes the falls (you lose less damage).
  • Water can be picked from the cauldron with an empty bucket.
  • Minors tweaks here and there.
Last edited by jp on Thu Sep 24, 2015 19:03, edited 1 time in total.

User avatar
Minetestforfun
Member
Posts: 940
Joined: Tue Aug 05, 2014 14:09
GitHub: MinetestForFun
IRC: MinetestForFun
In-game: MinetestForFun
Location: On earth
Contact:

Re: [Mod] X-Decor [git] [xdecor]

by Minetestforfun » Post

Beautiful jp ! Keep up the very good work !

User avatar
Sane
Member
Posts: 103
Joined: Tue Jun 17, 2014 09:31
GitHub: mt-sane
In-game: Sane

Re: [Mod] X-Decor [git] [xdecor]

by Sane » Post

Cheers jp !

This is really what i was looking for. Allways wanted to spice up my minetest home without ruining the minimalistic design. Thanks to you this is now possible.

I've just tried it with [mod] 'More Blocks' (viewtopic.php?id=509), since I need that one for [mod] 'Technic' (viewtopic.php?f=11&t=2538).
It seems x-decor and more blocks don't work together very well. The x-decor's workbench can't cut more blocks things and vice versa the more blocks's table saw can't cut the x-decor stuff.
But at least they start up without complaining.
Trying to stay me.

User avatar
jp
Banned
Posts: 947
Joined: Wed Dec 18, 2013 09:03
GitHub: kilbith
Location: France

Re: [Mod] X-Decor [git] [xdecor]

by jp » Post

Hello Sane, and thanks for your nice words ;)

I could allow more blocks and more shapes to cut to the work table, but I wanted to keep it simple and not too specialized.

If you want more nodes in that table, you can easily add that into the code (worktable.lua).

User avatar
everamzah
Member
Posts: 490
Joined: Thu Jan 29, 2015 00:47
GitHub: everamzah
IRC: everamzah
In-game: everamzah

Re: [Mod] X-Decor [git] [xdecor]

by everamzah » Post

Here is mine:
Spoiler

Code: Select all

local material = {
	"default_cloud", -- Only used for the formspec display.
	"default_wood", "default_junglewood", "default_pinewood", "default_acacia_wood",
	"default_tree", "default_jungletree", "default_pinetree", "default_acacia_tree",
	"default_cobble", "default_mossycobble", "default_desert_cobble",
	"default_stone", "default_sandstone", "default_desert_stone", "default_obsidian",
	"default_stonebrick", "default_sandstonebrick", "default_desert_stonebrick", "default_obsidianbrick",
	"default_coalblock", "default_copperblock", "default_bronzeblock",
	"default_goldblock", "default_steelblock", "default_diamondblock",
	"default_clay", "default_ice", "default_meselamp",
	"default_glass", "default_obsidian_glass",
	"default_cactus", "default_sand", "default_desert_sand",
	"default_snowblock", "default_dirt",
	"default_gravel", "default_mese", "default_brick",

	"farming_straw",

	"xdecor_coalstone_tile", "xdecor_moonbrick", "xdecor_stone_rune",
	"xdecor_stone_tile", "xdecor_wood_tile", "xdecor_woodframed_glass",

	"wool_black", "wool_brown", "wool_dark_green", "wool_green",
	"wool_magenta", "wool_pink", "wool_violet", "wool_yellow",
	"wool_blue", "wool_cyan", "wool_dark_grey", "wool_grey",
	"wool_orange", "wool_red", "wool_white",

	"caverealms_glow_crystal", "caverealms_glow_emerald", "caverealms_glow_mese",
	"caverealms_glow_ruby", "caverealms_glow_amethyst", "caverealms_glow_ore",
	"caverealms_glow_emerald_ore", "caverealms_glow_ruby_ore", "caverealms_glow_amethyst_ore",
	"caverealms_thin_ice", "caverealms_salt_crystal", "caverealms_mushroom_cap",
	"caverealms_mushroom_stem", "caverealms_stone_with_salt", "caverealms_hot_cobble",
	"caverealms_glow_obsidian", "caverealms_glow_obsidian_2", "caverealms_coal_dust"
	

}

local def = { -- Node name, yield, nodebox shape.
	{ "nanoslab", "16",
		{-0.5, -0.5, -0.5, 0, -0.4375, 0} },
	{ "micropanel", "16",
		{-0.5, -0.5, -0.5, 0.5, -0.4375, 0} },
	{ "microslab", "8",
		{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5} },
	{ "panel", "4",
		{-0.5, -0.5, -0.5, 0.5, 0, 0} },
	{ "slab", "2",
		{-0.5, -0.5, -0.5, 0.5, 0, 0.5} },
	{ "outerstair", "1", {
		{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
		{-0.5, 0, 0, 0, 0.5, 0.5} } },
	{ "stair", "1", {
		{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
		{-0.5, 0, 0, 0.5, 0.5, 0.5} } },
	{ "innerstair", "1", {
		{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
		{-0.5, 0, 0, 0.5, 0.5, 0.5},
		{-0.5, 0, -0.5, 0, 0.5, 0} } }
}

local function xconstruct(pos)
	local meta = minetest.get_meta(pos)
	local nodebtn = {}

	for i=1, #def do
		nodebtn[#nodebtn+1] = "item_image_button["..(i-1)..
			",0.5;1,1;xdecor:"..def[i][1].."_cloud;"..def[i][1]..";]"
	end
	nodebtn = table.concat(nodebtn)

	meta:set_string("formspec", "size[8,7;]"..xdecor.fancy_gui..
		"label[0,0;Cut your material into...]"..
		nodebtn..
		"label[0,1.5;Input]"..
		"list[current_name;input;0,2;1,1;]"..
		"image[1,2;1,1;xdecor_saw.png]"..
		"label[2,1.5;Output]"..
		"list[current_name;output;2,2;1,1;]"..
		"label[4.5,1.5;Damaged tool]"..
		"list[current_name;src;5,2;1,1;]"..
		"image[6,2;1,1;xdecor_hammer.png]"..
		"label[6.8,1.5;Hammer]]"..
		"list[current_name;fuel;7,2;1,1;]"..
		"list[current_player;main;0,3.25;8,4;]")
	meta:set_string("infotext", "Work Table")

	local inv = meta:get_inventory()
	inv:set_size("output", 1)
	inv:set_size("input", 1)
	inv:set_size("src", 1)
	inv:set_size("fuel", 1)
end

local function xfields(pos, formname, fields, sender)
	local meta = minetest.get_meta(pos)
	local inv = meta:get_inventory()
	local inputstack = inv:get_stack("input", 1)
	local outputstack = inv:get_stack("output", 1)
	local shape, get = {}, {}
	local anz = 0

	for m=1, #material do
	for n=1, #def do
		local v = material[m]
		local w = def[n]

		if (inputstack:get_name() == string.gsub(material[m], "(_)", ":", 1)) and
			(outputstack:get_count() < 99) and fields[w[1]] then
			shape = "xdecor:"..w[1].."_"..string.gsub(v, "default_", "")
			anz = w[2]
			get = shape.." "..anz

			inv:add_item("output", get)
			inputstack:take_item()
			inv:set_stack("input", 1, inputstack)
		end
	end
	end
end

local function xdig(pos, player)
	local meta = minetest.get_meta(pos)
	local inv = meta:get_inventory()

	if not inv:is_empty("input") or not inv:is_empty("output") or not
		inv:is_empty("fuel") or not inv:is_empty("src") then
		return false
	end
	return true
end

local function xput(pos, listname, index, stack, player)
	local meta = minetest.get_meta(pos)
	local inv = meta:get_inventory()

	if listname == "output" then
		return 0
	end
	if listname == "fuel" then
		if stack:get_name() == "xdecor:hammer" then
			return stack:get_count()
		else
			return 0
		end
	end
	return stack:get_count()
end

xdecor.register("worktable", {
	description = "Work Table",
	groups = {snappy=3},
	sounds = xdecor.wood,
	tiles = {
		"xdecor_worktable_top.png", "xdecor_worktable_top.png",
		"xdecor_worktable_sides.png", "xdecor_worktable_sides.png",
		"xdecor_worktable_front.png", "xdecor_worktable_front.png"
	},
	on_construct = xconstruct,
	on_receive_fields = xfields,
	can_dig = xdig,
	allow_metadata_inventory_put = xput
})

local function light(mat)
	if (mat == "default_meselamp") then
		return 12
	else
		return 0
	end
end

local function sound(mat)
	if string.find(mat, "glass") or string.find(mat, "lamp") or
		string.find(mat, "ice") then
		return default.node_sound_glass_defaults()
	elseif string.find(mat, "wood") or string.find(mat, "tree") then
		return default.node_sound_wood_defaults()
	else
		return default.node_sound_stone_defaults()
	end
end

local function name(mat)
	if string.find(mat, "default") then
		if string.find(mat, "default") and string.find(mat, "tree") then
			local newname = string.gsub(mat, "(tree)", "%1_top")
			return newname..".png"
		elseif string.find(mat, "default") and string.find(mat, "cactus") then
			local newname = string.gsub(mat, "(cactus)", "%1_top")
			return newname..".png"
		elseif string.find(mat, "default") and string.find(mat, "snow") then
			local newname = string.gsub(mat, "default_snowblock", "default_snow")
			return newname..".png"
		elseif string.find(mat, "default") and string.find(mat, "default_mese") and not string.match(mat, "default_meselamp") then
			local newname = string.gsub(mat, "default_mese", "%1_block")
			return newname..".png"
		elseif string.find(mat, "default") and string.find(mat, "block") and not string.find(mat, "mese") then
			local newname = string.gsub(mat, "(block)", "_%1")
			return newname..".png"
		elseif string.find(mat, "default") and string.find(mat, "brick") and not string.find(mat, "default_brick") then
			local newname = string.gsub(mat, "(brick)", "_%1")
			return newname..".png"
		else
			local newname = string.gsub(mat, "(default)", "%1")
			return newname..".png"
		end
	elseif string.find(mat, "farming") then
		local newname = string.gsub(mat, "(farming)", "%1")
		return newname..".png"
	elseif string.find(mat, "xdecor") then --if woodframed glass, rename.
		if string.find(mat, "xdecor") and string.find(mat, "glass") then
			local newname = string.gsub(mat, "xdecor_woodframed_glass", "xdecor_framed_glass")
			return newname..".png"
		else
			local newname = string.gsub(mat, "(xdecor)", "%1")
			return newname..".png"
		end
	elseif string.find(mat, "wool") then
		local newname = string.gsub(mat, "(wool)", "%1")
		return newname..".png"
	elseif string.find(mat, "caverealms") then
		if string.find(mat, "caverealms") and string.find(mat, "obsidian_2") then
			local newname = string.gsub(mat, "obsidian_2", "obsidian2")
			return newname..".png"
		elseif string.find(mat, "caverealms") and string.find(mat, "stone_with_salt") then
			local newname = string.gsub(mat, "stone_with_salt", "salty2")
			return newname..".png"
		else
			local newname = string.gsub(mat, "(caverealms)", "%1")
			return newname..".png"
		end
	else
		return "default_"..mat..".png"
	end
end

for m=1, #material do
	local v = material[m]
	local light = light(v)
	local sound = sound(v)
	local tile = name(v)

	for n=1, #def do
		local w = def[n]
		xdecor.register(w[1].."_"..string.gsub(v, "default_", ""), {
			description = string.sub(string.upper(w[1]), 0, 1)..
				string.sub(w[1], 2),
			light_source = light,
			sounds = sound,
			tiles = {tile},
			groups = {cracky=2, not_in_creative_inventory=1},
			node_box = {
				type = "fixed",
				fixed = w[3]
			},
			on_place = minetest.rotate_node
		})
	end
end

minetest.register_abm({ -- Repair Tool's code by Krock, modified by kilbith.
	nodenames = {"xdecor:worktable"},
	interval = 5, chance = 1,
	action = function(pos, node, active_object_count, active_object_count_wider)
		local meta = minetest.get_meta(pos)
		local inv = meta:get_inventory()
		local src = inv:get_stack("src", 1)
		local wear = src:get_wear()
		local repair = -1400

		if (src:is_empty() or wear == 0 or wear == 65535) then
			return
		end

		local fuel = inv:get_stack("fuel", 1)
		if (fuel:is_empty() or fuel:get_name() ~= "xdecor:hammer") then
			return
		end

		if (wear + repair < 0) then
			src:add_wear(repair + wear)
		else
			src:add_wear(repair)
		end

		inv:set_stack("src", 1, src)
		inv:remove_item("fuel", "xdecor:hammer 1")
	end
})
I hope to have the appropriate groupcaps(?) and sounds at some point.

User avatar
Sane
Member
Posts: 103
Joined: Tue Jun 17, 2014 09:31
GitHub: mt-sane
In-game: Sane

Workbench

by Sane » Post

Hi there,

I don't understand the repair functionality of the workbench. Why would anyone craft dozens of hammers to repair a single tool where it would be a lot cheaper to just craft it anew?
Trying to stay me.

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests