Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to TerraFirmaCraft Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Dries007

      ATTENTION Forum Database Breach   03/04/2019

      There has been a breach of our database. Please make sure you change your password (use a password manager, like Lastpass).
      If you used this password anywhere else, change that too! The passwords themselves are stored hashed, but may old accounts still had old, insecure (by today's standards) hashes from back when they where created. This means they can be "cracked" more easily. Other leaked information includes: email, IP, account name.
      I'm trying my best to find out more and keep everyone up to date. Discord (http://invite.gg/TerraFirmaCraft) is the best option for up to date news and questions. I'm sorry for this, but the damage has been done. All I can do is try to make sure it doesn't happen again.
    • Claycorp

      This forum is now READ ONLY!   01/20/2020

      As of this post and forever into the future this forum has been put into READ ONLY MODE. There will be no new posts! A replacement is coming SoonTM . If you wish to stay up-to-date on whats going on or post your content. Please use the Discord or Sub-Reddit until the new forums are running.

      Any questions or comments can be directed to Claycorp on either platform.
Red3Tango

Stair(mode) vs Slabs

27 posts in this topic

So with the new changes with the stair mode option, which would be the best option to reduce lag?

 

Either cutting a slab down 4 times, or cutting off the 4 top quadrants of the stairs?

0

Share this post


Link to post
Share on other sites

I haven't tested the new stair changes yet so I can't give a direct answer, but I can say this:

 

If when targeting the block you see all the itty bitty squares, it will cause more lag. If you just have the hitbox that covers the entire block, it causes less lag.

 

Other than that specific difference, the majority of lag is caused by the number of faces. Since a slab has the same amount of faces as a block, it should ideally cause no more FPS lag than a regular solid block.

0

Share this post


Link to post
Share on other sites

The "stairs" show a hitbox of the entire block (1 cubic meter). Cutting down in slab mode will show the hitbox the same size as the visible block.

 

Example if you slab it down 4 times, the hitbox is 1m length, 1m width, 0.5m high... where stair mode still shows a 1m high hitbox.

 

Sadly, either way will not stop rain from putting out torches/forges, but does stop the rain particles.

0

Share this post


Link to post
Share on other sites

If that's the case, the difference in lag between the two is negligible, if it even exists at all.

 

The reason that the rain particles stop, but the forge still doesn't work is because the two use two separate methods. Rain searches for any block that is not air to stop where the particles happen. The forge checks for direct access to the sky, which is only stopped by opaque, solid cubes.

0

Share this post


Link to post
Share on other sites

If that's the case, the difference in lag between the two is negligible, if it even exists at all.The reason that the rain particles stop, but the forge still doesn't work is because the two use two separate methods. Rain searches for any block that is not air to stop where the particles happen. The forge checks for direct access to the sky, which is only stopped by opaque, solid cubes.

But if torches under a slab roof are put out by rain, that's another issue.Seems similar to the issue that fire pits were put out in rain under a thatch roof even if the rain particles did not come through. This one has been fixed a while ago, maybe you can use the same fix for slabs/stairs, if this is the case?
0

Share this post


Link to post
Share on other sites

But if torches under a slab roof are put out by rain, that's another issue.Seems similar to the issue that fire pits were put out in rain under a thatch roof even if the rain particles did not come through. This one has been fixed a while ago, maybe you can use the same fix for slabs/stairs, if this is the case?

 

The problem here is that slabs have different orientations that the sky check really can't look for. Thatch is a completely solid block. A slab could be a vertical slab where 7/8ths of the block are missing, so it would make perfect sense for it to put the torch out, or it could be a horizontal slab where the entire bottom is covered. The torch doesn't know which is which though.

0

Share this post


Link to post
Share on other sites

The problem here is that slabs have different orientations that the sky check really can't look for. Thatch is a completely solid block. A slab could be a vertical slab where 7/8ths of the block are missing, so it would make perfect sense for it to put the torch out, or it could be a horizontal slab where the entire bottom is covered. The torch doesn't know which is which though.

But that's still weird: if you take your example with 7/8th of a vertical slab block missing, it still wouldn't let the rain particles through, right?Well, I guess this cannot be solved then...
0

Share this post


Link to post
Share on other sites

Woops, I meant 7/8ths gone. The slab/rain/torch doesn't care though. Either it's a slab, and 1 to 7 eights are missing, or it's not. So think about it, if the majority of the block is gone, while the rain particles do not fall (because there is a non-air block there) it does still make sense that a torch would burn out, since it is essentially exposed to the sky. Because the torch can't tell if the slab is vertical and exposing it to the sky, or horizontal and blocking the sky, it's just set that if it is a slab, it does not block the sky, and rain will put it out.

 

 

Edit: Pictures might help.

 

post-3005-0-43155200-1417079434_thumb.pn

 

In an ideal situation, the slab on the left would let rain particles through, and the torch would burn out, and the slab on the right would block rain particles, and the torch would stay lit.

 

In actuality, rain sees both as blocks that are not air, and therefore both stop rain particles from going through. The torch sees both of them as slabs, and therefore neither protect the torch from burning out. The reason that the default is that slabs don't offer protection is because out of the 6 sides, chiseling any of the 4 sides would result in a vertical slab, where it makes sense that rain could in theory (no particles) get through and put out the torch, while only 2 of the sides would result in a horizontal slab, that would in theory block rain and protect the torch.

0

Share this post


Link to post
Share on other sites

I did understand before what you meant by a vertical slab and how the code works with slabs in general with rain, thus my answer that this issue most likely won't be solved.

But I do appreciate your very detailed explanation :)

