[Mod] Unified Inventory [git][unified_inventory]

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by VanessaE » Post

Merged both -- thanks!
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by VanessaE » Post

OOps, no that doesn't quite work right. After that second commit, it wants to move the stack to whatever formspec was last added anew after opening the inventory. Seems to be an engine bug with formspec-replacing-formspec handling. I've rolled back the repo (and force-pushed) to just the commit for the bags since that's what will be most useful for most people.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
Don
Member
Posts: 1643
Joined: Sat May 17, 2014 18:40
GitHub: DonBatman
IRC: Batman
In-game: Batman

Re: [Mod] Unified Inventory [git][unified_inventory]

by Don » Post

VanessaE wrote:OOps, no that doesn't quite work right. After that second commit, it wants to move the stack to whatever formspec was last added anew after opening the inventory. Seems to be an engine bug with formspec-replacing-formspec handling. I've rolled back the repo (and force-pushed) to just the commit for the bags since that's what will be most useful for most people.
That's strange. It should work based on inv slot name. I will look in the morning to see if I messed something up.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!

A list of my mods can be found here

User avatar
Don
Member
Posts: 1643
Joined: Sat May 17, 2014 18:40
GitHub: DonBatman
IRC: Batman
In-game: Batman

Re: [Mod] Unified Inventory [git][unified_inventory]

by Don » Post

It appears that you can only have 1 listring per formspec. I even tried putting the listring into an if statement so it is only called when the page is called and it still would not work right.
Hopefully someone with more knowledge can find a solution.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!

A list of my mods can be found here

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by VanessaE » Post

est31 has fixed this in the engine, so I've re-enabled the crafting-grid commit.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
Don
Member
Posts: 1643
Joined: Sat May 17, 2014 18:40
GitHub: DonBatman
IRC: Batman
In-game: Batman

Re: [Mod] Unified Inventory [git][unified_inventory]

by Don » Post

VanessaE wrote:est31 has fixed this in the engine, so I've re-enabled the crafting-grid commit.
Awesome.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!

A list of my mods can be found here

Soudon
Member
Posts: 167
Joined: Wed Apr 08, 2015 17:14
In-game: Soudon

Re: [Mod] Unified Inventory [git][unified_inventory]

by Soudon » Post

How to i disable the give option for people on my server that I don't want just giving themselves items.

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by VanessaE » Post

Just make sure they don't have "creative" or "give" privileges.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

kino2007
New member
Posts: 4
Joined: Thu Nov 27, 2014 08:29
GitHub: kino2007
IRC: kino
In-game: imsure1200q imsure kino2007

Re: [Mod] Unified Inventory [git][unified_inventory]

by kino2007 » Post

Um... why does my unified inventory not work?
I can't turn it on my world! But, can you fix this?
  • 1) I am in 0.4.13
    2) The device I'm using is galaxy tab 3v

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by benrob0329 » Post

You have to tap "Configure Mods"

Also, did you rename it to "unified_inventory"?

Nyarg
Member
Posts: 276
Joined: Sun May 15, 2016 04:32

Re: [Mod] Unified Inventory [git][unified_inventory]

by Nyarg » Post

VanessaE wrote:Please post any ideas you may have to help improve it.
No problem )

Is it possible add list of installed mods ?
Click on member of list fill item area with only selected mod items.

And back over.
In common mode clicking on any item or hover over give us tooltip with name of parent mod ?

Something like here (minecraft: I don't know what mod do it)
Spoiler
Image
Image
I am a noob. still yet. Not so noob ) [vml] WIP and a little proof for fun PlantedTorch )))
MT Strike 78a36b468554d101e0be3b0d1f587a555f396452 Great! Somebody have found it )
"My english isn't well" I know. I'm sorry )

bark
Member
Posts: 35
Joined: Thu Sep 24, 2015 13:25
In-game: bark

Re: [Mod] Unified Inventory [git][unified_inventory]

by bark » Post

The waypoints function is truly elegant!

Idea: When the player dies, a waypoint is created at the location of the bones, and removed when the bones are picked up.

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by Wuzzy » Post

Overall, this mod is pretty useful as it puts many important features (creative inventory, crafting guide, etc.) neatly into one place. It is especially useful for complex subgames or when using a lot of mods and nodes.
This mod has the best crafting guide of all crafting guide mods I know.
The crafting guide is almost perfect:
- Very easy to use, almost all buttons have a function
- It correctly displays group elements
- It shows the group members
- It recognizes ingredients as well
- It differentiates between shaped and shapeless recipes
- Even drops are recognized (although not perfectly: in Minetest Game, sapling can be optained by chance by digging leaves, but this drop does not appear in the mod)

