<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sat Jan 11 15:24:41 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-19818] Chunk can&apos;t be refreshed completely when client receives a new chunk data</title>
                <link>https://bugs.mojang.com/browse/MCPE-19818</link>
                <project id="10200" key="MCPE">Minecraft (Bedrock codebase)</project>
                    <description>&lt;p&gt;Hi! I&apos;m a Minecraft PE server developer.&lt;br/&gt;
In general, chunk should be fully refreshed when client receives a new chunk data. But I found that those empty chunk sections that server doesn&apos;t send can&apos;t be refreshed, they&apos;re just like before.&lt;br/&gt;
Can you fix this bug asap?&lt;br/&gt;
I&apos;m looking forward to your reply.&lt;/p&gt;</description>
            <key id="160915">MCPE-19818</key>
            <summary>Chunk can&apos;t be refreshed completely when client receives a new chunk data</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="Scallop110">Scallop Ye</reporter>
                        <labels>
                    </labels>
                <created>Sun, 22 Jan 2017 02:27:13 +0100</created>
                <updated>Tue, 14 Feb 2017 11:06:04 +0100</updated>
                            <resolved>Tue, 14 Feb 2017 11:06:04 +0100</resolved>
                                    <version>1.0.2</version>
                                    <fixVersion>1.0.4.0</fixVersion>
                                                        <votes>12</votes>
                                    <watches>9</watches>
                                                                            <comments>
                            <comment id="355653" author="od1g1man" created="Tue, 24 Jan 2017 14:57:56 +0100"  >&lt;p&gt;Wow... that teleport trick &lt;em&gt;is&lt;/em&gt; neat. Works amazingly, although the issue with shaking due to being in unloaded chunks still exists. Solution: teleport player far away from target, send chunks in target, teleport player to target. Works a treat. Thank you!&lt;/p&gt;</comment>
                            <comment id="355648" author="nicke.olofsson@gmail.com" created="Tue, 24 Jan 2017 14:19:46 +0100"  >&lt;p&gt;Earlier version, when teleporting player outside of chunks, it started shaking violently. That might not be the case now so that might work to force the client to &quot;clear&quot;. Need to test that. But otherwise, sending null-chunks is not too bad a solution since they are sent in batch, and are very small. We used that trick earlier to force the dimension-loading-screens to show up during world-transfers.&lt;/p&gt;</comment>
                            <comment id="355645" author="talaeus" created="Tue, 24 Jan 2017 14:04:23 +0100"  >&lt;p&gt;If you want to clear all chunks you could just teleport the player somewhere else and send new chunks as usual.&lt;/p&gt;</comment>
                            <comment id="355641" author="od1g1man" created="Tue, 24 Jan 2017 13:36:47 +0100"  >&lt;p&gt;In case it helps anyone out, the hack I&apos;m using to work around this issue is to send a null chunk to clear the area, before sending actual chunks when changing worlds. &lt;/p&gt;

&lt;p&gt;To clear a column, just send a chunk packet with 1 byte in the chunk data: count of subchunks you want to overwrite, and the client will extrapolate a stack of empty subchunks from that.&lt;/p&gt;

&lt;p&gt;It&apos;s not ideal, since unless your server-side tracking of used chunks is absolutely perfect (which it definitely isn&apos;t in PocketMine) the issue may still occur occasionally, but it &lt;em&gt;does&lt;/em&gt; work. It also lags the hell out of the client.&lt;/p&gt;</comment>
                            <comment id="355636" author="nicke.olofsson@gmail.com" created="Tue, 24 Jan 2017 13:11:57 +0100"  >&lt;p&gt;I can confirm that MiNET also suffer from this issue. So not just a PocketMine problem for anyone thinking it is related to the server-code.&lt;/p&gt;</comment>
                            <comment id="355630" author="talaeus" created="Tue, 24 Jan 2017 12:01:15 +0100"  >&lt;p&gt;Ah, now I understand the issue better.&lt;/p&gt;

