<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sat Jan 11 15:07:49 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>[MCPE-15476] Stuck pistons stay stuck forever</title>
                <link>https://bugs.mojang.com/browse/MCPE-15476</link>
                <project id="10200" key="MCPE">Minecraft (Bedrock codebase)</project>
                    <description>&lt;p&gt;Steps to reproduce :&lt;br/&gt;
-Power a piston while it is stuck, then remove the block that blocked it&lt;br/&gt;
OR&lt;br/&gt;
-Build this flying machine&lt;/p&gt;

&lt;p&gt;What I expected to happen :&lt;br/&gt;
-Since nothing blocks the piston and it is powered, it should extend&lt;/p&gt;

&lt;p&gt;What would happen in PC edition (probably unintended)&lt;br/&gt;
-The piston would stay stuck until receiving a block update&lt;/p&gt;

&lt;p&gt;What happened :&lt;br/&gt;
-There&apos;s no way to extend the piston without removing the redstone block&lt;/p&gt;

&lt;p&gt;Maybe this is intended, but it is :&lt;br/&gt;
-Very bug-like&lt;br/&gt;
-Not QC&lt;br/&gt;
-Super annoying for flying machines (worse than the removal of QC)&lt;/p&gt;

&lt;p&gt;A theoretical way to update unstuck pistons without slow useless updates :&lt;br/&gt;
-When a piston is stuck, go to the block or blocks that blocked it (up to 12 blocks) and those blocks &quot;remember&quot; they blocked the piston&lt;br/&gt;
-When a block changes, it looks at the list of pistons it blocked and updates them.&lt;/p&gt;</description>
            <key id="143850">MCPE-15476</key>
            <summary>Stuck pistons stay stuck forever</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>
                                            <reporter username="azelef">Azelef</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Jun 2016 15:40:07 +0200</created>
                <updated>Mon, 23 Jan 2017 10:51:50 +0100</updated>
                            <resolved>Wed, 20 Jul 2016 07:06:11 +0200</resolved>
                                    <version>0.15.1 Beta 1</version>
                    <version>0.15.1</version>
                    <version>0.15.2</version>
                                    <fixVersion>0.15.3</fixVersion>
                                                        <votes>2</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="321436" author="vincent294" created="Wed, 20 Jul 2016 09:34:44 +0200"  >&lt;p&gt;Thanks for typing all that out, the only thing I&apos;m waiting for now is Microsoft to distribute the patch. My piston stone generator doesn&apos;t rely on things happening at the exact same time, so I&apos;m good.&lt;/p&gt;</comment>
                            <comment id="321435" author="talaeus" created="Wed, 20 Jul 2016 09:24:41 +0200"  >&lt;p&gt;Previously we had some code in place that tried to optimize this so it didn&apos;t have to recheck all the time, but that was apparently a bit broken (it&apos;s hard to do without cluttering down everything). The fix was just to remove that optimization. Now if a piston got power, it will check the push conditions every tick (redstone tick) regardless if it could do it before or not. It will require more performance on the host/server, but that&apos;s something we have to live with until we can provide an optimization that&apos;s bug free.&lt;/p&gt;

&lt;p&gt;Randomness: This fix had nothing to do with randomess. However, pistons (and all other ticking block entities like hoppers) do depend on their ticking order (if two pistons push the same block from different angles in the exact same tick, only the first ticked will activate). In 0.15.2 this order was undefined*, while now it&apos;s randomized every tick. We&apos;ve had many discussions here around how to make the order stable and dependable, but we haven&apos;t got to any conclusion yet. In the meantime, it&apos;s random so no one can depend on any order.&lt;/p&gt;

&lt;p&gt;*&lt;b&gt;) Undefined order&lt;/b&gt;&lt;br/&gt;
In technical terms all block entities are stored in a non-ordered hashmap per chunk. When playing and no block entities are placed, the order would be stable (meaning it&apos;s the same order every tick). However, when placing new block entities in the same chunk the hashmap sometimes needs to grow when it&apos;s getting full (this depends on the platform, in the development platform it grows when it reaches 64 block entities). When it grows all entries in it will be shuffled, and thus the order will change.&lt;/p&gt;

