[Mod] xFurniture (various items, WIP)

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Thu Dec 28, 2017 02:50

A lot of technical stuff was going on in the “xTend ecosystem”. xFurniture was partly affected from that.

As a player you don’t need to worry: Everything works as before. Game creators, server owners, companion mod makers, and/or API users should check this list of changes:

https://github.com/4w/xtend/issues/16
 

User avatar
azekill_DIABLO
Member
 
Posts: 7460
Joined: Wed Oct 29, 2014 20:05
Location: OMICRON
GitHub: azekillDIABLO
In-game: azekill_DIABLO
 

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Fri Dec 29, 2017 12:32

Tiny wall update (only visual): All walls and wall parts are shifted up by 3/16th of a node. See commit description why.

Image

Nothing has to be changed, it just looks a little different and you can now use wall extensions as base walls without baseboard (pictured right).
 

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Fri Dec 29, 2017 23:00

The mod now has window frames. But not particularly “window frames” … The frames match anything that are panes from the xpanes mod that is a part of a default Minetest installation (or any panes that have similar dimensions, especially thickness and position). The frames are provided in a cross shape, as regular vertical frame and as corner frame in L shape.

Image

Click the Thumbnails for a detailed view.

Image Image Image

Since the frames are centered it is possible to place two of them “into” one pane from both sides.

Image

By placing and rotating the panes (needs some coordination of placement and some patience with the screwdriver) pretty much all shapes are possible.

Image

The frame parts can be combined with other xpanes (and xpanes-like) panes, too.

Image

For the sake of simplicity (and for not registering too many objects) full nodes are not supported, only panes as described.
Last edited by Linuxdirk on Sat Dec 30, 2017 14:56, edited 1 time in total.
 

User avatar
azekill_DIABLO
Member
 
Posts: 7460
Joined: Wed Oct 29, 2014 20:05
Location: OMICRON
GitHub: azekillDIABLO
In-game: azekill_DIABLO
 

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Sat Dec 30, 2017 15:00

I updated the introduction post to have proper screenshots and documentation.

azekill_DIABLO wrote:you should also show a screenshot of how it works with unified glass!

If it is in the same shape/size of the panes introduced by the xpanes mod it will look pretty much the same.
 

User avatar
azekill_DIABLO
Member
 
Posts: 7460
Joined: Wed Oct 29, 2014 20:05
Location: OMICRON
GitHub: azekillDIABLO
In-game: azekill_DIABLO
 

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Sat May 19, 2018 12:02

Important technical change that might need taking action!

Before this commit node fetching was kind of a mess. Now nodes are fetched based on simple but powerful filter lists. A filter list is a space-separated string of filter strings. A filter string is a colon-separated string of a filter type and a filter value.

This commit introduces xfurniture_node_backlist and xfurniture_node_whitelist. Both are taking the following filters. (Filter are not applied in combination but individually.)

  • group – Matches the group a node is in
  • startswith – Matches the beginning of node name
  • endswith – Matches the end of a node name
  • contains – Matches if a node name contains the value
  • origin – Matches the node’s mod_origin value
  • drawtype – Matches the node’s drawtype value
  • a node ID – Matches the exact node ID
The name of the node is always the node’s ID without the mod prefix. For example: default:dirt becomes dirt. And the filter contains allows Lua patterns to be used.

If the whitelist is not configured by the user it will automatically be set to contains: which results in all supported nodes being used to create the objects and the blacklist entries will be complemented with a list of built-in entries.

+ Complete settingtypes.txt section

Sorry for any inconvenience … it’s WIP after all, eh :)
 

User avatar
azekill_DIABLO
Member
 
Posts: 7460
Joined: Wed Oct 29, 2014 20:05
Location: OMICRON
GitHub: azekillDIABLO
In-game: azekill_DIABLO
 

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Mon May 21, 2018 20:49

Thanks :) I guess the next step will be having easier object registration (IDs should stay the same but descriptions and the actual registration function will change).

https://gitlab.com/4w/xtend/issues/17
 

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Thu Jun 14, 2018 21:09

There were some major changes some time ago that might need taking action – again.

The node registration was completely reworked and now is adjusted to Minetest’s style of registration. You need to care if you created an own mod registering objects using xFurniture’s API.

Code: Select all
xfurniture.register('node_base_id', {
    name = 'Name of the Object',
    description = 'One-line description for later use', -- optional
    category = 'Simple category for later use', -- optional
    material = 'modname:nodename',  -- used for texture and recipe
    nodebox = fixed_nodebox_definition,
    recipe = minetest_recipe_definition -- optional
})

There now is an API function get_nodes() taking a table of filterstrings. It returns all nodes that match the provided filters. It can be used like the still available nodes API variable.

Code: Select all
for node in pairs(xfurniture.get_nodes({'contains:wood', 'startswith:stone'})) do
    -- Do something with all nodes supported by xFurniture
    -- that contain `wood` and all nodes whose name starts
    -- with `stone`.
end

See full examples for everything here.

In other news: The mod is now hosted on GitLab instead of GitHub so don’t forget to update your origin URL (it is literally just changing lab to hub in the host name).
 

User avatar
Linuxdirk
Member
 
Posts: 1658
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

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

by Linuxdirk » Mon Jul 16, 2018 12:49

I was thinking about it for some time now and I kinda like the idea to branch xFurniture out of the xTend modpack that was never intended for such large mods.

My idea is to first split the xfurniture folder from the xtend repository and create a new repository containing the xFurniture mod without any changes as only mod in a modpack. This needs unloading and deleting the currently installed mod and cloning and enabling the new modpack.

Next step will be making the mod independent from xtend (nothing on user side needs to be be changed fo this. The API and everything else will remain the same). A long-term solution will be making xFurniture a modpack containing the xFurniture API and all of the objects will be provided by mini mods using the API (like I did for my streetlights API and mods).

The last step will be the most breaking release ever because every ID will become invalid since it will be the mods registering the furniture and the IDs are prefixed by the mod's name.

Since most users of this mod are here and not on GitLab I ask/inform everyone here to discuss this or at least keeping in mind :)
 

Previous

Return to WIP Mods



Who is online

Users browsing this forum: No registered users and 4 guests