&lt;p&gt;Right now it could be considered a third party bug. But we do want third party servers to exist, and the packet is supposed to (at the moment) replace an entire chunk. This bug causes a chunk to not be replaced completely in some cases.&lt;/p&gt;</comment>
                            <comment id="355621" author="thebigsmilexd" created="Tue, 24 Jan 2017 11:21:06 +0100"  >&lt;p&gt;&amp;gt; I would love some attention to this issue.&lt;br/&gt;
like always.&lt;/p&gt;

&lt;p&gt;In my oppinion this should be maked as third party bug. Realms seems not to be affected by this. Also the way PMMP changes the world on level change is hacky. MCPE itself only has those world changes when going to another dimension, you have the loading screen, done. PMMP: change position and send chunks.&lt;/p&gt;</comment>
                            <comment id="355614" author="od1g1man" created="Tue, 24 Jan 2017 10:56:32 +0100"  >&lt;p&gt;For reference, this ought to be a normal flat world.&lt;/p&gt;</comment>
                            <comment id="355613" author="od1g1man" created="Tue, 24 Jan 2017 10:47:59 +0100"  >&lt;p&gt;I would love some attention to this issue.&lt;/p&gt;

&lt;p&gt;To sum it up, my issue is that sending a chunk column with less subchunks in it than the original, does not remove the higher subchunks from the original chunk client-side. I had to add a hack to PocketMine-MP by sending a chunk column full of air to forcefully overwrite the old subchunks before sending the new column. It works, but obviously not very effectively.&lt;/p&gt;</comment>
                            <comment id="355608" author="talaeus" created="Tue, 24 Jan 2017 09:33:47 +0100"  >&lt;p&gt;No, but probably later.&lt;/p&gt;

&lt;p&gt;edit: If there is a bug that is. I still haven&apos;t tried to reproduce it. I haven&apos;t heard that this is an actual problem from other server developers.&lt;/p&gt;</comment>
                            <comment id="355502" author="scallop110" created="Mon, 23 Jan 2017 10:18:36 +0100"  >&lt;p&gt;Yes, it&apos;s that problem exactly. Can you fix this bug in next version?&lt;/p&gt;</comment>
                            <comment id="355500" author="talaeus" created="Mon, 23 Jan 2017 10:05:26 +0100"  >&lt;p&gt;I didn&apos;t fully understand the issue. Are you sending a FullChunk packet (id 58), but the client doesn&apos;t rebuild previously empty subchunks?&lt;/p&gt;

&lt;p&gt;(for what it matters, I consider this a real bug in the client, because we do want to support third-party servers doing stuff like that)&lt;/p&gt;</comment>
                            <comment id="355491" author="scallop110" created="Mon, 23 Jan 2017 06:49:49 +0100"  >&lt;p&gt;First of all, PMMP is never the only server software in the world. However, whatever software you use, you will meet this problem. Secondly, what server software can do is sending packets. As a result, it is hard to fix client-side issue with hacks. This will result in making the client unstable and breaking the cleanliness of the codes of the server. For player&apos;s interests, please fix.&lt;/p&gt;</comment>
                            <comment id="355377" author="spaneboswell101" created="Sun, 22 Jan 2017 13:38:23 +0100"  >&lt;p&gt;The issue is with pocketmine or whatever custom pmmp you are using, mcpe code has very little to do with servers.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="132688" name="flat.png" size="616075" author="od1g1man" created="Tue, 24 Jan 2017 10:56:32 +0100"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_11500" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>ADO</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>55371</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10701" key="com.atlassian.jira.plugin.system.customfieldtypes:datetime">
                        <customfieldname>CHK</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 24 Jan 2017 16:08:00 +0100</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10500" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Confirmation Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10302"><![CDATA[Community Consensus]]></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="10713"><![CDATA[Phone - Android - Huawei Honor (Specify in description)]]></customfieldvalue>

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

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