Why the crafting guide is not perfect:
- Misses out on the tool repair recipe (if available)
- Item replacements are not recognized (keyword “replacements” in lua_api.txt)
- In ingredient mode, items are not recognized as furnace fuel (e.g. if I set dry grass (default:dry_grass_1) as ingredient, it displays it has no usages, which is false since it can be used as fuel)
- Shows itemstring instead of real name
- Going through many crafting recipe alternations is time-consuming (adding a “back” button could fix this)
- Tooltip for group items is incorrect (shows item name instead of group name) … but groups are messy in Minetest anyways, I think there is no easy way to fix this; this is more Minetest's fault here to not support non-technical group names
- Only items with crafts are apparently shown. This is flawed since this prevents going to ingredient mode for a particular item
- Search box does not remember entered text

Suggestions:
- Clicking *again* on an item button in the list of all items should toggle between ingredient/result mode (the same happens when you click the leftmost button, directly below the item name)
- For fixing the drops by chance: New crafting type of “Digging (by chance)” could be added with a pickaxe+question mark symbol of some sort.
- When clicking on a group item, the specific group filter should also be pre-entered in the search box so it becomes clear the user can search manually for groups that way
- Add a reset button to empty the search and display everything

Genral comments:
Major criticisms of this mod:
- Allows everyone to teleport home for free / without home privilege (or another dedicated privilege). I suggest to check the home privilege from the sethome mod, and, if this mod is not present, register the privilege on your own, then check it. Reason: This breaks PvP. If you are hunting a player or about to kill someone, the player can just teleport away
- Built-in bags support, rather than making it an extension of some sort. Bad because it again affects gameplay by giving up to 96 additional inventory slots
- In general, I do not expect an *inventory* mod to make the player more powerful in any way. I wish this mod as such would be “nothing more” than an interface enhancement and NOT also something which makes gameplay easier. Gameplay features could be released as seperate mods with unified_inventory dependency
- Dependency for bags is not listed, but this part obviously depends on wool, farming and default for the crafts (at least optionally so)
- Inventory cannot be closed with the I key because this enters into the searchbox. So you can't just press “II” to quickly open and close your inventory screen to look what you have.

Minor criticisms:
- Trash button is useless in non-creative mode. It should be hidden in this mode
- In general, useless buttons should be hidden
- Using the chat for error messages is not good, as the inventory menu is over the chat so the chat might be invisible (at least partially). You could just make a simple error box formspec for that (label + OK button).


EDIT: Added more text. :P

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: [Mod] Unified Inventory [git][unified_inventory]

by burli » Post

My daughter wrote some books and then hit accidentally "clear inventory". Is it possible to get them back?

User avatar
VanessaE
Moderator
Posts: 4655
Joined: Sun Apr 01, 2012 12:38
GitHub: VanessaE
IRC: VanessaE
In-game: VanessaE
Location: Western NC
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by VanessaE » Post

Nope, it's not possible. That button erases the inventory list entirely.
You might like some of my stuff: Plantlife ~ More Trees ~ Home Decor ~ Pipeworks ~ HDX Textures (64-512px)

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by Wuzzy » Post

Wow, that's sad.
I noticed that in singleplayer, Unified Inventory allows you to do way to much nonsense. You don't need Creative Mode.
It's pretty much cheating. You can grab just any item you want, you can set the time freely, and you can clear the inventory. IMO singleplayer needs to be more restrictive by default, currently it allows WAY too much cheating. So add this to my complaint list above. ;-)
Thats probably also the reason why the accident happened. Maybe.


Does Unified Inventory maybe just check for the give privilege and allows all this stuff when it is present? Too bad you can't get rid of this privilege in singleplayer. Why are irrevokable privilages a thing, anyway?

Gerald
Member
Posts: 93
Joined: Sun Dec 28, 2014 10:35
In-game: gerald7
Location: Germany

Re: [Mod] Unified Inventory [git][unified_inventory]

by Gerald » Post

Wuzzy wrote: Does Unified Inventory maybe just check for the give privilege and allows all this stuff when it is present? Too bad you can't get rid of this privilege in singleplayer. Why are irrevokable privilages a thing, anyway?
I think if you want to set time, it checks for the settime privilege, which is irrevokable too. Only the home button works parallel to the mod. The problem is not the inventory, because you can do the same using commands. The problem is the privelege system. It makes sense that you cannot revoke the grant privelege, but everything else should be disabled by default.

ph8jPf9M
Member
Posts: 77
Joined: Sat Jul 16, 2016 10:29
GitHub: 22i

Re: [Mod] Unified Inventory [git][unified_inventory]

by ph8jPf9M » Post

i would suggest to make the inventory theme more customizable just like the vanila minetest inventory
in which all you need to do is to change the gui_formbg picture in the default textures to change the color and look.

In unified inventory if you want to change the look of it you need to modify ui_form_bg for background and ui_main_inventory
to change the inventory slots colors with its background.

