<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sun Jan 12 12:19:10 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-8858] Rain goes through upside-down stairs</title>
                <link>https://bugs.mojang.com/browse/MC-8858</link>
                <project id="10400" key="MC">Minecraft: Java Edition</project>
                    <description>&lt;p&gt;Rain will fall through upside-down stairs when they are placed with no blocks above them. Screenshots aren&apos;t as good as I was hoping, but I think the gist of the issue is there. Small graphical bug otherwise.&lt;/p&gt;</description>
                <environment>Windows 8 64-bit, Java 7</environment>
        <key id="22153">MC-8858</key>
            <summary>Rain goes through upside-down 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="TheMoogle">Mog (Ryan Holtz)</assignee>
                                    <reporter username="faskis">Chris</reporter>
                        <labels>
                            <label>rain</label>
                            <label>stairs</label>
                            <label>upside-down</label>
                            <label>water</label>
                    </labels>
                <created>Fri, 1 Feb 2013 00:12:45 +0100</created>
                <updated>Thu, 29 Oct 2015 00:37:09 +0100</updated>
                            <resolved>Mon, 7 Jul 2014 07:58:51 +0200</resolved>
                                    <version>Minecraft 1.4.7</version>
                    <version>Snapshot 13w05a</version>
                    <version>Snapshot 13w09c</version>
                    <version>Snapshot 13w23b</version>
                    <version>Snapshot 13w24a</version>
                    <version>Snapshot 13w24b</version>
                    <version>Snapshot 13w25a</version>
                    <version>Minecraft 1.7.4</version>
                    <version>Minecraft 14w08a</version>
                                    <fixVersion>Minecraft 14w28a</fixVersion>
                                                        <votes>8</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="259368" author="carmen willow" created="Thu, 29 Oct 2015 00:37:09 +0100"  >&lt;p&gt;Hate the new  update where rain leaks through glass blocks and stone blocks. In real life, these materials would be mortared together and would not leak. Why would you make these materials leak in your game?  It really puts a damper (pun intended) on architecture in Minecraft. Now, roofs and things look clunky, Please walk this &quot;update&quot; back a little.&lt;/p&gt;</comment>
                            <comment id="74923" author="phycist1616" created="Tue, 18 Jun 2013 03:11:52 +0200"  >&lt;p&gt;I&apos;m seeing this issue in 13w25a.&lt;/p&gt;

&lt;p&gt;I noticed that the actual rain from the sky isn&apos;t falling through and it doesn&apos;t look the same as water dripping from the underside of a block.  &lt;/p&gt;

&lt;p&gt;It appears to be: &lt;br/&gt;
rain falls on the blocks adjacent to the upside down stair &lt;br/&gt;
droplet bounces &lt;br/&gt;
bounced droplets that splash to the stair block pass through the stair.&lt;/p&gt;

&lt;p&gt;Possibly all that code above describes the issue as accurately, but hopefully this plain language helps straighten it in the non-coders&apos; minds.&lt;/p&gt;</comment>
                            <comment id="49069" author="bugi74" created="Sat, 2 Mar 2013 15:54:03 +0100"  >&lt;p&gt;Affects 13w09c. and 1.4.7.&lt;/p&gt;</comment>
                            <comment id="49064" author="bugi74" created="Sat, 2 Mar 2013 15:51:21 +0100"  >&lt;p&gt;&lt;b&gt;Testing&lt;/b&gt;&lt;br/&gt;
The rain particles have even more issues with top-half slabs and upside down stairs. I traced the reason for the particular case described in this issue, but when testing it on 13w09c (though probably same thing on 1.4.7), I noticed that there are even deeper issues.&lt;/p&gt;

&lt;p&gt;I attached a screenshot showing my test setup (&apos;testing_rain_particles.png&apos;). When moving (move or turn) the reticle so it points on &lt;em&gt;any&lt;/em&gt; of the stone slabs, the rain particles stop showing over &lt;em&gt;all&lt;/em&gt; stone slabs (both left and right). And when moving the reticle over &lt;em&gt;any&lt;/em&gt; of the stairs, the rain particles do not show over &lt;em&gt;all&lt;/em&gt; of the stairs. (Though, there can be rarely a random one over the blocks not showing particles..) Correspondingly, if looking below the stairs, when reticle hits a stair block, the particles can be seen below the stairs, but once the reticle points to something else, no more &quot;leaking&quot; particles.&lt;/p&gt;