0

Share this post


Link to post
Share on other sites

Talking about slabs and stairs. Is there any chance we will ever have them add as an item? We hear so much talk about making Terrafirmacraft compatible with other mods, and this seems like such a small thing.

Not asking to change the existing mechanic, but to give us a recipe similar to the vanilla one, but requiring the chisel in the crafting grid. It is not OP, because it still requires the chisel, it just makes it instantly compatible with most mods and plugins. Also since is a recipe block, it would be retrievable. 

In the end minecraft is a game about building blocks, You can play on creative and have instant access to all blocks, or you can play on survival, and work for the blocks. Who plays minecraft and has never built or try to build a castle? One of the attractive of Terrafirmacraft is all the decorative blocks it adds to the game. Terrafirmacraft is oriented towards multiplay, That means Servers, and server admins need a way to safely manipulate constructions without destroying them.

I understand that is nearly impossible to have 1/8 of a block to be a retrievable block. And I am OK with that, but I think we should have regular stairs and half slabs. 

0

Share this post


Link to post
Share on other sites

Last time I checked you can enable the vanilla recipes for stairs and slabs in the TFC config.

Not sure though if they behave like vanilla ones and if you can retrieve them after placing. Just try it out ;)

0

Share this post


Link to post
Share on other sites

Stair and slab items would be convenient. Unfortunately, there are some snags.

Since you can stair and slab any number of times, there is a huge number of possibilities using use the stair and slab tool. Obviously we can't have them all.

Instead, we could argue for just stairs (Like vanilla, that update their texture depending on the location of other stairs) and the slabs.

Now we have 1 (stair) + 7 (each slab) new blocks for 21 types of stone and 17 types of wood. Still not very nice.

 

So we take a more vanilla approach, with 1 stair and 1 slab. 76 new blocks isn't that bad, though somebody's going to have to write code for them. Looks terrible in a creative menu, but we'll survive.

Now the real question is whether stair blocks and stair shaped chiselled blocks can recognise each other. Probably not, so you'll have a little extra work cut out for you if you want to use both in a single build.

It would be nice if the stair and slab blocks are also added to the chisellable list, so that we can still work with them if we want to.

0

Share this post


Link to post
Share on other sites

Last time I checked you can enable the vanilla recipes for stairs and slabs in the TFC config.Not sure though if they behave like vanilla ones and if you can retrieve them after placing. Just try it out ;)

 

That's for making the vanilla stair and slab blocks, not TFC ones.

 

Stair and slab items would be convenient. Unfortunately, there are some snags.

Since you can stair and slab any number of times, there is a huge number of possibilities using use the stair and slab tool. Obviously we can't have them all.

Instead, we could argue for just stairs (Like vanilla, that update their texture depending on the location of other stairs) and the slabs.

Now we have 1 (stair) + 7 (each slab) new blocks for 21 types of stone and 17 types of wood. Still not very nice.

 

So we take a more vanilla approach, with 1 stair and 1 slab. 76 new blocks isn't that bad, though somebody's going to have to write code for them. Looks terrible in a creative menu, but we'll survive.

Now the real question is whether stair blocks and stair shaped chisseled blocks can recognise each other. Probably not, so you'll have a little extra work cut out for you if you want to use both in a single build.

It would be nice if the stair and slab blocks are also added to the chisselable list, so that we can still work with them if we want to.

 

Don't forget that it's 17 types of wood, and 21 types of stone that have 4 variations (Raw, Smooth, Brick, Cobble), so you're actually looking at 101 slab blocks if we only do half slabs, and 101 stair blocks if we only do regular stairs..  for a total of 202 new blocks.