If not anything else make ui_single_slot picture affect every other inventory slot

other things i would suggest:
-move the refill near search and trash slot down to the right of bags, achievements and armor.
-crafting table more to the right and craft result preview to the middle instead of upper corner
-make an option to make searching non automatic for closing the inventory without escape easier
-merge the armor with the basic inventory. same with bags
-ability to save multiple inventories and load it after


Is there a way to change the button color?

if you want to try out the black theme first download the https://github.com/Gamerbude/Minetest_T ... formbg.png rename it to ui_form_bg then download black theme attachment and rename it to ui_main_inventory and put both into unified inventory texture folder. The black theme was inspired by minetest tng subgame viewtopic.php?f=15&t=14145
Attachments
black theme 2
black theme 2
black inventory 2.png (4.93 KiB) Viewed 1469 times
black theme 1
black theme 1
black inventory 1.png (2.44 KiB) Viewed 1469 times
black theme ingame
black theme ingame
unified inventory black theme.png (400.8 KiB) Viewed 1469 times

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by Wuzzy » Post

I might interest some people here that I have recently put some work into this mod (especially the crafting guide). The following features wait for approval:

- Fix crafting recipes larger than 3×3 breaking the UI (mod would support sizes up to 16×16)
- Partial support for complex node drops (especially probability-based ones), like jungle grass → (maybe) a cotton seed (I will explain it in more detail when it is actually included into the mod)
- Toggle recipe/usage mode when you click on current item in the item list
- Add search reset button
- Don't clear search field after searching
- Insert group name into search field when clicking a group button
- Fix misleading tooltips of group buttons; they now show the actual group name
- Add “back” button for alterate recipes
- Show real item name in crafting guide instead of the very technical itemstring
- Update translation stuff (esp. German)

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: [Mod] Unified Inventory [git][unified_inventory]

by burli » Post

+1

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by Wuzzy » Post

Okay, now all features I have previously posted are now officially part of Unified Inventory.

As promised, here's a more detailed explanation of the display of more complex node drops:

Some blocks have a more complicated type of drop. They don't just drop 1 item, but they may drop multiple different items, or some items purely based on probability.
These complex drops were previously not displayed in UI, but now they are.
The biggest new feature here is that items which *may* drop from a block are now displayed as well.
For example, jungle grass can drop itself or cotton seed, based on luck.

In the Unified Inventory, when you click on the crafting guide to learn the “crafts” about cotton seed, you will now see jungle grass as “Mining (by chance)”. This means mining 1 jungle grass might drop 1 cotton seed.
Note that self-drops (e.g. dirt drops itself) are still hidden in UI, no matter if guaranteed or by luck only.

Other examples you can check out in UI right now:
- Gravel → Flint
- Leaves → Sapling
- Grass → Wheat seed

Note that Minetest Game's drops are mostly rather simple. So this new feature becomes more interesting for very complex drops:
If a block may, let's say, drop randomly 1-3 items, the UI will display it as “Mining (by chance)” and show a “3” in the result item. Note the number displayed is the maximum possible number of items you can get by mining this block. Also, any additional item type dropped by the block will simply be displayed as a seperate “craft”.
Also note that any “craft” displayed as “Digging” only is interpreted as a guaranteed drop. This means, you always get this drop by mining the block. The “Digging (by chance)” is a chance which is added on top of the guaranteed drop.


Note the feature may not catch all complex drops perfectly, very tricky drops may still be displayed, but with incorrect numbers. Most notably, the drops of the wheat and cotton plants in Minetest Game are still missing because they are hidden from creative inventory. Maybe this bug will get fixed later.

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

Re: [Mod] Unified Inventory [git][unified_inventory]

by Sokomine » Post

That's a nice addition. That way it will become easier to figure out how to obtain certain items and materials. Unified_inventory is a very useful mod. It takes getting used to, but once that's managed, you don't want to miss it anymore.
A list of my mods can be found here.

KCoombes
Member
Posts: 427
Joined: Thu Jun 11, 2015 23:19
In-game: Knatt
Location: SW Florida, USA

Re: [Mod] Unified Inventory [git][unified_inventory]

by KCoombes » Post

Ok, have totally different issue now:

Fixed the issue with 3d_armor and UI (needed to update both), now getting an error only with my mod(wip).

Code: Select all

2016-08-29 16:01:25: ERROR[Main]: ServerError: Runtime error from mod 'unified_inventory' in callback environment_Step(): ...4.14-b11720a-win32\bin\..\mods\unified_inventory/api.lua:85: attempt to get length of field 'items' (a nil value)
line 85 refers to mutliple drops in a register_node definition; I have 1 such node definition in my mod. My code:

