minetest-mods / xdecor

A decoration mod for Minetest meant to be light, simple and well-featured
Other
29 stars 45 forks source link

Itemframe won't display item #50

Closed bark10 closed 8 years ago

bark10 commented 8 years ago

The itemframe doesn't display the item on display in the latest version (as of may 28th 2016). The itemframe does, however, accept the item when you right-click it.

sofar commented 8 years ago

What item did you try to place in it?

What was the last version that you tried where it did work?

What minetest and minetest_game version do you have?

bark10 commented 8 years ago

I've tried various items and blocks (at least 20 different). None works.

I'm running 0.4.14 (It says Minetest 0.4.14 / Minetest Game)

Itemframes worked in 0.4.13. I had an earlier version of xdecor that I cannot remember which was.

Napiophelios commented 8 years ago

I am using the latest MTGame and the latest dev build by Krock. I cant reproduce this, It works fine for me.

Bark10, when you place an item in the frame, it doesn't display in the frame, but it is removed from your inventory?

p5yg3n commented 8 years ago

I've noticed this with certain items...like an itemframe in an itemframe. I'm guessing things like ladders, signs, and other 1px thick nodes aren't showing up. Grasses might also do this. Just a guess though.

It's probably not bringing the item forward enough so it sits literally inside the frame but it's there. Punch the frame and I bet it drops the item.

bark10 commented 8 years ago

@Napiophelios That is correct. It doesn't display in the frame, but is removed from inventory @MT-Modder Exactly. When I punch a frame I have placed an item in, it drops. I've been trying signs, ladders, but also regular blocks. Previously even 1px-items worked with the frames.

Perhaps another mod could be affecting this?

Napiophelios commented 8 years ago

I dont have problems with ladders or signs or grass, however, tapestries and sheilds from castle mod are behaving just as you describe: screenshot_20160529_113015

It must have something to do with node coordinates; take a look at an arrowslit from castle mod: screenshot_20160529_113813

screenshot_20160529_114154

bark10 commented 8 years ago

This goes beyond my comprehension. I even tried creating a vanilla world with xdecor as the only active mod, but the problem still persists.

My server's name is Barkhouse. The issue can be witnessed in the SHOPS-building at spawn.

EDIT: Tried placing itemframe all four directions. Did not help.

p5yg3n commented 8 years ago

Yeah it seems xdecor needs to do a better job at predicting the entity's position/coordinates. But the big question is: Can it?

If the problem lies with the item/node itself then xdecor can't do much about it.

You see the arrow slit is made to sit in the middle of a node, right? And the shield is made to settle into a node a little bit, right? If so then as far as I know these things can't be helped.

Napiophelios commented 8 years ago

Sheilds are set in the back of the "nodebox" and arrowslits set at the very front position; glass panes from cottages mod are set in the middle of the nodebox.

screenshot_20160529_130049

Napiophelios commented 8 years ago

Bark10, that's really weird behavior on your server. There must be a mod conflict somewhere. Can you list the mods you are using?

bark10 commented 8 years ago

mods This screenshot was taken on my desktop computer on a freshly created world. Same thing.

Come to think of it, I have changed some code after advise in the forums. Will investigate

bark10 commented 8 years ago

It was me that had messed up...

In the previous version of xdecor I was running, itemframes were named xdecor:frame, not xdecor:itemframe. So all my frames were showing unknown nodes.

I then went ahead and changed the name from "itemframe" to "frame" on line 101 in itemframe.lua, but failed to do it on line 127 as well.

So changing that line as well solved the problem.

I apoligise for the hassle. And I have learned a lot from this! Thanks a lot for very helpful input.

p5yg3n commented 8 years ago

I'm pretty sure you can register an alias instead: minetest.register_alias("xdecor:itemframe", "xdecor:frame")

sofar commented 8 years ago

The alias existed and was dropped on purpose earlier. I'm not sure why.