Page 1 of 5

[Mod] [discontinued] xFurniture (various items)

Posted: Tue May 02, 2017 08:28
by Linuxdirk
IMPORTANT: The Mod is discontinued. All information in this thread is to be seen as outdated! Latest available version attached to this post. GitLab repo will be deleted soon.

tl;dr: Status updates for a strictly WIP mod that adds a shit-ton of decorative items and some useful ones.

[tl;dr] Get the mod and modpack here.
  1. Walls in general - This post
  2. Playing around with end walls
  3. Fun with torch holders
  4. Chars, tables, and benches
  5. Window stuff
  6. Modular couches
  7. Updated window stuff
  8. How to build swimming pools
  9. A classic bathtub with freestanding covers
  10. Window frames (compatible with xpanes and alike)
As already "semi-announced" in the screenshots thread currently I'm mainly working on a mod that adds several interior and exterior items (mostly decorative only) to Minetest. The items can be crafted from pretty much all available solid nodes (plus the solid nodes of some 3rd-party mods). People seemed to like the walls I added, so let's talk about walls first.

The walls are properly joining walls from all solid nodes. Modular torch holders can be placed (place wall, place torch against wall, place torch holder against torch). The parts of the walls are crafted individually and placed and/or rotated with the screwdriver as needed. Currently I have no plans to dig into the deep abyss of automatically connecting nodeboxes ...

Image

The walls and wall elements like pillars all come in three versions. One version for base part of the wall, one version for the extension of the wall (you can stack as many of them as you want) and one part for the top of the wall.

The walls come in plain versions and in pillared versions. Plus: standalone poles (base, extension, and top, too). The pillar versions and the poles do not come with torch holders (yet). You can mix and match them like however you want.

Image

Next plans will be end walls and end pillars and I want to add pillared versions with torch holders. But for now, T-junctions are available (rotate them to fit your needs).

Image

Anyways, for the xFurniture objects you need two Crafting Additions to craft any of the xFurniture objects. You'll get them back when crafting the objects. Put 1 default:cobble and 2 default:dirt in a shapeless recipe to get two crafting additions. Left-click while selected to get a formspec showing you all possible objects using default:wood as example material.

Re: [Mod][Part of a modpack] xFurniture (various items, WIP)

Posted: Tue May 02, 2017 10:59
by azekill_DIABLO
+1 needs to be default

Re: [Mod][Part of a modpack] xFurniture (various items, WIP)

Posted: Wed May 03, 2017 03:04
by JiCeyCraft
Compatible with Xdecor?

Re: [Mod][Part of a modpack] xFurniture (various items, WIP)

Posted: Wed May 03, 2017 04:00
by Linuxdirk
JiCeyCraft wrote:Compatible with Xdecor?
If Xdecor does not use the shapeless recipe for the crafting addition then yes.

Re: [Mod][Part of a modpack] xFurniture (various items, WIP)

Posted: Wed May 03, 2017 16:51
by Linuxdirk
The mod now has proper end walls. They're shorter than regular wall parts and the wall base goes around the end. Additionally the end parts come in a pillared version. As all other parts all solid nodes can be used as material.

Image

You can build "windows" with the end parts, too. But they're pretty open and do not protect. They're just for the looks.

Image

Next things may be pillared versions with torch holders.

Re: [Mod][Part of a modpack] xFurniture (various items, WIP)

Posted: Wed May 03, 2017 18:45
by azekill_DIABLO
it's looking awesome. i wonder why no one did nice nodeboxes like this before.

Re: [Mod] xFurniture (various items, WIP)

Posted: Sun May 07, 2017 20:48
by Linuxdirk
I cleaned up (or fixed, or changed, or messed up, you decide) a lot of stuff recently. The xTend mods are now much more separated from the modpack. Which is good because one now only needs to load xtend_default and the mod one wants. But enough of that.

xFurniture walls have been heavily improved. End walls, pillared walls, pillared corners etc. now all have torch holder variants, too. End walls can have all possible combinations of torch holder locations.

Image

Same as the standalone pole parts which actually was a lot of work for combining the torch holders and pole parts.

Image

And because of how the combining works now and because of the new ID concept I introduced with one of the commits and finished reworking here all previously placed walls are now unknown nodes. Sorry, but that's what "WIP" is about :)

Re: [Mod] xFurniture (various items, WIP)

Posted: Fri May 12, 2017 21:13
by Linuxdirk
Let's talk about furniture now. Walls are great and all, but they're more like exterior design or architecture. Walls are only one aspect of xFurniture. Let me introduce you to the things that were the initial reason to create this mod: chairs and tables.

Image

I took this night overview (of by far not all possible variants) to show you that all nodes that glow in regular gameplay also glow when used for furniture. And yes, this is of course configurable in the advanced options for xFurniture.

Same as with the walls you can craft all of the furniture with all available solid nodes of default (and some other mods when installed).

Image

