<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sun Jan 12 12:20:13 UTC 2025

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Mojang Studios Jira</title>
    <link>https://bugs.mojang.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en</language>    <build-info>
        <version>9.12.2</version>
        <build-number>9120002</build-number>
        <build-date>10-01-2024</build-date>
    </build-info>


<item>
            <title>[MC-9176] Glass panes not correctly rendering with the back of stairs</title>
                <link>https://bugs.mojang.com/browse/MC-9176</link>
                <project id="10400" key="MC">Minecraft: Java Edition</project>
                    <description>&lt;p&gt;When glass panes are placed they do not bind with the full block back of stairs like they should. &lt;/p&gt;</description>
                <environment></environment>
        <key id="22717">MC-9176</key>
            <summary>Glass panes not correctly rendering with the back of stairs</summary>
                <type id="1" iconUrl="https://bugs.mojang.com/secure/viewavatar?size=xsmall&amp;avatarId=18903&amp;avatarType=issuetype">Bug</type>
                                    <status id="5" iconUrl="https://bugs.mojang.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="Excited">Maria Lem&#243;n</assignee>
                                    <reporter username="adamt__0123">Adam Towers</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Feb 2013 15:44:21 +0100</created>
                <updated>Mon, 10 Apr 2017 15:20:58 +0200</updated>
                            <resolved>Mon, 10 Apr 2017 15:20:58 +0200</resolved>
                                    <version>Minecraft 1.4.6</version>
                    <version>Minecraft 1.4.7</version>
                    <version>Snapshot 13w05b</version>
                    <version>Snapshot 13w09a</version>
                    <version>Snapshot 13w09b</version>
                    <version>Snapshot 13w09c</version>
                    <version>Minecraft 1.5</version>
                    <version>Snapshot 13w11a</version>
                    <version>Minecraft 1.5.2</version>
                    <version>Minecraft 1.6.1</version>
                    <version>Minecraft 1.6.2</version>
                    <version>Minecraft 1.7.4</version>
                    <version>Minecraft 14w05b</version>
                    <version>Minecraft 14w34b</version>
                    <version>Minecraft 1.8.1-pre3</version>
                    <version>Minecraft 1.8.6</version>
                    <version>Minecraft 1.8.7</version>
                    <version>Minecraft 1.8.8</version>
                    <version>Minecraft 15w42a</version>
                    <version>Minecraft 15w44b</version>
                    <version>Minecraft 15w45a</version>
                    <version>Minecraft 15w47a</version>
                    <version>Minecraft 15w47c</version>
                    <version>Minecraft 1.9 Pre-Release 2</version>
                    <version>Minecraft 1.10</version>
                    <version>Minecraft 1.10.2</version>
                    <version>Minecraft 16w43a</version>
                    <version>Minecraft 16w44a</version>
                    <version>Minecraft 1.11 Pre-Release 1</version>
                    <version>Minecraft 1.11.2</version>
                    <version>Minecraft 17w06a</version>
                                    <fixVersion>Minecraft 17w15a</fixVersion>
                                                        <votes>21</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="341670" author="chiguai" created="Wed, 9 Nov 2016 15:03:54 +0100"  >&lt;p&gt;still in 1.11 Pre-Release 1&lt;/p&gt;</comment>
                            <comment id="340283" author="chiguai" created="Fri, 4 Nov 2016 14:25:19 +0100"  >&lt;p&gt;still in 16w44a&lt;/p&gt;</comment>
                            <comment id="314740" author="krishatesworld" created="Sat, 18 Jun 2016 23:10:35 +0200"  >&lt;p&gt;Confirmed in 1.10.&lt;/p&gt;</comment>
                            <comment id="287971" author="rydian" created="Sat, 20 Feb 2016 08:17:18 +0100"  >&lt;p&gt;Still happening in 1.9-pre2.&lt;/p&gt;</comment>
                            <comment id="266258" author="rydian" created="Thu, 19 Nov 2015 03:52:18 +0100"  >&lt;p&gt;Still happening in 15w47a.&lt;/p&gt;</comment>
                            <comment id="261969" author="rydian" created="Thu, 5 Nov 2015 18:57:49 +0100"  >&lt;p&gt;Still happening in 15w45a.&lt;/p&gt;</comment>
                            <comment id="260585" author="rydian" created="Sun, 1 Nov 2015 15:20:32 +0100"  >&lt;p&gt;Still happening in 15w44b.&lt;/p&gt;</comment>
                            <comment id="255305" author="rydian" created="Wed, 14 Oct 2015 18:45:26 +0200"  >&lt;p&gt;Still happening in 15w42a.&lt;/p&gt;</comment>
                            <comment id="209272" author="rydian" created="Thu, 20 Nov 2014 10:05:47 +0100"  >&lt;p&gt;Confirmed in 1.8.1-pre5.&lt;/p&gt;</comment>
                            <comment id="203558" author="rydian" created="Wed, 15 Oct 2014 20:51:37 +0200"  >&lt;p&gt;Confirmed in 1.8.1-pre1.&lt;/p&gt;</comment>
                            <comment id="147464" author="garyclosse" created="Sat, 15 Mar 2014 22:35:53 +0100"  >&lt;p&gt;Confirmed for 14w11b&lt;/p&gt;</comment>
                            <comment id="146409" author="garyclosse" created="Wed, 12 Mar 2014 14:10:09 +0100"  >&lt;p&gt;Confirmed for 1.7.5, 14w08a and 14w10c&lt;/p&gt;</comment>
                            <comment id="117292" author="hummumgerr" created="Sun, 3 Nov 2013 03:06:53 +0100"  >&lt;p&gt;I am seeing the same issue in the new 1.7.2 release.&lt;/p&gt;</comment>
                            <comment id="72620" author="purple" created="Mon, 10 Jun 2013 14:19:28 +0200"  >&lt;p&gt;I seriously hope this is not considered to be intended behavior. Voted.&lt;/p&gt;</comment>
                            <comment id="57727" author="mordikins" created="Fri, 29 Mar 2013 00:26:01 +0100"  >&lt;p&gt;Markku wrote a fix... why is this still unresolved?&lt;/p&gt;</comment>
                            <comment id="48834" author="bugi74" created="Fri, 1 Mar 2013 22:26:06 +0100"  >&lt;p&gt;Affects 13w09c.&lt;/p&gt;</comment>
                            <comment id="48472" author="bugi74" created="Thu, 28 Feb 2013 22:19:15 +0100"  >&lt;p&gt;Affects 13w09b.&lt;/p&gt;</comment>
                            <comment id="47100" author="bugi74" created="Fri, 22 Feb 2013 19:19:40 +0100"  >&lt;p&gt;(NOTE: would be best to fix all of this, &lt;a href=&quot;https://bugs.mojang.com/browse/MC-8345&quot; title=&quot;Placing torch on backside of stairs impossible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-8345&quot;&gt;&lt;del&gt;MC-8345&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://bugs.mojang.com/browse/MC-2938&quot; title=&quot;Different types of fences and walls don&amp;#39;t connect&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-2938&quot;&gt;&lt;del&gt;MC-2938&lt;/del&gt;&lt;/a&gt; at the same time; see the &lt;a href=&quot;https://bugs.mojang.com/browse/MC-2938&quot; title=&quot;Different types of fences and walls don&amp;#39;t connect&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-2938&quot;&gt;&lt;del&gt;MC-2938&lt;/del&gt;&lt;/a&gt; for more text.)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Fix&lt;/b&gt;&lt;br/&gt;
The basic reason for the issue is the same as for the &lt;a href=&quot;https://bugs.mojang.com/browse/MC-8345&quot; title=&quot;Placing torch on backside of stairs impossible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-8345&quot;&gt;&lt;del&gt;MC-8345&lt;/del&gt;&lt;/a&gt;; the code does not have own method to check only &lt;em&gt;surfaces&lt;/em&gt; of blocks, so it checks just the full block type, and also typically has some special case handling here and there (like fuj1n explained for this issue).&lt;/p&gt;

&lt;p&gt;To resolve the torches vs. backs of stairs, I added a method to check just for the block&apos;s surface (if it is a full and solid surface). It didn&apos;t directly work for this issue, as it was made just for the torch-stuff at the time. I made the necessary changes to accommodate both issues, and as a side-effect, made the new method work more correctly. (I&apos;ll update the code in the other issue, too.)&lt;/p&gt;

&lt;p&gt;However, I also had to adjust certain method calls in a way that &lt;em&gt;may&lt;/em&gt; have some undesired side-effects. Testing recommended.&lt;/p&gt;

&lt;p&gt;Here are the code changes, using mix of MCP and my own namings:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;Block&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    /**
     * Override as necessary.
     * @param side 1 = bottom, 2 = z+1, 3 = z-1, 4 = x+1, 5 = x-1,  top = 0 or anything &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; that side is solid and full surface
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; hasSolidFullSurfaceAt(IBlockAccess access, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; z, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; side) {
        &lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt; (side) {
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 1: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; access.isBlockNormalCube(x, y, z);
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 2:
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 3:
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 4:
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 5: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; access.isBlockNormalCube(x, y, z);
            &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; access.doesBlockHaveSolidTopSurface(x, y, z);
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;BlockStairs&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; hasSolidFullSurfaceAt(IBlockAccess access, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; z, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; side) {
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; metaData = access.getBlockMetadata(x, y, z);
        &lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt; (side) {
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 1: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (metaData &amp;amp; 4) == 0;
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 2: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (metaData &amp;amp; 3) == 3;
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 3: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (metaData &amp;amp; 3) == 2;
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 4: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (metaData &amp;amp; 3) == 1;
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 5: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (metaData &amp;amp; 3) == 0;
            &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (metaData &amp;amp; 4) == 1; &lt;span class=&quot;code-comment&quot;&gt;// &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; it is upside down
&lt;/span&gt;        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;BlockPane&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; void addCollidingBlockToList(World world, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; z, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) {
&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; north = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(world.getBlockId(x, y, z - 1));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; south = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(world.getBlockId(x, y, z + 1));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; west = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(world.getBlockId(x - 1, y, z));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; east = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(world.getBlockId(x + 1, y, z));
&lt;/span&gt;        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; north = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(world, x, y, z, 3);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; south = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(world, x, y, z, 2);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; west = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(world, x, y, z, 5);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; east = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(world, x, y, z, 4);
        ...

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; void setBlockBoundsBasedOnState(IBlockAccess blockAccess, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; z) {
        ...
&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; north = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(blockAccess.getBlockId(x, y, z - 1));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; south = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(blockAccess.getBlockId(x, y, z + 1));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; west = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(blockAccess.getBlockId(x - 1, y, z));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; east = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(blockAccess.getBlockId(x + 1, y, z));
&lt;/span&gt;        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; north = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(blockAccess, x, y, z, 3);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; south = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(blockAccess, x, y, z, 2);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; west = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(blockAccess, x, y, z, 5);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; east = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canPaneAtConnectToDir(blockAccess, x, y, z, 4);
        ...

    /**
     * ADDED METHOD.
     * @param dir 1 = bottom, 2 = z+1, 3 = z-1, 4 = x+1, 5 = x-1,  top = 0 or anything &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; canPaneAtConnectToDir(IBlockAccess access, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; z, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; dir) {
        &lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt; (dir) {
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 2: { z++; &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;; }
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 3: { z--; &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;; }
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 4: { x++; &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;; }
            &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 5: { x--; &lt;span class=&quot;code-keyword&quot;&gt;break&lt;/span&gt;; }
            &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
        }
        
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; blockId = access.getBlockId(x, y, z);
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.canThisPaneConnectToThisBlockID(blockId)) &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;; &lt;span class=&quot;code-comment&quot;&gt;// Old check
&lt;/span&gt;        &lt;span class=&quot;code-comment&quot;&gt;// ADDED CHECK (compared to old operation), THE CORE OF THIS FIX:
&lt;/span&gt;        Block block = Block.blocksList[blockId];
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (block == &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; block.hasSolidFullSurfaceAt(access, x, y, z, dir);
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;RenderBlocks.renderBlockPane()&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        ...
&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; north = par1BlockPane.canThisPaneConnectToThisBlockID(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.blockAccess.getBlockId(x, y, z - 1));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; south = par1BlockPane.canThisPaneConnectToThisBlockID(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.blockAccess.getBlockId(x, y, z + 1));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; west = par1BlockPane.canThisPaneConnectToThisBlockID(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.blockAccess.getBlockId(x - 1, y, z));
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; east = par1BlockPane.canThisPaneConnectToThisBlockID(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.blockAccess.getBlockId(x + 1, y, z));
&lt;/span&gt;        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; north = blockPane.canPaneAtConnectToDir(blockAccess, x, y, z, 3);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; south = blockPane.canPaneAtConnectToDir(blockAccess, x, y, z, 2);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; west = blockPane.canPaneAtConnectToDir(blockAccess, x, y, z, 5);
        &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; east = blockPane.canPaneAtConnectToDir(blockAccess, x, y, z, 4);
        ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I tested changes on 1.4.7, results as in the screenshot. (Though the torches need also the &lt;a href=&quot;https://bugs.mojang.com/browse/MC-8345&quot; title=&quot;Placing torch on backside of stairs impossible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-8345&quot;&gt;&lt;del&gt;MC-8345&lt;/del&gt;&lt;/a&gt; fixes applied, too.)&lt;/p&gt;</comment>
                            <comment id="47097" author="bugi74" created="Fri, 22 Feb 2013 18:55:13 +0100"  >&lt;p&gt;Sample screenshot &apos;fixed-panes-stairs.png&apos; showing both torches attached and glass panes connected to backside of stair blocks. Code fixes incoming.&lt;/p&gt;</comment>
                            <comment id="47046" author="bugi74" created="Fri, 22 Feb 2013 14:16:43 +0100"  >&lt;p&gt;Exactly like fuj1n explains. And that is the part I&apos;m going to &quot;attack&quot;. I&apos;ll add similar smartness as in the torch placement bug. Just it wasn&apos;t as trivial to apply to this issue as to the other one, due to some design decisions/architecture hiccups. I&apos;m still at work, but I&apos;ll get to this later today.&lt;/p&gt;</comment>
                            <comment id="47033" author="fuj1n" created="Fri, 22 Feb 2013 10:38:36 +0100"  >&lt;p&gt;The reason why glass panes connect to the above blocks is that they are hard-coded to do so, the glass panes has been intentionally programmed to not connect to transparent blocks, and have a few exceptions (eg. if(par1IBlockAccess.isBlockSolid(par2 - 1, par3, par4) || par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == Block.glass.blockId){ } this is just a simple example).&lt;/p&gt;</comment>
                            <comment id="47030" author="simons mith" created="Fri, 22 Feb 2013 09:12:28 +0100"  >&lt;p&gt;I&apos;m very much with MArkku here. And would those who use the excuse that stairs are transparent kindly explain why glass panes /do/ join to leaves, glass blocks and glowstone, all of which are classed as transparent blocks?&lt;/p&gt;</comment>
                            <comment id="46933" author="bugi74" created="Thu, 21 Feb 2013 21:18:58 +0100"  >&lt;p&gt;The above is the explanation (=excuse) &lt;em&gt;why&lt;/em&gt; they are not connected with the current code, but does not mean they are not &lt;em&gt;intended&lt;/em&gt; to connect. See, for example, &lt;a href=&quot;https://bugs.mojang.com/browse/MC-8345&quot; title=&quot;Placing torch on backside of stairs impossible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-8345&quot;&gt;&lt;del&gt;MC-8345&lt;/del&gt;&lt;/a&gt;. The issue can be fixed to work as players would expect.&lt;/p&gt;

&lt;p&gt;(Seems I had already bookmarked this issue so I&apos;d try fixing it, but haven&apos;t had yet time to get into it.)&lt;/p&gt;

&lt;p&gt;Edit: I took a look at it, and using the changes from &lt;a href=&quot;https://bugs.mojang.com/browse/MC-8345&quot; title=&quot;Placing torch on backside of stairs impossible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-8345&quot;&gt;&lt;del&gt;MC-8345&lt;/del&gt;&lt;/a&gt;, this can be fixed somewhat easily. Unfortunately, easy doesn&apos;t equal to little work; certain change must be propagated through a bunch of classes, which means too much work for this night. Alternately, certain methods can be changed a tiny bit, but that would in turn require a lot of testing (to not break something else), &lt;em&gt;or&lt;/em&gt;, a bunch of code could be copied and adapted to this specific case, but that is just bad coding style.&lt;/p&gt;

&lt;p&gt;Hmm.. looks like lots of the code to be copied in that last choice has already duplication in it, so it might actually give a decent result after some combining and cleanup. Have to have a better look at this... perhaps tomorrow.&lt;/p&gt;</comment>
                            <comment id="46925" author="rydian" created="Thu, 21 Feb 2013 21:03:56 +0100"  >&lt;p&gt;... because stairs are transparent.&lt;/p&gt;</comment>
                            <comment id="43470" author="bljat" created="Mon, 4 Feb 2013 16:28:28 +0100"  >&lt;p&gt;Glass panes, fences and iron bars do not connect to stairs.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10102">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="48010">MC-28022</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="82616">MC-56099</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="93325">MC-65836</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="95673">MC-68101</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10103">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="21264">MC-8345</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="24582">MC-10613</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="14814">MC-2938</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="21024" name="2013-02-04_20.00.05.png" size="42700" author="adamt__0123" created="Mon, 4 Feb 2013 15:46:16 +0100"/>
                            <attachment id="22236" name="fixed-panes-stairs.png" size="442127" author="bugi74" created="Fri, 22 Feb 2013 18:55:13 +0100"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10701" key="com.atlassian.jira.plugin.system.customfieldtypes:datetime">
                        <customfieldname>CHK</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sat, 25 Jul 2015 19:31:00 +0200</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10500" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Confirmation Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10303"><![CDATA[Confirmed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_11700" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_11100" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Linked</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_11600" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0gifj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>