&lt;p&gt;See the two other example screenshots (&apos;with_particles.png&apos; and &apos;without_particles.png&apos;) for comparison, and note the reticle aiming point.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Reason&lt;/b&gt;&lt;br/&gt;
A bit of related code:&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;EntityRenderer.addRainParticles()&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;this&lt;/span&gt;.mc.effectRenderer.addEffect(
        &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; EntityRainFX(var3,
            (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) var17 + var22),
            (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) rainFloor + 0.1F) - Block.blocksList[blockId].getBlockBoundsMinY(),
            (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) var18 + var23)));
    ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That getBlockBoundsMinY changes depending on whether the block type is &quot;aimed&quot; or not. This seems to be caused by a bit bad design of reusing those bounds to multiple purposes. Various pieces of code that use the method are supposed to ensure the representative block object has its bounds set to whatever purpose the caller needs. Apparently, in this case the bounds are still set up for something else than what is needed for calculating the rain hit level. (No need to say that this completely prevents multi-threading, too.)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Possible fix&lt;/b&gt;&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    Block block = Block.blocksList[blockId]; &lt;span class=&quot;code-comment&quot;&gt;// ADDED (optimization)
&lt;/span&gt;    block.setBlockBoundsBasedOnState(var3, var17, rainFloor - 1, var18); &lt;span class=&quot;code-comment&quot;&gt;// ADDED (fix)
&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.random.nextInt(var14) == 0) {
        xForSound = (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) var17 + var22);
        &lt;span class=&quot;code-comment&quot;&gt;//yForSound = (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) rainFloor + 0.1F) - block.getBlockBoundsMinY();
&lt;/span&gt;        yForSound = (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) rainFloor + 0.1F) + block.getBlockBoundsMaxY() - 1; &lt;span class=&quot;code-comment&quot;&gt;// FIX
&lt;/span&gt;        zForSound = (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) var18 + var23);
    }

    &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.mc.effectRenderer.addEffect(
        &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; EntityRainFX(var3,
            (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) var17 + var22),
            &lt;span class=&quot;code-comment&quot;&gt;//(&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) rainFloor + 0.1F) - block.getBlockBoundsMinY(),
&lt;/span&gt;            (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) rainFloor + 0.1F) + block.getBlockBoundsMaxY() - 1, &lt;span class=&quot;code-comment&quot;&gt;// FIX
&lt;/span&gt;            (&lt;span class=&quot;code-object&quot;&gt;double&lt;/span&gt;) ((&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;) var18 + var23)));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Basically, added the bounds setup before using them, and also fixed the way it calculates the height (it is the top of the block that defines where the rain drops appear, not the bottom). There is one more spot to fix the same, nearby before, for lava + rain effect (smoke).&lt;/p&gt;

&lt;p&gt;Tested on 1.4.7 and seems to fix things. However, I didn&apos;t test extensively with other blocks; some new issues may appear.&lt;/p&gt;</comment>
                            <comment id="43504" author="kumasasa" created="Mon, 4 Feb 2013 19:52:57 +0100"  >&lt;p&gt;Made some coparison glass to upside down stairs to leaves.&lt;br/&gt;
In the hollow part of the upside down stairs the rain particles can be seen as through glass blocks. Leaves in fact drip very slowly.&lt;/p&gt;

&lt;p&gt;So the summary of the ticket may be &lt;em&gt;Rain particles are visible through upside-down stairs&lt;/em&gt;&lt;/p&gt;</comment>
                            <comment id="43503" author="kumasasa" created="Mon, 4 Feb 2013 19:51:05 +0100"  >&lt;p&gt;Reopened.&lt;/p&gt;</comment>
                            <comment id="43494" author="simons mith" created="Mon, 4 Feb 2013 18:54:36 +0100"  >&lt;p&gt;The animation for rain leaking through upside-down stairs and rain dripping through leaves is different. The stairs actually look leakier IMO. Something is wrong. Please reopen.&lt;/p&gt;