The seat covers are optional and can be placed on the chairs (they actually placed above the chairs but because how the nodebox is defined they appear on the chairs). In addition to the small table (one node wide) there is a simple table being a bit larger.

Image

The larger table top matches very well with the chairs because they overlap a bit and do not look out of place.

In addition to the one nodebox tables there are tables that are created from up to 3 different parts. (Please ignore the error message. In the end it's just a testing world.)

Image

The three parts (corners, edges and center parts) can be combined in any variation to create large tables, conference tables, enormous large festive tables, or whatever you want.

Image

The corners can be rotated to match their actual location. Due to how rotating works the texture will be rotated, too. This may cause weird patterns depending on the material. This is not fixable without adding unnecessary complexity.

Office tables can have a side extension either on left or on right side.

Image

In the same way you can create tables it is possible to create benches.

Image

Benches are made of 4 different parts. The left and right end part, a pole part and a pole-less part. They can be combined as needed creating a wide variety of benches.

Image

... okay, that's it for today. Next time I'll tell you about what to do with windows.

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat May 13, 2017 01:00
by TumeniNodes
Looking good!

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat May 13, 2017 09:42
by azekill_DIABLO
nice and polished!

Re: [Mod] xFurniture (various items, WIP)

Posted: Thu May 25, 2017 17:05
by Linuxdirk
Here's a little technical update I implemented during the last few days.

Loading the mod is much faster now because now the list of all nodes isn't read multiple times and I removed removing the original recipe of uncraftable objects because of this.

And then I completely redesigned the crafting addition's built-in craft guide (left-click while holding it).

Image

You first click the category you want to view on the left. In the middle part all objects of that category appear. When clicking one of the objects the crafting recipe will be shown on the right. (default:wood is used as example.)

Re: [Mod] xFurniture (various items, WIP)

Posted: Fri May 26, 2017 12:43
by azekill_DIABLO
wow. it's a lot of nodes.

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat May 27, 2017 22:29
by Linuxdirk
azekill_DIABLO wrote:wow. it's a lot of nodes.
Yes, it is. The walls are the most complex part of the mod. The other categories have way less objects available. The latest version now has a counter for the objects in the crafting addition's craft guide and loading messages for the single parts of the mod and a concluding init message in the shell after loading the mod.

Image

Code: Select all

[...]
[xfurniture] Loading "chairs" objects
[xfurniture] Loading "tables" objects
[xfurniture] Loading "window_stuff" objects
[xfurniture] Loading "benches" objects
[xfurniture] Loading "stairs_slabs" objects
[xfurniture] Loading "walls" objects
[xfurniture] Fetching uncraftable objects
[xfurniture] Replacing recipes of 312 uncraftable objects
[xfurniture] Created 78 objects each from 102 base nodes
[xfurniture] 7956 furniture nodes in 5 categories
[xfurniture] Mod fully loaded
[...]
Individual parts of the mod can be disabled if not wanted.

Image

... i"m really going to push Minetest to it's limits with this mod (each new object causes 102 new registered nodes *g*)

Re: [Mod] xFurniture (various items, WIP)

Posted: Sun May 28, 2017 11:44
by azekill_DIABLO
oh, 102 nodes is not many ':)

Re: [Mod] xFurniture (various items, WIP)

Posted: Sun May 28, 2017 12:34
by Linuxdirk
azekill_DIABLO wrote:oh, 102 nodes is not many ':)
The mod supports all solid nodes from default, wool, nyancat, moreores, and bakedclay what happens to be 102 nodes in total. Every single of the currently 78 objects can be crafted from each of the 102 nodes.

Re: [Mod] xFurniture (various items, WIP)

Posted: Sun May 28, 2017 12:37
by azekill_DIABLO
+1 this mod seems complete, should be released soon IMO.

Re: [Mod] xFurniture (various items, WIP)

Posted: Mon May 29, 2017 09:07
by Linuxdirk
Thanks :) But the mod by far isn't complete. The code has to be cleaned up and properly documented and the user documentation is missing.

Re: [Mod] xFurniture (various items, WIP)

Posted: Fri Jun 02, 2017 22:20
by Linuxdirk
As promised here's something about the window stuff available with xFurniture.

In front of this: You may notice that the wall in the example is a little smaller than the (full node) tree trunks used as separators. This walls come from the More Blocks mod. xFurniture's window stuff supports all types of walls (but only one type of wall at a time) with a configuration option.

Image

Simply access the configuration option through Settings -> Advanced Settings -> Mods -> xfurniture and set to whatever value you need. This isn't very multiplayer friendly but allowing maximum flexibility by adding 16 different variants for each of the available window stuff objects (currently this were 6 parts * 16 variants * 102 supported different materials = 9792 new nodes) likely lets Minetest explode :)

Here's an overview of the available objects:

Image

In detail there are window screen being two frame parts (corner and frame) and the bars ...

Image

... a window sill (sill part and left and right end parts) ...

Image

