574448121 / ChineseWorkshop

MIT License
9 stars 9 forks source link

Proposed alternative Roof Edge behavior #8

Closed plausibleusername closed 6 years ago

plausibleusername commented 6 years ago

Right now, it's pretty much impossible to make gable-style roofs with small overhangs unless you're using the gray wall material, and even then it looks awkward, as it includes a small bump that I assume the thin white gray wall was intended to help alleviate. I have a proposal for an alternate way of handling edge blocks, if it hasn't already been considered.

The corner block should consist of an entire block, rather than the edge, so that when placing a corner block, it'd rest on a wall like shown below.

javaw_2018-06-29_01-32-11

The gap in the wooden supports would be covered up, and a thin panel on the appropriate side copies the side texture from the block immediately below it. The end result, demonstrating using current blocks, should look something like the current implementation -- though obviously a single pixel thinner.

2018-06-29_01-35-34

Apologies if you can't make this happen, and thank you for making this mod. Your roof system is one of the best I've ever worked with, other than this issue. I'd like some more Japanese features/furniture, though, if possible ;)

Snownee commented 6 years ago

Hello. Sorry about late response.

I love your idea but I'm worried this solution may cause performance problem. My thought is generating these blocks' basic counterparts such as planks and white wall, whereas you can add more variants through a configuration file.

Making this mod suit for more case is our continuously purpose. So if we can make things happen, why not?

plausibleusername commented 6 years ago

Drawing textures from the block below it would cause performance problems? I can see that, I guess. I think generating a large number of variants would fill the inventory very quickly. There's a problem with mods that add stair and slab variants of a large number of blocks, you might have noticed it -- it triples the amount of space needed to hold all the shapes. Chisel and Bits has a tab that contains nothing but bit types for every applicable block, and it's so massive that it needs a search bar.

Carpenter's Blocks allows you to give its blocks any texture you want by right-clicking on them with the block in hand, which would be ideal behavior, I think, but from what I know all of its blocks are also tile entities, and a large number of those in an area causes problems.

I'm not sure what part of the idea would impact performance. If it's the act of making the edge blocks into tile entities, I guess I don't have any suggestions. If it's checking for neighbors to take textures from, maybe it could be done as Carpenter's Blocks does it and have it copy a block's texture when you right-click it.

Snownee commented 6 years ago

Discussion about dynamic texture will be in #7