&lt;p&gt;In addition, water (still or running) does NOT drip through anything other than upside-down stairs. I have a test building with normal stairs, upside down stairs, glass blocks, and leaves, and with spring blocks above each. Only the upside-down stairs leak at all! Mac Os 10.5.8. I&apos;ve reported that separately as &lt;a href=&quot;https://bugs.mojang.com/browse/MC-9186&quot; title=&quot;Water does not leak through leaves and regular stairs but upside down stairs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-9186&quot;&gt;&lt;del&gt;MC-9186&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="43490" author="kuubaku" created="Mon, 4 Feb 2013 18:26:19 +0100"  >&lt;p&gt;I don&apos;t think this being marked as WAI is a good decision either.&lt;br/&gt;
In this case stairs do not generate driples but just look penetrable by rain. Penetration stops at lower third level of the block, where raindrops just dissappear. Such penetration also does not occur with upper slabs, fences, closed fence gates and even leaves albeit they all are transparent. Moreover leaves do generate dripples but are not penetrable by raindrops.&lt;/p&gt;</comment>
                            <comment id="43484" author="shufboyardee" created="Mon, 4 Feb 2013 17:59:32 +0100"  >&lt;p&gt;Simon, are you sure there is no still or running water above those upside-down stairs?  Those blocks drip when water is directly above, though I could not reproduce it with rain.&lt;/p&gt;</comment>
                            <comment id="43480" author="simons mith" created="Mon, 4 Feb 2013 17:30:57 +0100"  >&lt;p&gt;Stairs are not leaves. Also, glass is transparent, and &amp;lt;s&amp;gt;water&amp;lt;/s&amp;gt; - correction, rain - does not drip through glass. So there&apos;s an inconsistency in Kumasasa&apos;s explanation, so I don&apos;t think closing as &apos;Works as Intended&apos; is appropriate.&lt;/p&gt;</comment>
                            <comment id="42112" author="kumasasa" created="Fri, 1 Feb 2013 00:50:00 +0100"  >&lt;p&gt;&lt;del&gt;&lt;a href=&quot;http://www.minecraftwiki.net/wiki/Version_history/Development_versions#12w22a&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.minecraftwiki.net/wiki/Version_history/Development_versions#12w22a&lt;/a&gt; Rain will slowly drip through leaves.&lt;/del&gt;&lt;/p&gt;</comment>
                            <comment id="42086" author="banana478" created="Fri, 1 Feb 2013 00:25:30 +0100"  >&lt;p&gt;I thought they went through all blocks, but whatever.&lt;/p&gt;</comment>
                            <comment id="42083" author="kumasasa" created="Fri, 1 Feb 2013 00:24:08 +0100"  >&lt;p&gt;&lt;del&gt;That&apos;s intended.&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Rain goes through transparent blocks (Leaves) and stairs are transparent.&lt;/del&gt;&lt;/p&gt;</comment>
                            <comment id="42079" author="faskis" created="Fri, 1 Feb 2013 00:21:14 +0100"  >&lt;p&gt;Appears to be the rain droplets.&lt;/p&gt;</comment>
                            <comment id="42072" author="banana478" created="Fri, 1 Feb 2013 00:17:09 +0100"  >&lt;p&gt;Is this actual rain or the rain droplets that drip from blocks?&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10102">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="36611">MC-18291</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="78990">MC-52835</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10103">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="12718">MC-1390</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="22730">MC-9186</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="20494" name="2013-01-31_17.01.31.png" size="299083" author="faskis" created="Fri, 1 Feb 2013 00:12:45 +0100"/>
                            <attachment id="20495" name="2013-01-31_17.10.35.png" size="196220" author="faskis" created="Fri, 1 Feb 2013 00:12:45 +0100"/>
                            <attachment id="21052" name="2013-02-04_19.46.20.png" size="1280769" author="kumasasa" created="Mon, 4 Feb 2013 19:53:33 +0100"/>
                            <attachment id="21053" name="2013-02-04_19.46.56.png" size="1023764" author="kumasasa" created="Mon, 4 Feb 2013 19:53:33 +0100"/>
                            <attachment id="32521" name="2013-06-17_15.04.20.png" size="434215" author="phycist1616" created="Tue, 18 Jun 2013 03:13:15 +0200"/>
                            <attachment id="23080" name="testing_rain_particles.png" size="882409" author="bugi74" created="Sat, 2 Mar 2013 15:52:12 +0100"/>
                            <attachment id="23081" name="with_particles.png" size="416300" author="bugi74" created="Sat, 2 Mar 2013 15:52:12 +0100"/>
                            <attachment id="23082" name="without_particles.png" size="426937" author="bugi74" created="Sat, 2 Mar 2013 15:52:13 +0100"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10701" key="com.atlassian.jira.plugin.system.customfieldtypes:datetime">
                        <customfieldname>CHK</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 25 Feb 2014 19:54:00 +0100</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>1.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_11600" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0bld3:</customfieldvalue>

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