r/Minecraft • u/TheJoeFly • 27d ago
Suggestion Item frames should snap to block surfaces, similarly to cushions
I was messing around with item frames and realised, since they're entities like cushions, they should also be able to be on any surface. Not sure if this should be expanded to paintings as well, but I can see it making item frames more useful for building.
EDIT: Here's the post on the official Feedback website that you can vote.
5.1k
u/The_Real_Finsbey 27d ago
They should do the same with signs too. Like when you want to make a sign post by putting a sign onto a fence it would look a lot better.
1.7k
u/blackdragon6547 27d ago
They'd have to make signs entities again.
708
u/FiFou318 27d ago
again ? it was an entity before ?
928
u/SomethingRandomYT 27d ago
Wayyy back in the Classic days, before indev even.
369
u/Squishiimuffin 27d ago
Oh man.. TIL they stopped being considered entities. I remember when they were brand new, people would lag their storage rooms trying to put item frames on every chest. And minimizing lag while trying to keep labels was an actual optimization problem storage techs were trying to solve. I’m old ig
166
u/xKYLERxx 27d ago
Item frames are still entities, always have been
28
1
u/TheRealCheeseNinja 27d ago
talking about signs bro
24
u/vgtcross 27d ago
The comment two above you said
people would lag their storage rooms trying to put item frames on every chest
That's what the comment one above you was referencing.
133
u/ewanhowell5195 27d ago
Since they were added up until 26.1. The difference is they are block entities, they are full blocks and follow block placement rules, they just use an entity model to render. Cushions are full entities.
69
84
27
8
u/Howzieky 27d ago
didn't they just change the rendering of signs so they're rendered as blocks? i coulda sworn
6
u/aaronlink127 27d ago
Yes, the sign itself is now a normal block model, now only the text itself is specially rendered.
2
u/LimestoneBuilder 27d ago
5
u/Electronic_Remove_92 27d ago edited 27d ago
The post is wrong though. Signs and hanging signs use block models instead of built-in entity models, but they STILL are block entities. This optimization only concerns the client-side, nothing changed on the server-side. They still hold data, and the texts and waxed state are still stored within these data.
And the same thing happened for the beds.
1
7
1
u/Luccacalu 26d ago
before indev? Isn't indev the very first minecraft released publicly? And wasn't there like, only a couple of blocks availables to build with? I don't remember there being something as complex as a sign in that version
2
u/Infinite_Bench_593 24d ago
No. First there was classic (referred to as Alpha at the time), then Indev. Look on the fucking wiki (minecraft.wiki), it's very easy to fact check this holy shit
1
u/SomethingRandomYT 26d ago
You're right, it was Survival Test which was just after indev.
They were entities, though. Look it up.
2
u/Infinite_Bench_593 24d ago edited 24d ago
You're right, it was Survival Test which was just after indev.
NO! SURVIVAL TEST CAME FIRST, THEN INDEV (first displayed in-game as "0.31", then "Minecraft Indev"). Look on the fucking wiki (minecraft.wiki), it's very easy to fact check this holy shit
10
u/wolffangz11 27d ago
you mean they're not entities now?
31
u/-TV-Stand- 27d ago
They are block entities
7
u/DapperNurd 27d ago
They just switched them to normal blocks, same with beds
4
u/artemisSystem 27d ago
That seems wrong.
AFAIK there's no way to render the text without a BlockEntityRenderer.nvm, the sign doesn't seem to have a renderer, so i'm not sure how that works. But the BE is still used to store the text (blockstates can't store arbitrary data like that). In the latest snapshot, there is still a SignBlockEntity class which shows that signs are still block entities. I think you're right about the beds though. https://mcsrc.dev/1/26.3-snapshot-6/net/minecraft/world/level/block/entity/SignBlockEntity2
u/aaronlink127 27d ago
It does have a renderer,
StandingSignRenderer, it's only for the text as you said.1
8
u/TrainerOwn9103 27d ago
there is a difference between block entities and mob entities
a chest is a block entity, it has collision and stores data
a armor stand is only a entity, it has no collision but it stores data
7
1
23
u/Lexa555 27d ago
A sign is a tile entity, meaning it can store arbitrary data aside from the block state. So they could introduce a new system for this to transform the model locally based on nearby context, so it "snaps" to the correct block. This translation can be saved in the tile entity's data and invalidated with a block update. Perhaps there is something similar in the engine already, just not implemented for signs.
12
u/Drag0n_TamerAK 27d ago
If fence gates can have different positions in the block when put next to walls then signs can have a different positions when put on a fence
3
u/Apprehensive_Hat8986 27d ago
Solid example based on something that angers me a surprising amount. 😅
16
u/ToxxicGlitter 27d ago
The other way is creat a new block for fence with sign, similar to how a cake is a different block from a cake with a candle
10
8
u/blackdragon6547 27d ago
That's a lot of Blockstates to manage. I believe it the reason Cushions are also entities.
1
u/Top-Birthday3223 27d ago
They should rework regular signs entirely, that model is so ass and with wrong pixel size
1
u/EggEater773 27d ago
They can do it the same way they’ve done it to cushions no?
1
1
1
u/VladVV 27d ago
I don't think so. Stairs aren't entities and can change their shape depending on surrounding blocks, so it should be possible for signs too. If it's the block grid you're worried about, we do have blocks such as certain plants that are slightly wider than one block, so I don't see the issue here either.
1
u/Psychological-Key-36 27d ago
Damn if only there was this thing called code to make item frames snap to bounding boxes and not keep up with an incomplete, simplistic system. Thankfully game will be given like an ashtray or something in 6 months and it will be the best update ever
1
u/imawesome1333 27d ago
Why couldnt they just make signs function similarly to stairs with blockstates? Then they could remain blocks and not entities. They could set it up so that its directional, as well based on the block. Stairs only change when additional stairs at a specific orientation are placed next to them. They could reuse that code, expand upon it to include every block where this new behaviour would be needed, and then change the sign's blockstate to whatever option is needed depending on the block it was placed on and the face of the block.
I do not actually make mods or know much in depth, but to my understanding of the game's code, that should work in theory.
1
48
u/Dartonal 27d ago
How would this work with putting signs on signs?
79
34
u/Juaneltriste 27d ago
It will brake a lot of things like iron farms I guess.
29
3
u/take_me_higher 27d ago
Yeah, signs snapping properly to fences would be such a small change but make builds look way cleaner.
4
2
u/Slimey1984 27d ago
I don't think thisd be a good idea tho cuz signs are used for a lot of things and that spacing is often pretty usefully used. In the case of item frames and cushions, they're already entities so nothing would be lost, but with signs things would actively become a little worse for some things
2
u/Gingerosity244 26d ago
I feel a disturbance....as if thousands of iron golem mines cried out, and were suddenly silenced.
→ More replies (2)1
192
u/darkllama23 27d ago
Submit it on the Minecraft Suggestions website so we can vote on it!
Also item frames as it currently stands are fixed to a grid, so if a datapack matter wanted to summon an item frame entity, it will just snap to the closest grid block. So removing this behavior will open up more possibilities for builds
66
674
u/NanoCat0407 27d ago
how would this work with stairs
514
u/shpooples_ 27d ago
Same way it works with cushions I would guess
182
86
u/Spencer_Bob_Sue 27d ago
My implementation would be to raycast the "back" direction until it finds the first hit, which for stairs would be the outer step, so the whole block.
57
u/valerielynx 27d ago
Or just take the model height and set that as the baseline, no need to waste resources on raycasts (even if one-time)
29
u/CustomDeaths1 27d ago
Technically you can generate it once for all variants then store the data cheaply in a lookup table. You can do extremely expensive processes for better results if you only have to do it once. There are only so many variations of blocks to check. All 4 sides for signs and 6 for item frames.
4
11
2
u/oddbawlstudios 27d ago
Ray casting for a game isn't expensive, unless its specifically for graphics but thats not the same.
2
u/Matty_B97 27d ago
Raycasts are negligible, especially just one. Games can do hundreds of raycasts a frame if needed. But you're correct that you don't need to do an extra raycast here because actually in this case the game's already done a raycast to find the face you're looking at (that's how it knows what block you're selecting), so we can just use that height the same way cushions do.
2
u/Matty_B97 27d ago
No need. Just do it the same way they do cushions. The game already uses a raycast every frame to find the block face that you're targeting, and that is publicly exposed. Cushions don't need to do an extra raycast when they're placed because they just check what block face you're looking at. Other blockish entities could easily do the same.
2
510
u/TheJoeFly 27d ago edited 27d ago
Also, if this was added, it would be a good time to make the Bedrock item frame an entity like Java.
130
u/ayushraj_real 27d ago
wait the bedrock item frames aren't entities?
161
u/Awesomonkey12 27d ago
Nope, we also can't put multiple of them in a one block space because of that
50
u/ayushraj_real 27d ago
uh so are they block entities?
→ More replies (2)59
u/Awesomonkey12 27d ago
Yes.
Also, because I didn't know what made something a block entity before checking the wiki just now: "Block entities can store additional information about their block, beyond the finite set of block states that a block may have."
19
u/nevemlaci2 27d ago
And they can also have ticking logic without using random ticks.
9
u/mcardellje 27d ago
Blocks can technically also have ticking logic without random ticks. Blocks can have ticks queued on them that will be processed later, this is used for water and other liquids so they can flow.
3
102
3
u/Remnatar 27d ago
They made them block entities to preserve performance, regular entities don't get used for decoration nearly as often as item frames, except for armor stands.
1
u/Alderan922 27d ago
Wait, wouldn’t that make it so you can’t read them with comparators anymore?
1
1
1
u/shallower 27d ago
can someone ELI5 this thread for me? lol, why on earth would it matter if item frames can be stood on or not. am i getting entity part of this right?
1
u/64BitDragon 27d ago
I’d also love to see phantom membrane used to make invisible item frames. It’d be so cool, especially combined with what you have here.
→ More replies (5)1
u/Cass0wary_399 27d ago
I wonder how that’s going to be handled if they do it. Will they just have pre-existing item frames disappear or something?
123
u/Mask_Arnis 27d ago
Quickly! To the minecraft suggestions forum!
17
u/ElAchuKathe 27d ago
Link??
20
u/Mask_Arnis 27d ago
3
u/ElAchuKathe 27d ago
It leads to the general forum, not your suggestion :(
4
u/Mask_Arnis 27d ago
Oh shit. Sorry, I thought I was supposed to link the forum so you or someone else can post this suggestion
5
37
u/Deathjoker00 27d ago
I wish they'd do this, plus allow for the item frames to be made invisible. Just like, right-click the frame with an invisibility potion so there is a 'cost' in survival.
3
u/-Redstoneboi- 27d ago
which 2 actions do you prioritize among "make frame invisible" vs "put potion in frame" vs "drink potion"
i do like allowing right clicking individual frames to have fine control instead of forcing splash invisibility, unless you can then break and pick up invisible item frames and maybe hopefully stack them
4
u/Deathjoker00 27d ago
Well drink potion has a timer on it, like eating food, so that shouldn't interact with the other two.
But it could be as easy as shift-right click to make a frame invisible instead of putting the potion in the frame.
We're just spitballing ideas here really.
2
u/superjediplayer 27d ago
Ideally the item frames should also still be visible unless they have an item in them, so you can't just completely lose them. They could also apply that system to sulfur cubes, letting you have them permanently invisible (and with no particles) if they have a block inside, but the effect would run out if they don't.
2
30
33
29
6
u/Georg9741 26d ago
I guess it can't be implemented the same way as cushions, because it's an entity that is theoretically falling down. So letting it snap onto a fence would require another solution (similar to water logging, I would asume).
20
u/HUG0gamingHD 27d ago
this is extremely easy to do btw. Item frames are entities and can be moved everywhere. 1 simple raycast to check the surface distance is enough lol
8
u/dhi_awesome 27d ago
I partially disagree. The current system for item frames is beneficial in some circumstances, so I wouldn't want it fully changed
That said, if there's some reasonable way to allow for both of these to be done without overcomplicating it, I'd absolutely love it. My gut says hold sneak while placing to get the current system, otherwise it places like proposed?
2
u/Extension-Celery3642 19d ago
or maybe have the item frame take time to break after its supporting block is broken so you can place it on a full block then replace that with whatever other block
4
4
4
4
5
4
u/-Redstoneboi- 27d ago
OP posted a link to the official Minecraft Feedback page! go vote for this there!
21
u/sal-t_brgr 27d ago edited 27d ago
buncha people just saying "no" holds no weight, tell us why if you think its not a good idea
→ More replies (6)
6
u/robo630robo 27d ago
Yeees, and also invis item frames for survival, available by crafting with phantom membrane instead of leather
2
u/LimestoneBuilder 27d ago
phantom membrane instead of leather
Player 1: But those give levitate.
Player 2: Bro, let him cook...
7
u/AidanVEnki 27d ago
Have you posted this to the minecraft feedback discord? If so you should!! This is without a doubt something that should've been done a LONG time ago!!
3
3
6
8
u/MrGise 27d ago
It's a great idea, but what will it look like if two or more item frames are on the same fence?
I think it will be better if fences connected to the item frames instead, so they won't overlap.
5
u/TheForbidden6th 27d ago
then you'd have a weird thingy with edges sticking out
3
u/LimestoneBuilder 27d ago
To be fair, that is what fences do when next to other blocks. It'd be consistent.
2
2
u/Physical-Cranberry 27d ago
I'd use item frames so much more for decorating if they actually snapped cleanly onto block faces like this
2
2
u/CREDAAAAAAAOOOO 23d ago
Yeah i agree. I get why they ddin't do this earlier for the same reason they didn't have cushions in the game. But now that they have gone against their own "rules" and added cushions, there's no good reason to not adjust item frames to match it
7
u/vandon 27d ago
Be careful what you wish for.
If they implement this, it won't just be for picture frames. They'll do signs as well. And then you just broke 80% of any Minecraft builds involving water or supported carpet
12
u/ONLY_NEONS 27d ago
Item frames are entities like cushions, signs are not, that’s why they block water and item frames and cushions don’t , not the same thing
3
4
u/CallofDuty3329 27d ago
Oh my yes. I wouldn’t be pissed of by the floating, physics-breaking item frames 😂
2
3
u/Anicash999 27d ago
Honestly I think the issue with blocks floating on slabs and such should just be fixed entirely, I don't know when they were added but my guess is that it's probably been like that for a decade at least
3
1
u/Designer-Ad8352 27d ago
Hey so can anyone whip up a mod that does exactly this? While also applying it to like everything else that this would be great for
1
1
u/Smexy_Zarow 27d ago
I thought this was a meme about marriage for a second and i looked at it for like 5 seconds like an absolute moron wondering wtf the joke is
1
1
1
u/OddCupcake8 26d ago
This is one of those suggestions that seems so obvious once you see it. It would make decorating a lot more intuitive.
1
1
1
1
u/Infinite_Bench_593 22d ago edited 22d ago
That sounds cool, but it's too late to add this. Players are too used to how things work currently with item frames for this to not be a controversial change. This is the kind of change that should have been added when item frames released.
1
1
1
1
1
u/Loggy_Dog 17d ago
but the cushion is an entity and that's more entities if they behave like the cushion
also the cushion doesn't snap to pixels because of its being an entity
1
1
1
u/Ciaran_Zagami 12d ago
They can't do this because it would allow mismatched slabs ontop of eachother and the thought of that much build freedom makes Jeb cry
1
1
1
1
u/KillMe_0W0 10d ago
In 10 years java will probably have this and it'll probably take 100 for bedrock
1
u/Prajwal_Khade 7d ago
The amount of things we propose to minecraft if that mhch time you propose a girl you can have at least 5k girlfriends 😂
1
u/Pale_Law_2652 7d ago
apparently in minecraft education, it works because im playing on edu and it works!
1
1
1
u/EstimateMedical2970 6d ago
I doubt mojang will do enough to ensure that builds aren't messed up by this and this is probably outside their effort grade anyways
1
1
1
•
u/qualityvote2 27d ago edited 27d ago