... and a frame (which is actually the frame of the window screen).

Image

Here are the parts in overview:

Image Image Image

... and that's it. That's (and all the other postings with screenshots in them) the current state of xFurniture, a part of the xTend modpack.

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat Jun 03, 2017 16:47
by azekill_DIABLO
awesomely detailed work.

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat Jun 03, 2017 20:10
by Chibi ghost
the window details are amazing :D

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat Jun 03, 2017 20:13
by Linuxdirk
Thanks you guys :)

Re: [Mod] xFurniture (various items, WIP)

Posted: Fri Jun 09, 2017 19:25
by GamingAssociation39
Linuxdirk do you know how to make things like sofas and chairs auto-connect when placed beside each other?

Re: [Mod] xFurniture (various items, WIP)

Posted: Fri Jun 09, 2017 21:20
by Linuxdirk
GamingAssociation39 wrote:Linuxdirk do you know how to make things like sofas and chairs auto-connect when placed beside each other?
Honestly I have no idea and currently I refuse to find out :)

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat Jun 10, 2017 17:08
by GamingAssociation39
Linuxdirk wrote:
GamingAssociation39 wrote:Linuxdirk do you know how to make things like sofas and chairs auto-connect when placed beside each other?
Honestly I have no idea and currently I refuse to find out :)
I saw it in someone else's furniture mod.

Code: Select all

	minetest.register_node(":furniture:bench_"..subname, {
		description = def.description_bench,
		tiles = def.tiles,
		paramtype = "light",
		paramtype2 = "facedir",
		drawtype = "nodebox",
		node_box = {
			type = "fixed",
			fixed = {
				{-0.375, -0.125, -0.3125, 0.375, 0, 0.25},
				{-0.375, 0, 0.1875, 0.375, 0.4375, 0.25},
				{-0.5, -0.5, -0.3125, -0.375, 0.1875, 0.375},
				{0.375, -0.5, -0.3125, 0.5, 0.1875, 0.375},
				{-0.5, 0.1875, 0.1875, -0.375, 0.3125, 0.3125},
				{0.375, 0.1875, 0.1875, 0.5, 0.3125, 0.3125},
				{-0.5, 0.3125, 0.1875, -0.375, 0.5, 0.375},
				{0.375, 0.3125, 0.1875, 0.5, 0.5, 0.375}
			}
		},
		sounds = def.sounds,
		groups = def.groups,
		after_place_node = function(pos, placer, itemstack, pointed_thing)
			local node = minetest.get_node(pos)
			update(pos, node, false, false, false, false)
			if node.param2 == 0 or node.param2 == 2 then
				local west = {x = pos.x - 1, y = pos.y, z = pos.z}
				local east = {x = pos.x + 1, y = pos.y, z = pos.z}
				local node_west = minetest.get_node(west)
				local node_east = minetest.get_node(east)
				if node_west.param2 == node.param2 and
						(node_west.name == "furniture:bench_"..subname or node_west.name == "furniture:bench_middle_"..subname or
						node_west.name == "furniture:bench_right_"..subname or node_west.name == "furniture:bench_left_"..subname) then
					update(west, node_west, false, false, false, false)
				end
				if node_east.param2 == node.param2 and
						(node_east.name == "furniture:bench_"..subname or node_east.name == "furniture:bench_middle_"..subname or
						node_east.name == "furniture:bench_right_"..subname or node_east.name == "furniture:bench_left_"..subname) then
					update(east, node_east, false, false, false, false)
				end
			else
				local north = {x = pos.x, y = pos.y, z = pos.z + 1}
				local south = {x = pos.x, y = pos.y, z = pos.z - 1}
				local node_north = minetest.get_node(north)
				local node_south = minetest.get_node(south)
				if node_north.param2 == node.param2 and
						(node_north.name == "furniture:bench_"..subname or node_north.name == "furniture:bench_middle_"..subname or
						node_north.name == "furniture:bench_right_"..subname or node_north.name == "furniture:bench_left_"..subname) then
					update(north, node_north, false, false, false, false)
				end
				if node_south.param2 == node.param2 and
						(node_south.name == "furniture:bench_"..subname or node_south.name == "furniture:bench_middle_"..subname or
						node_south.name == "furniture:bench_right_"..subname or node_south.name == "furniture:bench_left_"..subname) then
					update(south, node_south, false, false, false, false)
				end
			end
		end,
		after_dig_node = function(pos, oldnode, oldmetadata, digger)
			dig_node(pos, oldnode)
		end,
		on_rotate = function(pos, node, user, mode, new_param2)
			if mode == 1 then
				rotate(pos, node, new_param2)
			else
				minetest.swap_node(pos, {name = "furniture:bench_middle_"..subname, param2 = node.param2})
			end
			return true
		end
	})

Re: [Mod] xFurniture (various items, WIP)

Posted: Sat Jun 10, 2017 17:24
by Andrey01
I see here are decorations, no furniture.