0

Share this post


Link to post
Share on other sites

Don't forget that it's 17 types of wood, and 21 types of stone that have 4 variations (Raw, Smooth, Brick, Cobble), so you're actually looking at 101 slab blocks if we only do half slabs, and 101 stair blocks if we only do regular stairs..  for a total of 202 new blocks.

Oh lord, I'd completely forgotten.... I only ever chisel chiselled blocks, so completely forgot the others. 202 new blocks....Ouch. And that is also assuming no vertical slabs.

0

Share this post


Link to post
Share on other sites

back to the torch discussion, if i am not mistaken one can now place torches on any side of a block that has less than 16 mini-blocks removed. would it be possible and simple to implement the very same logic to the torch check for going out?

 

so if a torch checks if rain drops on it it sees a block that is chissled and then looks if one of the horizontal layers has less than 16 blocks removed? or just if one layer is still complete might be even easier. you could argue now that the top layer and the bottom layer might cover the entire block but still have no untuched horizontal layer but it would already be a good improvement.

0

Share this post


Link to post
Share on other sites

I had no idea it was even possible to create stairs in raw or cobble stone. I just open a creative game to test it, I was amazed that it works.

17 wood types equals 34 new blocks for stairs and slabs.

I guess most people would be grateful to have stairs and slabs on smooth and bricks, that is 

21 types of stone (smooth and bricks) 42 equals 84 for stairs and slabs 

My total 118, Wow that is still a huge number, I can understand the reluctance in approaching such a task. Also as it solves a problem, I can see how it would clutter the creative menu.

The way I see creating a stair block in the crafting grid or by chiseling a placed block should give the same stair block. That would avoid the item repetition and would ensure the compatibility, witch is my main issue.

I hadn't realized the scope of the work involved. I wish I could help in any way. Is just frustrating, when for one reason or another I need to restore a building in my server and it deletes all slabs and stairs.

Any ways, thank you for all the hard work put into this wonderful mod. 

0

Share this post


Link to post
Share on other sites

back to the torch discussion, if i am not mistaken one can now place torches on any side of a block that has less than 16 mini-blocks removed. would it be possible and simple to implement the very same logic to the torch check for going out?

 

so if a torch checks if rain drops on it it sees a block that is chissled and then looks if one of the horizontal layers has less than 16 blocks removed? or just if one layer is still complete might be even easier. you could argue now that the top layer and the bottom layer might cover the entire block but still have no untuched horizontal layer but it would already be a good improvement.

 

No, the method that torches use to look for sky access is a vanilla method. Unless there is some obscure flag that we can set special cases to on the slab block, there is really nothing we can do without rewriting it from the ground up.

 

The way I see creating a stair block in the crafting grid or by chiseling a placed block should give the same stair block. That would avoid the item repetition and would ensure the compatibility, witch is my main issue.

I hadn't realized the scope of the work involved. I wish I could help in any way. Is just frustrating, when for one reason or another I need to restore a building in my server and it deletes all slabs and stairs.

Any ways, thank you for all the hard work put into this wonderful mod. 

 

That's the thing, there is no current stair "block" that actually exists for each individual stone/wood. The "block" you see in the world is just a generic "BlockStair" that holds information through a tile entity. The tile entity is what stores the information such as what material it should look like, and the orientation of the stair. There's no way that I know of to create a tile entity that exists and stores information as an item in an inventory. This would literally require completely rewriting how stairs and slabs are handled, and making them use the much messier method of block metadata and such. This would also make it almost impossible for the current chisel mechanics to exist the way they do.

0

Share this post


Link to post
Share on other sites

So with the new changes with the stair mode option, which would be the best option to reduce lag?

 

Either cutting a slab down 4 times, or cutting off the 4 top quadrants of the stairs?

 

To make a slab always use the slab tool.

 

Slabs, stair simple and stair inside corner, still causes less lag. // edit : This is no longer true.

Everything else is the multiblock, it causes lag.

But the multiblock self-optimizes to reduce lag.

0

Share this post


Link to post
Share on other sites

To make a slab always use the slab tool.

 

Slabs, stair simple and stair inside corner, still causes less lag.Everything else is the multiblock, it causes lag.But the multiblock self-optimizes to reduce lag.

 

If you didn't notice Lipki, Bioxx rewrote your stair changes to better optimize them in 79.13. Using the detailed block was a really really bad idea because it is not very optimized.

0

Share this post


Link to post
Share on other sites