&lt;p&gt;They were generally ticked in the same order that they were placed (up until the hashmap had to grow). This meant that users could start to depend on it, and then get frustrated when the order suddenly changed if they placed too many in the same chunk. With the added randomness in the ticking order, users have to make machines that work with any ticking order (delay one of the pistons with 1 tick). Those machines will not break regardless of the amount of block entities added, and they will not break if we later figure out a way to order them properly.&lt;/p&gt;</comment>
                            <comment id="321432" author="azelef" created="Wed, 20 Jul 2016 08:22:12 +0200"  >&lt;p&gt;Yep. I wonder how the fix was implemented, because it is lag free, but seems to have some degree of randomness (or maybe pistons are inherently random).&lt;/p&gt;</comment>
                            <comment id="321418" author="plantseed" created="Wed, 20 Jul 2016 05:50:58 +0200"  >&lt;p&gt;This was fixed in 0.15.3.&lt;/p&gt;</comment>
                            <comment id="320701" author="azelef" created="Wed, 13 Jul 2016 12:40:35 +0200"  >&lt;p&gt;Of course ! Due to &lt;a href=&quot;https://bugs.mojang.com/browse/MCPE-14769&quot; title=&quot;Entities warp everywhere upon reloading the world.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MCPE-14769&quot;&gt;&lt;del&gt;MCPE-14769&lt;/del&gt;&lt;/a&gt;, I have tons of villagers in the ocean, in my base, and in every place where NPCs aren&apos;t supposed to go. Thers are like 40 NPCs reafy to be sacrificed. Once the fix is added to an actual version.&lt;/p&gt;

&lt;p&gt;I have a testworld with my reported bugs to see if they are still in every version, but updating every report one by one is quite tedious, so I only do it when asked to.&lt;/p&gt;</comment>
                            <comment id="320677" author="vincent294" created="Wed, 13 Jul 2016 08:43:05 +0200"  >&lt;p&gt;Do you accept human sacrifices? In all seriousness, why has this taken so long? Will we see it next update? And thanks for fixing this.&lt;br/&gt;
Edit: Affects 15.2 would be good to add.&lt;/p&gt;</comment>
                            <comment id="320669" author="depressed-pho" created="Wed, 13 Jul 2016 07:54:41 +0200"  >&lt;p&gt;Maybe a Mojangle temple?&lt;/p&gt;</comment>
                            <comment id="315717" author="azelef" created="Wed, 22 Jun 2016 10:37:59 +0200"  >&lt;p&gt;One of the bugs I reported got fixed ! I found faith. Where do I convert to Mojangism ?&lt;/p&gt;</comment>
                            <comment id="315689" author="talaeus" created="Wed, 22 Jun 2016 08:05:39 +0200"  >&lt;p&gt;Bah, non-believer! I pushed a fix for it ~4 hours after the comment. &lt;img class=&quot;emoticon&quot; src=&quot;https://bugs.mojang.com/images/icons/emoticons/tongue.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="315503" author="azelef" created="Tue, 21 Jun 2016 17:22:21 +0200"  >&lt;p&gt;Yay, a direct answer from a developer (I bet you aren&apos;t the developer who will have to fix it &lt;img class=&quot;emoticon&quot; src=&quot;https://bugs.mojang.com/images/icons/emoticons/tongue.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;)!&lt;/p&gt;</comment>
                            <comment id="315384" author="talaeus" created="Tue, 21 Jun 2016 08:07:41 +0200"  >&lt;p&gt;Confirmed a bug.&lt;/p&gt;

&lt;p&gt;Azelef: There you go. &lt;img class=&quot;emoticon&quot; src=&quot;https://bugs.mojang.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="315126" author="azelef" created="Mon, 20 Jun 2016 16:42:22 +0200"  >&lt;p&gt;Agreed. @PlantSeed : &quot;This has been confirmed by a developer that it&apos;s a bug, not an intended behavior.&quot; Where ?&lt;/p&gt;</comment>
                            <comment id="315122" author="depressed-pho" created="Mon, 20 Jun 2016 16:31:45 +0200"  >&lt;p&gt;I think this is the same bug as &lt;a href=&quot;https://bugs.mojang.com/browse/MCPE-15606&quot; title=&quot;Powered piston not extending if it was previously blocked&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MCPE-15606&quot;&gt;&lt;del&gt;MCPE-15606&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10102">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="142201">MCPE-14632</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="144069">MCPE-15606</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="146226">MCPE-16134</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10103">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="144069">MCPE-15606</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="144071">MCPE-15607</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="119967" name="Screenshot_2016-06-15-15-05-24.png" size="950658" author="azelef" created="Wed, 15 Jun 2016 15:40:07 +0200"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10500" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Confirmation Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Unconfirmed]]></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_10402" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Platform</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10121"><![CDATA[ Android ]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11600" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i069a7:</customfieldvalue>

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