Mo Glass is a Minecraft mod that adds glass stairs and glass slabs, including stained and tinted glass variants. They look great in any build and connect seamlessly with vanilla glass blocks. The mod is available for many different Minecraft versions, including snapshots.
(This assumes that you are using Windows with Eclipse and Java Development Kit 21 already installed.)
-
Clone / download the repository.
-
Run these two commands in PowerShell:
./gradlew.bat --stop ./gradlew.bat genSources eclipse
-
In Eclipse, go to
Import...
>Existing Projects into Workspace
and select this project.
- Glass Slabs!
- Glass Stairs!
- Stained Glass Slabs! (since v1.3)
- Stained Glass Stairs! (since v1.3)
- Tinted Glass Slabs! (since v1.6)
- Tinted Glass Stairs! (since v1.6)
- Working Transparency! (see below)
- Working Translucency! (for tinted glass)
Both the stairs and the slabs are see-through in the same way as vanilla glass blocks. You can place multiple stairs, slabs and full blocks next to each other and they will look like a single piece of glass.
Slabs and stairs made from tinted glass will block light if you place them without any air gaps, or let the light through if there is a gap.
Before I started making this mod, I always thought that Mojang just forgot about these blocks, or that they were too lazy to add them. But now that I've added these blocks myself and spent many hours to get the transparency to work, I think I finally understand why Mojang didn't bother. Minecraft's stairs are surprisingly complex blocks and they were never meant to be made transparent. Slabs might be easy enough, but I think if Mojang added those then people wouldn't stop asking for the stairs. And glass stairs are an absolute nightmare to make.
Stairs can be placed facing North, East, South or West, they can be upside-down or right-side-up, they can be straight or curved in one of four different ways and they have six faces that may or may not be transparent, depending on what block is next to them. But here's the catch: On each of those six faces, there could be another block of glass stairs that can also be placed facing North, East, South or West, upside-down or right-side-up and either straight or curved in one of four different ways. And then of course, on each of the six faces there could also be a non-transparent block, a regular glass block or a glass slab that is either placed on the bottom half, top half, or is a double slab.
In the end, there are 10800 possible scenarios that need to be accounted for just to calculate transparency of glass stairs. But then you also have to calculate the transparency of glass slabs (810 possible scenarios) and adjust the transparency calculation of regular glass blocks (270 possible scenarios, or 258 more than before).*
That's a lot of effort just to add two new blocks to the game - and a lot of opportunities for new bugs to sneak in. That, I think, is why Mojang didn't bother.
*Here's how I got those numbers: (click to expand)
possible variations of stairs: pvStairs = 4 * 2 * 5 = 40
possible variations of slabs: pvSlabs = 3
possible variations of glass blocks: pvGlass = 1
possible variations of non-transparent blocks: pvBlocks = 1 (because any variations would be ignored when calculating transparency)
possible combinations combined: pvAll = pvStairs + pvSlabs + pvGlass + pvBlocks = 40 + 3 + 1 + 1 = 45
possibly transparent faces of a block (including stairs, even though they have more faces): f = 6
possible scenarios for transparency of stairs: psStairs = pvAll * f * pvStairs = 45 * 6 * 40 = 10800
possible scenarios for transparency of slabs: psSlabs = pvAll * f * pvSlabs = 45 * 6 * 3 = 810
possible scenarios for transparency of glass blocks: psGlass = pvAll * f * pvGlass = 45 * 6 * 1 = 270
possible scenarios for transparency of glass blocks if glass stairs and slabs don't exist: psGlassVanilla = (pvGlass + pvBlocks) * f * pvGlass = (1 + 1) * 6 * 1 = 12
- Chinese (Simplified) (since v1.2)
- Chinese (Traditional) (since v1.2)
- English (US) (since v1.0)
- French (France) (since v1.6)
- German (Germany) (since v1.2)
- Italian (Italy) (since v1.6)
- Japanese (Japan) (since v1.7)
- Oshiwambo (Oshindonga) (since v1.5)
- Oshiwambo (Oshikwanyama) (since v1.5)
- Portuguese (Brazil) (since v1.7)
- Russian (Russia) (since v1.5)
- Spanish (Argentina) (since v1.4)
- Spanish (Chile) (since v1.4)
- Spanish (Ecuador) (since v1.4)
- Spanish (Spain) (since v1.4)
- Spanish (Mexico) (since v1.4)
- Spanish (Uruguay) (since v1.4)
- Spanish (Venezuela) (since v1.4)