I'm wondering if a similar code method as Ender io uses for its painted block would work to allow craftable stair and slab block. There is a block that the texture of nearly any block texture (from any mod) is overlaid on. It drops the textured block and retains the texture for it in inventory. I don't care whether we get them or not, but there is a method in an open source mod that may work. As always I'm not a programmer so what do I know.

0

Share this post


Link to post
Share on other sites

Just trying to understand how the code works. What happens when I click with the chisel on a raw stone and turns into smooth stone? Wouldn't the same thing happen when changing from smooth stone to slab or stair?

I mean if we had those blocks in the creative inventory.

In that case why would matter if the block was created in the crafting grid or was clicked with a chisel?

( Off course this is all hypothetical, since it does not look like any coder will tackle this change )

0

Share this post


Link to post
Share on other sites

Just trying to understand how the code works. What happens when I click with the chisel on a raw stone and turns into smooth stone? Wouldn't the same thing happen when changing from smooth stone to slab or stair?

I mean if we had those blocks in the creative inventory.

In that case why would matter if the block was created in the crafting grid or was clicked with a chisel?

( Off course this is all hypothetical, since it does not look like any coder will tackle this change )

 

No, they are two very different processes. Every raw stone and every smooth stone has their own individual "block" with an ID number and metadata (#:#). It is these blocks that can be put into the creative inventory. When you click on a raw stone block to smooth it, it changes the ID of the block to the ID of the specific smooth version, changing the block itself.

 

So let's say you have a raw stone block with the ID of 2062:1. When you right click on the block with a chisel to smooth it, you turn it into 2070:1

 

Every single version of a slab all has the exact same ID number, and the same goes for stairs and detailed blocks. It's all stored within a single "block".

 

So you click on that Raw 2062:1 to turn it into a slab, and let's say the slab ID number is 3000. It switches to the slab, and all of the rest of the information is stored in a tile entity (something that cannot exist in inventories afaik).

Now if you click on the smooth 2070:1 to turn it into a slab, it also turns into 3000, because they are all stored within the same block. The information is transferred to the tile entity.

 

Now keep slabbing down either block to be smaller, the ID is still 3000, because it isn't being stored in the block.

 

The creative inventory needs the blocks, with the different ID numbers. It doesn't know how to handle tile entities.

0

Share this post


Link to post
Share on other sites

Don't tile entities store there extra data in NBT? If they do, then shouldn't you be able to read that data (like with the vessels) and determine how the block look? This isn't all that useful for the creative inventory as it would require the game to generate all the possible NBT configurations, but what if you made it so that pick block what copy the NBT data? Similar to how in MC 1.8 you can copy chests with their inventories.

 

Anyways, just an idea, I don't program in java, so I am basically guessing with this.

0

Share this post


Link to post
Share on other sites

One of the problems I think is how much work you guys put into creating the chisel mechanic, and I love the chisel and use it all the time, don't get me wrong. But most times when building a road or a roof I just wish we had the same vanilla system for slabs and stairs. It works fine for most building projects. Not saying to trash the chisel, it could still be used for thin slabs , microblocks, creating smooth stone etc.. but for regular stairs and half slabs, I would prefer to have a grid recipe, it could even require the chisel in the crafting grid.

I guess them the only issue would be item numbers and texture, since the code already exists in vanilla. It is still a huge work, but my question is more around the issue of if this is something that could be implemented if someone did the work, or is a question of not using the vanilla code, for some other code issue?  

0

Share this post


Link to post
Share on other sites

One of the problems I think is how much work you guys put into creating the chisel mechanic, and I love the chisel and use it all the time, don't get me wrong. But most times when building a road or a roof I just wish we had the same vanilla system for slabs and stairs. It works fine for most building projects. Not saying to trash the chisel, it could still be used for thin slabs , microblocks, creating smooth stone etc.. but for regular stairs and half slabs, I would prefer to have a grid recipe, it could even require the chisel in the crafting grid.I guess them the only issue would be item numbers and texture, since the code already exists in vanilla. It is still a huge work, but my question is more around the issue of if this is something that could be implemented if someone did the work, or is a question of not using the vanilla code, for some other code issue?

I tend to agree ...The main reason being the possibility to retrieve the blocks after placing. It just is such a pain if you are building a larger project with slabs or stairs and while looking at the whole picture decide it looks crappy and want to change the whole thing - you lose every single slab/stair.I just recently had this problem - chiseled the whole ceiling of my new house to half slabs, because I find 3 blocks to high and 2 too low. When done I decided that I wanted another wood type that would better fit my planned walls. With vanilla items - absolutely no problem. But here? Either loose stacks over stacks of hard earned wood/stone, or live with a bad decision. This is definitely not ideal.
0

Share this post


Link to post
Share on other sites