Code: Select all

	drop = {
		max_items = 2,
		items = {
		{items = {"default:cobble"},
		rarity = 1},
		{items = {"custom:item_1"},
		rarity = 7},
		{items = {"custom:item_2"},
		rarity = 6},
		{items = {"custom:item_3"},
		rarity = 5},
		{items = {"custom:item_4"},
		rarity = 4},
		{items = {"custom:item_5"},
		rarity = 3},
		{items = {"custom:item_6"},
		rarity = 2},
		{items = {"custom:item_7"},
		rarity = 1},
		},
The desired outcome is 1 default:cobble and 1 of 7 other items - this was functioning prior to the update to UI involving the UI craft guide showing the 'maybe' drops of items. Do I need to back up to a previous version of UI, or can my code be tweaked to allow for the newer UI?

KCoombes
Member
Posts: 427
Joined: Thu Jun 11, 2015 23:19
In-game: Knatt
Location: SW Florida, USA

Re: [Mod] Unified Inventory [git][unified_inventory]

by KCoombes » Post

Sorry for the double post - someday I'll remember editing a post does not result in a 'new post'.

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: [Mod] Unified Inventory [git][unified_inventory]

by Wuzzy » Post

One of the most frustrating things in UI is that it is WAY too overpowered in singleplayer survival.
You can get everything for free, set the time and teleport home for free. This can't be really fixed in Unified Inventory since it depends on privileges.

I figured out that Minetest is actually at fault here, for granting absurdly many privileges which cannot be revoked. Especially it is not possible to get rid of give, settime and home, which is the reason why UI is currently overpowered in singleplayer.

For those who are annoyed by UI's overpoweredness, here's a workaround:

Go into the Minetest directory, then copy builtin/privileges.lua to builtin/privileges.lua.backup (this is a backup file in case things go wrong), and then replace the contents of builtin/privileges.lua with the following code:

Code: Select all

-- Minetest: builtin/privileges.lua

--
-- Privileges
--

core.registered_privileges = {}

function core.register_privilege(name, param)
	local function fill_defaults(def)
		if def.give_to_singleplayer == nil then
			def.give_to_singleplayer = true
		end
		if def.description == nil then
			def.description = "(no description)"
		end
	end
	local def = {}
	if type(param) == "table" then
		def = param
	else
		def = {description = param}
	end
	fill_defaults(def)
	core.registered_privileges[name] = def
end

core.register_privilege("interact", "Can interact with things and modify the world")
core.register_privilege("privs", "Can modify privileges")
core.register_privilege("basic_privs", "Can modify 'shout' and 'interact' privileges")
core.register_privilege("shout", "Can speak in chat")

core.register_privilege("teleport", {
	description = "Can use /teleport command",
	give_to_singleplayer = false,
})
core.register_privilege("bring", {
	description = "Can teleport other players",
	give_to_singleplayer = false,
})
core.register_privilege("settime", {
	description = "Can use /time",
	give_to_singleplayer = false,
})
core.register_privilege("server", {
	descriptino = "Can do server maintenance stuff",
	give_to_singleplayer = false,
})
core.register_privilege("protection_bypass", {
	description = "Can bypass node protection in the world",
	give_to_singleplayer = false,
})
core.register_privilege("ban", {
	description = "Can ban and unban players",
	give_to_singleplayer = false,
})
core.register_privilege("kick", {
	description = "Can kick players",
	give_to_singleplayer = false,
})
core.register_privilege("give", {
	description = "Can use /give and /giveme",
	give_to_singleplayer = false,
})
core.register_privilege("password", {
	description = "Can use /setpassword and /clearpassword",
	give_to_singleplayer = false,
})
core.register_privilege("fly", {
	description = "Can fly using the free_move mode",
	give_to_singleplayer = false,
})
core.register_privilege("fast", {
	description = "Can walk fast using the fast_move mode",
	give_to_singleplayer = false,
})
core.register_privilege("noclip", {
	description = "Can fly through walls",
	give_to_singleplayer = false,
})
core.register_privilege("rollback", {
	description = "Can use the rollback functionality",
	give_to_singleplayer = false,
})
In Minetest Game, you also have to edit mods/sethome/init.lua. Replace this line:

Code: Select all

minetest.register_privilege("home", "Can use /sethome and /home")
With this:

Code: Select all

minetest.register_privilege("home", {
description = "Can use /sethome and /home",
give_to_singleplayer = false
})
In new singleplayer worlds, you will now only start off with these privileges: interact, shout, basic_privs and privs. You will not be able anymore to get stuff for free, can not set the time and can not teleport home. At least by default. You still can do “/grant singleplayer all” anytime you want to get your cheats back. ;-)

In existing singleplayer worlds, you might need to use /revoke singleplayer all in the console first. With this workaround, this command will now actually work.

I hope the list of default singleplayer privileges gets reduced in official Minetest and Minetest Game so you won't need that workaround in the future.

Post Reply

Who is online

Users browsing this forum: No registered users and 23 guests