[Mod] xFurniture (various items, WIP)

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

Postby Linuxdirk » Thu Dec 28, 2017 2:50 am

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
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby azekill_DIABLO » Thu Dec 28, 2017 9:56 am

thanks! will update everything :)
azekill_DIABLO
Member
 
Posts: 7469
Joined: Wed Oct 29, 2014 8:05 pm
GitHub: azekillDIABLO
In-game: azekill_DIABLO

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

Postby Linuxdirk » Fri Dec 29, 2017 12:32 pm

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).
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby Linuxdirk » Fri Dec 29, 2017 11:00 pm

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.
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby azekill_DIABLO » Sat Dec 30, 2017 12:16 pm

+1 really nice! you should also show a screenshot of how it works with unified glass!
azekill_DIABLO
Member
 
Posts: 7469
Joined: Wed Oct 29, 2014 8:05 pm
GitHub: azekillDIABLO
In-game: azekill_DIABLO

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

Postby Linuxdirk » Sat Dec 30, 2017 3:00 pm

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.
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby azekill_DIABLO » Sat Dec 30, 2017 8:11 pm

wow, the last picks looks more than awesome!
azekill_DIABLO
Member
 
Posts: 7469
Joined: Wed Oct 29, 2014 8:05 pm
GitHub: azekillDIABLO
In-game: azekill_DIABLO

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

Postby Linuxdirk » Sat May 19, 2018 12:02 pm

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 :)
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby azekill_DIABLO » Mon May 21, 2018 9:39 am

This is quality work!
azekill_DIABLO
Member
 
Posts: 7469
Joined: Wed Oct 29, 2014 8:05 pm
GitHub: azekillDIABLO
In-game: azekill_DIABLO

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

Postby Linuxdirk » Mon May 21, 2018 8:49 pm

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
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby Linuxdirk » Thu Jun 14, 2018 9:09 pm

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).
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby Linuxdirk » Mon Jul 16, 2018 12:49 pm

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 :)
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk

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

Postby BirgitLachner » Sat Mar 09, 2019 2:31 pm

Sorry for others ... I use german, because it is a but easier

Hallo ...
ich habe mal ein paar Verständnis Fragen. So in Richtung der Erstellung eigener Mods und Nutzung deines Codes.
Was mit bisher noch nicht aufgefallen war ... die Platzierung der Fackelhalter. Man muss ja quasi einen Block vor Abstand vor der Wand klicken. Und um dann die Fackel zu platzieren, an die Wand selber.
Hat das einen Grund, z.B. dass man nicht zwei mal an die gleiche "Stelle" etwas bauen kann?

Eine ähnliche Frage bei dem Sofa ... soweit ich verstanden habe, muss man den Block über dem anklicken, vor dem man das Sofa-Teil stellen kann. Hat das einen speziellen Grund.

Grüße, Birgit
BirgitLachner
Member
 
Posts: 389
Joined: Thu May 05, 2016 10:18 am
In-game: Bibs

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

Postby Linuxdirk » Wed Mar 13, 2019 5:15 pm

BirgitLachner wrote:Was mit bisher noch nicht aufgefallen war ... die Platzierung der Fackelhalter. Man muss ja quasi einen Block vor Abstand vor der Wand klicken. Und um dann die Fackel zu platzieren, an die Wand selber.
Hat das einen Grund, z.B. dass man nicht zwei mal an die gleiche "Stelle" etwas bauen kann?

Ja, das ist ziemlich schmutzig eigentlich. Die Idee ist, dass du erst die Fackel platzierst, und auf die Fackel dann den Fackelhalter. Durch die Nodebox sieht das dann so aus, als wenn die Fackel im Fackelhalter steckt. Es kann in jedem Node immer nur eine Definition stehen.

Hier habe ich das mal in einer Commit-Note aufgedröselt.

https://gitlab.com/4w/xtend/commit/3f7f ... 82111340b1

Bitte sag mir nicht, dass du die Fackelhalter Produktiv nutzen möchtest, ich mag die echt nicht gern, und würde sie gern weg lassen :)

BirgitLachner wrote:Eine ähnliche Frage bei dem Sofa ... soweit ich verstanden habe, muss man den Block über dem anklicken, vor dem man das Sofa-Teil stellen kann. Hat das einen speziellen Grund.

Ja, selber Grund wie bei den Fackelhaltern. Gedacht ist es, dass du erst den RAhmen auf den Boden setzt, und dann den Polsterteil auf den Rahmen, der Polsterteil ist technisch über dem Rahmen, sieht aber aufgrund der Nodebox so aus, als ob er auf dem Rahmen sitzt.
Linuxdirk
Member
 
Posts: 1906
Joined: Wed Sep 17, 2014 11:21 am
In-game: Linuxdirk



Return to WIP Mods



Who is online

Users browsing this forum: Bing Bot [Bot] and 0 guests