Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Let me in! Add doors. #1168

Open
Argmaster opened this issue Mar 7, 2025 · 13 comments
Open

Let me in! Add doors. #1168

Argmaster opened this issue Mar 7, 2025 · 13 comments

Comments

@Argmaster
Copy link
Contributor

Well, it's cool and all but there is no way to stop snails from coming into the house.

Let's open a discussion on doors.

@ikabod-kee
Copy link
Collaborator

https://discord.com/channels/443805812390100992/695680181075050586/1336457585871556608
Carrie already has door textures.
All that needs to be discussed is how to implement them XD

@Argmaster
Copy link
Contributor Author

Argmaster commented Mar 7, 2025

The basic thing, 2x1 minecraft style doors with no animations for simple feature.
Implemented as 2 blocks, door bottom with actual door icon, craftable etc, when placed spawns door top, uncraftable.
When either is broken door bottom block drops. Ofc door bottom will not be called door bottom, just door.
Opening should probably be implemented as rotation mode.

@ikabod-kee
Copy link
Collaborator

I proposed that doors should be one block with a 2-block-tall model. It was rejected before, but I'm not sure how quantum would feel about it now.

In my opinion, it would be a simpler implementation.

@Argmaster
Copy link
Contributor Author

I think that here are two problem with this approach:

  • due to how blocks are stored, you need to occupy top block slot anyway, unless you want ppl to place blocks overlapping with doors.
  • I am not sure if texture is not tiled, hence it would not be trivial to texture the doors correctly, you would have to do funky UV stuff that is not present anywhere else.

@Argmaster
Copy link
Contributor Author

There was a cool mod for mc that added 3x3 doors, which are in my opinion a cool idea too, since we not interested in advanced mechanics and minecraft-like piston doors. Mansions and castles could use some 3x3 or even bigger doors.

@ikabod-kee
Copy link
Collaborator

@careeoki Opinion on big doors?

@ikabod-kee
Copy link
Collaborator

I think that here are two problem with this approach:

  • due to how blocks are stored, you need to occupy top block slot anyway, unless you want ppl to place blocks overlapping with doors.
  • I am not sure if texture is not tiled, hence it would not be trivial to texture the doors correctly, you would have to do funky UV stuff that is not present anywhere else.

I'll let you guys handle how it should be implemented. Whatever method works best.

@careeoki
Copy link
Contributor

careeoki commented Mar 7, 2025

@careeoki Opinion on big doors?

Yeah, we could do that. I would want 1×1 trapdoors as well.

@IntegratedQuantum
Copy link
Member

I think the perfect solution would be to have doors as entities, this would also allow them to open without any problems and they could be animated too. But of course that would require many prerequisite changes.

Implemented as 2 blocks, door bottom with actual door icon, craftable etc, when placed spawns door top, uncraftable.
When either is broken door bottom block drops. Ofc door bottom will not be called door bottom, just door.
Opening should probably be implemented as rotation mode.

If we want to add doors today, in today's engine, then this would be the most reasonable approach.
There is just one question: How would the bottom door know what top door it belongs to?

@Argmaster
Copy link
Contributor Author

If we want to add doors today, in today's engine, then this would be the most reasonable approach. There is just one question: How would the bottom door know what top door it belongs to?

It doesn't. Every time one half does a door thing, like placing or opening it has to look if there is other half above or below and kick that other half to do the same update. Probably it would have to update data of self first to avoid infinite chain of updates. No idea how viable this is right now.

@Argmaster
Copy link
Contributor Author

This can only reasonably work for 2x1 doors, so bigger ones must wait for entity code to arrive in glory.

@IntegratedQuantum
Copy link
Member

How does it place the second half if you place the first half?

@Argmaster
Copy link
Contributor Author

I hope I will figure that out when I get to actual coding C:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants