<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sun Jan 12 11:50:08 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-180] When reaching the other side of a nether portal the animation plays forever until stepped out of</title>
                <link>https://bugs.mojang.com/browse/MC-180</link>
                <project id="10400" key="MC">Minecraft: Java Edition</project>
                    <description>&lt;h3&gt;&lt;a name=&quot;Infoforsnapshotvideocreators&quot;&gt;&lt;/a&gt;Info for snapshot video creators&lt;/h3&gt;
&lt;p&gt;Here are two gifs which can be used to compare the two versions of the nether portal exit animation:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Correct animation, used up until 1.2.5 (broke in 1.3.1 snapshot 12w18a) and is now used again as of 1.20-pre1: &lt;a href=&quot;https://cdn.discordapp.com/attachments/399390463930400778/1097153888597069844/1point2point5-netherportal-anim.gif&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://cdn.discordapp.com/attachments/399390463930400778/1097153888597069844/1point2point5-netherportal-anim.gif&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Incorrect animation, used from 12w34a to 23w18a and now fixed as of 1.20-pre1: &lt;a href=&quot;https://cdn.discordapp.com/attachments/399390463930400778/1097156653687787692/1point19point4-netherportal-anim.gif&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://cdn.discordapp.com/attachments/399390463930400778/1097156653687787692/1point19point4-netherportal-anim.gif&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Note that the &quot;Entering the Nether&quot; message being absent in modern versions is a separate bug and is not yet fixed (&lt;a href=&quot;https://bugs.mojang.com/browse/MC-12789&quot; title=&quot;&amp;quot;Entering the Nether&amp;quot; and &amp;quot;Entering the End&amp;quot; messages haven&amp;#39;t appeared since 1.3&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-12789&quot;&gt;MC-12789&lt;/a&gt;). The absence of inner faces in nether portal blocks is also a completely separate issue (&lt;a href=&quot;https://bugs.mojang.com/browse/MC-262512&quot; title=&quot;Nether portals are invisible from within&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-262512&quot;&gt;&lt;del&gt;MC-262512&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Thebug&quot;&gt;&lt;/a&gt;The bug&lt;/h3&gt;
&lt;p&gt;When you reach the other side of a nether portal the animation plays forever until you step out of it, even in creative. The animation is completely unnecessary here.&lt;br/&gt;
This bug first appeared in 1.4 snapshot 12w34a - versions 12w32a and earlier are completely unaffected (but many are affected by &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;I&apos;d recommend fixing this and &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt; at the same time. A table explaining the expected behaviour can be found here: &lt;a href=&quot;https://minecraft.fandom.com/wiki/Java_Edition_1.3.1/List_of_broken_features#Nether_portal_exit_animation&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://minecraft.fandom.com/wiki/Java_Edition_1.3.1/List_of_broken_features#Nether_portal_exit_animation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refer to Ismael Rosillo&apos;s code analysis below for how these issues can be fixed (and why &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt; cannot be considered a duplicate of this issue).&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Howtoreproduce&quot;&gt;&lt;/a&gt;How to reproduce&lt;/h3&gt;
&lt;ol&gt;
	&lt;li&gt;Build a nether portal&lt;/li&gt;
	&lt;li&gt;Enter it&lt;/li&gt;
	&lt;li&gt;Stay in the exit portal&lt;/li&gt;
	&lt;li&gt;The animation will start playing when it shouldn&apos;t&lt;/li&gt;
&lt;/ol&gt;
</description>
                <environment></environment>
        <key id="11429">MC-180</key>
            <summary>When reaching the other side of a nether portal the animation plays forever until stepped out of</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="elvendorke">[Mojang] elvendorke</assignee>
                                    <reporter username="Awesoman3000">Connor Steppie</reporter>
                        <labels>
                            <label>nether_portal</label>
                            <label>overlay</label>
                    </labels>
                <created>Wed, 24 Oct 2012 22:29:21 +0200</created>
                <updated>Sun, 15 Oct 2023 16:28:48 +0200</updated>
                            <resolved>Wed, 10 May 2023 12:35:16 +0200</resolved>
                                    <version>Minecraft 1.4.1</version>
                    <version>Minecraft 1.4.2</version>
                    <version>Minecraft 1.4.3</version>
                    <version>Minecraft 1.4.4</version>
                    <version>Minecraft 1.4.5</version>
                    <version>Snapshot 12w50b</version>
                    <version>Snapshot 13w02b</version>
                    <version>Snapshot 13w03a</version>
                    <version>Minecraft 1.5</version>
                    <version>Snapshot 13w11a</version>
                    <version>Minecraft 1.5.1</version>
                    <version>Snapshot 13w16a</version>
                    <version>Minecraft 1.5.2</version>
                    <version>Minecraft 1.6.1</version>
                    <version>Minecraft 1.6.2</version>
                    <version>Minecraft 13w38a</version>
                    <version>Minecraft 13w38b</version>
                    <version>Minecraft 13w38c</version>
                    <version>Minecraft 13w42b</version>
                    <version>1.15.2</version>
                    <version>20w14a</version>
                    <version>20w15a</version>
                    <version>20w21a</version>
                    <version>1.16 Pre-release 2</version>
                    <version>20w27a</version>
                    <version>20w28a</version>
                    <version>20w29a</version>
                    <version>20w30a</version>
                    <version>1.16.2 Pre-release 1</version>
                    <version>1.16.3</version>
                    <version>1.16.4 Pre-release 2</version>
                    <version>1.16.4</version>
                    <version>20w46a</version>
                    <version>20w48a</version>
                    <version>20w49a</version>
                    <version>20w51a</version>
                    <version>21w03a</version>
                    <version>1.16.5</version>
                    <version>21w05a</version>
                    <version>21w05b</version>
                    <version>21w06a</version>
                    <version>21w07a</version>
                    <version>21w08b</version>
                    <version>21w11a</version>
                    <version>21w14a</version>
                    <version>21w15a</version>
                    <version>21w17a</version>
                    <version>21w20a</version>
                    <version>1.17 Pre-release 1</version>
                    <version>1.17</version>
                    <version>1.17.1 Release Candidate 1</version>
                    <version>1.17.1</version>
                    <version>21w37a</version>
                    <version>21w39a</version>
                    <version>21w41a</version>
                    <version>21w42a</version>
                    <version>1.18.1</version>
                    <version>1.18.2</version>
                    <version>22w15a</version>
                    <version>1.19</version>
                    <version>1.19.1</version>
                    <version>1.19.2</version>
                    <version>1.19.3</version>
                    <version>23w03a</version>
                    <version>23w04a</version>
                    <version>23w07a</version>
                    <version>1.19.4</version>
                    <version>23w14a</version>
                    <version>23w17a</version>
                                    <fixVersion>1.20 Pre-release 1</fixVersion>
                                                        <votes>108</votes>
                                    <watches>29</watches>
                                                                            <comments>
                            <comment id="1256096" author="JIRAUSER740526" created="Wed, 10 May 2023 23:15:11 +0200"  >&lt;p&gt;fixed!&lt;/p&gt;</comment>
                            <comment id="1255971" author="awesoman3000" created="Wed, 10 May 2023 15:18:19 +0200"  >&lt;p&gt;I can confirm that this bug, &lt;a href=&quot;https://bugs.mojang.com/browse/MC-193749&quot; title=&quot;Nether portals play the trigger sound again when the other dimension is loaded&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-193749&quot;&gt;&lt;del&gt;MC-193749&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt; are all fixed in 1.20-pre1. &lt;a href=&quot;https://bugs.mojang.com/browse/MC-12789&quot; title=&quot;&amp;quot;Entering the Nether&amp;quot; and &amp;quot;Entering the End&amp;quot; messages haven&amp;#39;t appeared since 1.3&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-12789&quot;&gt;MC-12789&lt;/a&gt;, however, does not seem to be.&lt;/p&gt;</comment>
                            <comment id="1255969" author="JIRAUSER469734" created="Wed, 10 May 2023 15:01:54 +0200"  >&lt;p&gt;IT WAS FIXED!! YAY&lt;/p&gt;</comment>
                            <comment id="1254625" author="isrosillo14" created="Wed, 3 May 2023 12:57:19 +0200"  >&lt;p&gt;Can confirm in 23w17a. It would be a please that the code analysis became added to the bug description.&lt;/p&gt;</comment>
                            <comment id="1249693" author="isrosillo14" created="Sun, 9 Apr 2023 17:02:04 +0200"  >&lt;p&gt;This comment is an extensive &lt;b&gt;bug (and code) analysis&lt;/b&gt; of the fifth oldest persisting issue, along with a working and fully tested workaround (fix), so this comment will be split in different categories.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;What%40ConnorSteppieMeantwithMC217613&quot;&gt;&lt;/a&gt;What @Connor Steppie Meant with &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Then, we have &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt; which indeed is (and it&apos;s not) a duplicate of this, depending on the point of view; Connor Steppie means that &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt; is the bug that refers to the lack of a slow-to-stop animation for the portal (it happened for the first time in 12w18a), while &lt;a href=&quot;https://bugs.mojang.com/browse/MC-180&quot; title=&quot;When reaching the other side of a nether portal the animation plays forever until stepped out of&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-180&quot;&gt;&lt;del&gt;MC-180&lt;/del&gt;&lt;/a&gt; refers to the visual &quot;re-trigger&quot; of the portal (it happenned for the first time in 12w34a). It&apos;s like these two bugs have been &quot;stacked&quot; or that they are &quot;sister bugs&quot;, because they represent a very similar issue.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;CodeAnalysis&quot;&gt;&lt;/a&gt;Code Analysis&lt;/h3&gt;

&lt;p&gt;Here, a bit of history of the code that worked, using Mojang&apos;s mapping names for this analysis:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;1. Prior to 12w18a, it only worked on singleplayer, as the whole world was client. This is because the method we now call &lt;tt&gt;LocalPlayer.handleNetherPortalClient()&lt;/tt&gt; (was part of &lt;tt&gt;aiStep()&lt;/tt&gt; back then) handled the whole teleportation and then used the &quot;distortion fade out&quot; behaviour using field &lt;tt&gt;LocalPlayer.portalTime&lt;/tt&gt;. The code below is a recreation of the sourcecode present in 12w17a, using mojang names and my own ones.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&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;
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;class &lt;/span&gt;LocalPlayer &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Player {
 ...
&#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; void aiStep() {
&#160; &#160; &#160;...
&#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.oPortalTime = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime;

&#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.isInsidePortal) {
&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.isClientSide &amp;amp;&amp;amp; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.vehicle != &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.startRiding((Entity)&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;);
&#160; &#160; &#160; &#160; &#160; &#160;}

&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.screen != &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.setScreen((Screen)&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;);
&#160; &#160; &#160; &#160; &#160; &#160;}

&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime == 0.0F) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.soundManager.play(&lt;span class=&quot;code-quote&quot;&gt;&quot;portal.trigger&quot;&lt;/span&gt;, 1.0F, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.random.nextFloat() * 0.4F + 0.8F);
&#160; &#160; &#160; &#160; &#160; &#160;}

&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime += 0.0125F;

           &lt;span class=&quot;code-comment&quot;&gt;//START OF CODE REMOVED IN 12w18a
&lt;/span&gt;&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime &amp;gt;= 1.0F) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime = 1.0F;

&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.isClientSide) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalCooldown = 10;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.soundManager.play(&lt;span class=&quot;code-quote&quot;&gt;&quot;portal.travel&quot;&lt;/span&gt;, 1.0F, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.random.nextFloat() * 0.4F + 0.8F);
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-object&quot;&gt;byte&lt;/span&gt; newDimension = 0;

&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.dimension == -1) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;newDimension = 0;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;newDimension = -1;
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;}

  &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.changeDimension(newDimension);
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.takeAchievement(Achievements.portal);
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;}
&#160; &#160; &#160; &#160; &#160; &#160;}
           &lt;span class=&quot;code-comment&quot;&gt;//END OF REMOVED CODE
&lt;/span&gt;
&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.isInsidePortal = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
&#160; &#160; &#160; &#160;} &lt;span class=&quot;code-keyword&quot;&gt;else&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;.hasEffect(MobEffects.CONFUSION) &amp;amp;&amp;amp; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.getEffect(MobEffects.CONFUSION).getDuration() &amp;gt; 60) {
&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime += 0.006666667F;

&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime &amp;gt; 1.0F) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime = 1.0F;
&#160; &#160; &#160; &#160; &#160; &#160;}
&#160; &#160; &#160; &#160;} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime &amp;gt; 0.0F) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime -= 0.05F;
&#160; &#160; &#160; &#160; &#160; &#160;}

&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime &amp;lt; 0.0F) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime = 0.0F;
&#160; &#160; &#160; &#160; &#160; &#160;}
&#160; &#160; &#160; &#160;}

  &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalCooldown &amp;gt; 0) {&lt;span class=&quot;code-comment&quot;&gt;//old equivalent to Entity.processPortalCooldown()
&lt;/span&gt;&#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalCooldown--;
&#160; &#160; &#160; &#160;}
&#160; &#160; &#160;...
&#160; &#160;}
 &#160;...
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;2. After the changes made in 12w18a, the code described above was completely removed without adding a replacement, causing the unwanted behavior described in &lt;a href=&quot;https://bugs.mojang.com/browse/MC-217613&quot; title=&quot;Nether portal animation does not slow to a stop on the other side&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-217613&quot;&gt;&lt;del&gt;MC-217613&lt;/del&gt;&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;3. In 12w34a, the way nether portals were handled by entities was changed internally, causing the actual behavior where the animation plays forever.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Note in the code that method &lt;tt&gt;this.minecraft.changeDimension(newDimension)&lt;/tt&gt; was also removed from Minecraft.java and also it was forgotten to be re-added for the client listener, causing &lt;a href=&quot;https://bugs.mojang.com/browse/MC-12789&quot; title=&quot;&amp;quot;Entering the Nether&amp;quot; and &amp;quot;Entering the End&amp;quot; messages haven&amp;#39;t appeared since 1.3&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-12789&quot;&gt;MC-12789&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;WorkaroundandFix&quot;&gt;&lt;/a&gt;Workaround and Fix&lt;/h3&gt;

&lt;p&gt;After the client-server singleplayer split up, the game switched to fully use the network system, and the source code described in history would not be able to just be copied and pasted, however, it&apos;s still useful for reference.&lt;/p&gt;

&lt;p&gt;A possible way to fix this is to let the client know when a dimension change was caused by a nether portal to set the proper animation.&lt;/p&gt;

&lt;p&gt;But first, we are going to head to &lt;tt&gt;LocalPlayer.java&lt;/tt&gt; and add a new method (named &lt;tt&gt;justPostalTraveled()&lt;/tt&gt; in this example), that will prevent the player to enter to the in-portal state, and set the Animation/Portal Effect at 100%. This will make the player think it&apos;s just exiting a portal and will decrease the Animation/Portal Effect at every &lt;tt&gt;aiStep()-&amp;gt;handleNetherPortalClient()&lt;/tt&gt; (This would also fix &lt;a href=&quot;https://bugs.mojang.com/browse/MC-193749&quot; title=&quot;Nether portals play the trigger sound again when the other dimension is loaded&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-193749&quot;&gt;&lt;del&gt;MC-193749&lt;/del&gt;&lt;/a&gt;). Now there&apos;s a problem with the animation effect: the animation starts before the Downloading Terrain screen is gone, causing the animation to be gone at the time or shortly after the game is rendering the world. To fix this, we are gonna make &lt;tt&gt;handleNetherPortalClient()&lt;/tt&gt; know when it should progress the animation using a check. The end result is shown here in the code:&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;
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;class &lt;/span&gt;LocalPlayer &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; AbstractClientPlayer {
 ...
&#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; void handleNetherPortalClient() {
&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.oPortalTime = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime;
&#160; &#160; &#160; &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; shouldStatusProgress = !(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.screen &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; ReceivingLevelScreen);

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.isInsidePortal) {
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.screen != &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; &amp;amp;&amp;amp; !&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.screen.isPauseScreen() &amp;amp;&amp;amp; !(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.screen &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; DeathScreen) &amp;amp;&amp;amp; shouldStatusProgress) {
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.screen &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; AbstractContainerScreen) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.closeContainer();
&#160; &#160; &#160; &#160; &#160; &#160; }

&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.setScreen((Screen)&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;);
&#160; &#160; &#160; &#160; &#160;}

&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime == 0.0F) {
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.getSoundManager().play(SimpleSoundInstance.forLocalAmbience(SoundEvents.PORTAL_TRIGGER, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.random.nextFloat() * 0.4F + 0.8F, 0.25F));
&#160; &#160; &#160; &#160; &#160;}

&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime += 0.0125F;
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.isInsidePortal = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
&#160; &#160; &#160; } &lt;span class=&quot;code-keyword&quot;&gt;else&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;.hasEffect(MobEffects.CONFUSION) &amp;amp;&amp;amp; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.getEffect(MobEffects.CONFUSION).getDuration() &amp;gt; 60) {
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime += 0.006666667F;
&#160; &#160; &#160; } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (shouldStatusProgress) {
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime &amp;gt; 0.0F) {
&#160; &#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime -= 0.05F;
&#160; &#160; &#160; &#160; &#160;}
&#160; &#160; &#160; }

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime = Mth.clamp(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime, 0.0F, 1.0F);

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (shouldStatusProgress) {
&#160; &#160; &#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.processPortalCooldown();
&#160; &#160; &#160; }
&#160; &#160;}

&#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; void justPortalTraveled() {
&#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.isInsidePortal = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
&#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.oPortalTime = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.portalTime = 1.0F;
&#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.setPortalCooldown();
&#160; &#160;}
 ...
} &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In other hand, we need to use this new method somewhere, and returning to the second paragraph, we&apos;ll make the client know when the player used a portal. I added a condition at the packet &lt;tt&gt;ClientboundRespawnPacket.java&lt;/tt&gt; and I called it &lt;tt&gt;boolean fromPortal&lt;/tt&gt;. It will also be read and written to the packet.&lt;/p&gt;

&lt;p&gt;The change is quite obvious so I will not show the end result for that. Instead we are going to make this fix fully efective. At the &lt;tt&gt;ClientPacketListener.java&lt;/tt&gt;&#160;at method &lt;tt&gt;handleRespawn()&lt;/tt&gt;, after the player is being initialized and &quot;adjusted&quot;, let&apos;s check whether if the player came from a portal (using the previously added &lt;tt&gt;fromPortal&lt;/tt&gt; field) to call for &lt;tt&gt;justPortalTraveled()&lt;/tt&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;
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;class &lt;/span&gt;ClientPacketListener &lt;span class=&quot;code-keyword&quot;&gt;implements&lt;/span&gt; TickablePacketListener, ClientGamePacketListener {
&#160;...
&#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; void handleRespawn(ClientboundRespawnPacket p_105066_) {
&#160; &#160; &#160; ...
&#160; &#160; &#160; localplayer1.resetPos();
&#160; &#160; &#160; localplayer1.setServerBrand(s);
&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.addPlayer(i, localplayer1);
&#160; &#160; &#160; localplayer1.setYRot(-180.0F);
&#160; &#160; &#160; localplayer1.input = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; KeyboardInput(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.options);
&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.gameMode.adjustPlayer(localplayer1);
&#160; &#160; &#160; localplayer1.setReducedDebugInfo(localplayer.isReducedDebugInfo());
&#160; &#160; &#160; localplayer1.setShowDeathScreen(localplayer.shouldShowDeathScreen());
&#160; &#160; &#160; localplayer1.setLastDeathLocation(p_105066_.getLastDeathLocation());

  &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (packet.isPortalTravel()) {
&#160; &#160; &#160; &#160; &#160;localplayer.justPortalTraveled();
&#160; &#160; &#160; }

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.screen &lt;span class=&quot;code-keyword&quot;&gt;instanceof&lt;/span&gt; DeathScreen) {
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.setScreen((Screen)&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;);
&#160; &#160; &#160; }

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.gameMode.setLocalMode(p_105066_.getPlayerGameType(), p_105066_.getPreviousPlayerGameType());
&#160; &#160;}
&#160;...
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The &lt;tt&gt;fromPortal&lt;/tt&gt; field should be true only when we are sure that the player is naturally changing from dimensions, like in &lt;tt&gt;ServerPlayer.changeDimension(ServerLevel)&lt;/tt&gt;, which is triggered only when the player is joing to change dimensions throught portals.&lt;/p&gt;

&lt;p&gt;However, this fix didn&apos;t always work; in certain cases that i couldn&apos;t determine, the glitched animation played intead. That left me confused for a while until I found an alternative to this fix.&lt;/p&gt;

&lt;p&gt;The new fix comes from the same concept of letting the player know whether or not the dimension travel was a because of a portal, but splitting &lt;tt&gt;ClientboundRespawnPacket.java&lt;/tt&gt;&apos;s dimension change function into &lt;tt&gt;ClientboundDimensionTravelPacket.java&lt;/tt&gt;. This new packet didn&apos;t create a new player instance and will reuse the previous one. I&apos;m sure of something; that the previous fix did not work because the player could have lost some data. This new fix has worked at the 100% of tests. This is the new dimension travel packet handler:&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;
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;class &lt;/span&gt;ClientPacketListener &lt;span class=&quot;code-keyword&quot;&gt;implements&lt;/span&gt; TickablePacketListener, ClientGamePacketListener {
&#160;...
&#160; &#160;@Override
&#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; void handleDimensionTravel(ClientboundDimensionTravelPacket packet) {
&#160; &#160; &#160; PacketUtils.ensureRunningOnSameThread(packet, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft);
&#160; &#160; &#160; Holder&amp;lt;DimensionType&amp;gt; holder = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.registryAccess.compositeAccess().registryOrThrow(Registries.DIMENSION_TYPE).getHolderOrThrow(packet.getDimensionType());
&#160; &#160; &#160; LocalPlayer localplayer = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.player;
&#160; &#160; &#160; ResourceKey&amp;lt;Level&amp;gt; newDimension = packet.getDimension();
&#160; &#160; &#160; ResourceKey&amp;lt;Level&amp;gt; oldDimension = localplayer.level.dimension();

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (newDimension != oldDimension) {
&#160; &#160; &#160; &#160; &#160;Scoreboard scoreboard = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.getScoreboard();
&#160; &#160; &#160; &#160; &#160;Map&amp;lt;&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;, MapItemSavedData&amp;gt; map = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.getAllMapData();
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; flag = packet.isDebug();
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; flag1 = packet.isFlat();
&#160; &#160; &#160; &#160; &#160;ClientLevel.ClientLevelData clientlevel$clientleveldata = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ClientLevel.ClientLevelData(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.levelData.getDifficulty(), &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.levelData.isHardcore(), flag1);
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.levelData = clientlevel$clientleveldata;
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ClientLevel(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;, clientlevel$clientleveldata, newDimension, holder, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.serverChunkRadius, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.serverSimulationDistance, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft::getProfiler, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.levelRenderer, flag, packet.getSeed());
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.setScoreboard(scoreboard);
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.addMapData(map);
&#160; &#160; &#160; &#160; &#160;Component title;

&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (newDimension == Level.OVERWORLD) {&lt;span class=&quot;code-comment&quot;&gt;//&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; is exta code from my mod, it fixes MC-12789
&lt;/span&gt;&#160; &#160; &#160; &#160; &#160; &#160; &#160;ResourceLocation resourcelocation = oldDimension.location();
&#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; s = resourcelocation.toLanguageKey(&lt;span class=&quot;code-quote&quot;&gt;&quot;dimension&quot;&lt;/span&gt;);
&#160; &#160; &#160; &#160; &#160; &#160; &#160;title = Component.translatable(&lt;span class=&quot;code-quote&quot;&gt;&quot;menu.leavingDimension&quot;&lt;/span&gt;, Language.getInstance().has(s) ? Component.translatable(s) : Component.literal(resourcelocation.toString()));
&#160; &#160; &#160; &#160; &#160;} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
&#160; &#160; &#160; &#160; &#160; &#160; &#160;ResourceLocation resourcelocation = newDimension.location();
&#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; s = resourcelocation.toLanguageKey(&lt;span class=&quot;code-quote&quot;&gt;&quot;dimension&quot;&lt;/span&gt;);
&#160; &#160; &#160; &#160; &#160; &#160; &#160;title = Component.translatable(&lt;span class=&quot;code-quote&quot;&gt;&quot;menu.enteringDimension&quot;&lt;/span&gt;, Language.getInstance().has(s) ? Component.translatable(s) : Component.literal(resourcelocation.toString()));
&#160; &#160; &#160; &#160; &#160;}

&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.setLevel(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level, &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ReceivingLevelScreen(title));
&#160; &#160; &#160; &#160; &#160;localplayer.fishing = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;;&lt;span class=&quot;code-comment&quot;&gt;//This a fix &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; an issue that happened in one of my tests. Since the player instance is not a &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; one and because the client doesn&lt;span class=&quot;code-quote&quot;&gt;&apos;t unload entities from previous level (yeah client worlds work like that) and the player doesn&apos;&lt;/span&gt;t to check &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; the fishing rod is a valid entity to unset it, I had to put that here.
&lt;/span&gt;
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (packet.isPortalTravel()) {
&#160; &#160; &#160; &#160; &#160; &#160; &#160;localplayer.justPortalTraveled();
&#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.getSoundManager().play(SimpleSoundInstance.forLocalAmbience(SoundEvents.PORTAL_TRAVEL, &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.random.nextFloat() * 0.4F + 0.8F, 0.25F));
&#160; &#160; &#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-comment&quot;&gt;//You can see the portal travel sound playing from here and not from levelEvent() because with &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; fix we no longer really need to use another packet (I removed the level event 1032 as well)
&lt;/span&gt;&#160; &#160; &#160; &#160; &#160;}
&#160; &#160; &#160; }

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (localplayer.hasContainerOpen()) {
&#160; &#160; &#160; &#160; &#160;localplayer.closeContainer();
&#160; &#160; &#160; }

&#160; &#160; &#160; localplayer.setLevel(&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level);

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (newDimension != oldDimension) {
&#160; &#160; &#160; &#160; &#160;&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.minecraft.getMusicManager().stopPlaying();
&#160; &#160; &#160; }

&#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.level.addPlayer(localplayer.getId(), localplayer);
&#160; &#160;}
&#160;...
} &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Well I hope my fix is clear to understand, if not, or if there are any questions, feel free to ask &lt;img class=&quot;emoticon&quot; src=&quot;https://bugs.mojang.com/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; It&apos;s time to get this fixed&lt;/p&gt;</comment>
                            <comment id="1245629" author="mattp_12" created="Tue, 21 Mar 2023 02:24:00 +0100"  >&lt;p&gt;Confirmed for 1.19.4.&lt;/p&gt;</comment>
                            <comment id="1239609" author="JIRAUSER558998" created="Wed, 22 Feb 2023 00:18:20 +0100"  >&lt;p&gt;Can confirm in 23w07a.&lt;/p&gt;</comment>
                            <comment id="1234883" author="JIRAUSER734481" created="Wed, 1 Feb 2023 17:03:46 +0100"  >&lt;p&gt;Can confirm in 23w06a&lt;/p&gt;</comment>
                            <comment id="1233481" author="JIRAUSER734481" created="Wed, 25 Jan 2023 08:19:05 +0100"  >&lt;p&gt;Can confirm in 23w04a&lt;/p&gt;</comment>
                            <comment id="1221690" author="JIRAUSER734481" created="Wed, 18 Jan 2023 15:22:55 +0100"  >&lt;p&gt;Can confirm in 23w03a&lt;/p&gt;</comment>
                            <comment id="1206577" author="JIRAUSER500090" created="Thu, 20 Oct 2022 18:10:20 +0200"  >&lt;p&gt;It makes sense that your vision hasn&apos;t fully recovered because you&apos;re still in a portal between dimensions.&lt;/p&gt;</comment>
                            <comment id="1190128" author="JIRAUSER566325" created="Sat, 6 Aug 2022 20:52:56 +0200"  >&lt;p&gt;Can confirm in 1.19.2.&lt;/p&gt;</comment>
                            <comment id="1187369" author="JIRAUSER566325" created="Thu, 28 Jul 2022 15:02:39 +0200"  >&lt;p&gt;Can confirm in 1.19.1.&lt;/p&gt;</comment>
                            <comment id="1186010" author="cultist_o" created="Mon, 25 Jul 2022 01:53:23 +0200"  >&lt;p&gt;@HubbiGamingTV the expected behaviour is not to keep teleporting again without leaving the portal. The expected behaviour would be for the portal animation not to play once through, or for it to play in reverse. &lt;/p&gt;

&lt;p&gt;The problem is: it looks like you&apos;re going to teleport again when you aren&apos;t. (Even worse, the animation keeps getting wonkier until you can&apos;t even see what&apos;s going on.) The recommended solution is to make the visual cues match what&apos;s happening, not to change the teleportation behaviour.&lt;/p&gt;

&lt;p&gt;So it should play the wind up animation when you first enter the portal, then, once you&apos;re through the portal, it should either not play an animation, or play a wind down animation (ending in no animation)&lt;/p&gt;</comment>
                            <comment id="1185717" author="JIRAUSER670809" created="Sun, 24 Jul 2022 00:11:25 +0200"  >&lt;p&gt;you can only go throgh a portal once without stopping out because otherwise you&#160; would travel from dimension to dimension for infinity loading and unloading chunks quickly. if many players did that it would cause massive lagg thats why.&lt;/p&gt;</comment>
                            <comment id="1170249" author="JIRAUSER566325" created="Wed, 8 Jun 2022 14:25:12 +0200"  >&lt;p&gt;Can confirm in 1.19.&lt;/p&gt;</comment>
                            <comment id="1144819" author="JIRAUSER566325" created="Wed, 2 Mar 2022 14:38:01 +0100"  >&lt;p&gt;Can confirm in 1.18.2.&lt;/p&gt;</comment>
                            <comment id="1134681" author="JIRAUSER566325" created="Sat, 8 Jan 2022 16:29:48 +0100"  >&lt;p&gt;Can confirm in 1.18.1.&lt;/p&gt;</comment>
                            <comment id="1095631" author="JIRAUSER648933" created="Sat, 23 Oct 2021 16:04:05 +0200"  >&lt;p&gt;Can confirm in 21w42a.&lt;/p&gt;</comment>
                            <comment id="1089484" author="JIRAUSER648933" created="Wed, 13 Oct 2021 19:23:27 +0200"  >&lt;p&gt;Can confirm in 21w41a.&lt;/p&gt;</comment>
                            <comment id="1081257" author="JIRAUSER648933" created="Wed, 29 Sep 2021 20:12:29 +0200"  >&lt;p&gt;Can confirm in 21w39a.&lt;/p&gt;</comment>
                            <comment id="1072882" author="JIRAUSER648933" created="Fri, 17 Sep 2021 02:12:08 +0200"  >&lt;p&gt;Can confirm in 21w37a.&lt;/p&gt;</comment>
                            <comment id="1029634" author="JIRAUSER648933" created="Sun, 4 Jul 2021 19:21:48 +0200"  >&lt;p&gt;Can confirm in 1.17.1 Release Candidate 1.&lt;/p&gt;</comment>
                            <comment id="1017058" author="JIRAUSER566325" created="Wed, 16 Jun 2021 20:53:39 +0200"  >&lt;p&gt;Can confirm in 1.17.&lt;/p&gt;</comment>
                            <comment id="983510" author="JIRAUSER566325" created="Fri, 30 Apr 2021 14:45:27 +0200"  >&lt;p&gt;Can confirm in 21w17a.&lt;/p&gt;</comment>
                            <comment id="975639" author="JIRAUSER566325" created="Mon, 19 Apr 2021 12:44:00 +0200"  >&lt;p&gt;Can confirm in 21w15a.&lt;/p&gt;</comment>
                            <comment id="970398" author="JIRAUSER566325" created="Mon, 12 Apr 2021 11:21:00 +0200"  >&lt;p&gt;Can confirm in 21w14a.&lt;/p&gt;</comment>
                            <comment id="948188" author="vladim&#237;r" created="Thu, 18 Mar 2021 21:39:03 +0100"  >&lt;p&gt;And 1.16.5.&lt;/p&gt;</comment>
                            <comment id="947707" author="JIRAUSER566325" created="Thu, 18 Mar 2021 10:50:04 +0100"  >&lt;p&gt;Can confirm in 21w11a.&lt;/p&gt;</comment>
                            <comment id="933426" author="bugsbugsbugs" created="Sun, 28 Feb 2021 17:34:54 +0100"  >&lt;p&gt;Attached a video showing how it used to work in 1.3.2. &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://bugs.mojang.com/secure/attachment/384397/384397_MC-180+how+it+used+to+work+in+1.3.2.mp4&quot; title=&quot;MC-180 how it used to work in 1.3.2.mp4 attached to MC-180&quot;&gt;MC-180 how it used to work in 1.3.2.mp4&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://bugs.mojang.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;</comment>
                            <comment id="925997" author="JIRAUSER566325" created="Thu, 18 Feb 2021 19:32:34 +0100"  >&lt;p&gt;Can confirm in 21w07a.&lt;/p&gt;</comment>
                            <comment id="918192" author="JIRAUSER566325" created="Wed, 10 Feb 2021 19:29:59 +0100"  >&lt;p&gt;Can confirm in 21w06a.&lt;/p&gt;</comment>
                            <comment id="912603" author="JIRAUSER566325" created="Thu, 4 Feb 2021 19:22:00 +0100"  >&lt;p&gt;Can confirm in 21w05b.&lt;/p&gt;</comment>
                            <comment id="911285" author="JIRAUSER566325" created="Wed, 3 Feb 2021 20:04:51 +0100"  >&lt;p&gt;Can confirm in 21w05a.&lt;/p&gt;</comment>
                            <comment id="883182" author="JIRAUSER566325" created="Thu, 24 Dec 2020 11:54:48 +0100"  >&lt;p&gt;Can confirm in 20w51a.&lt;/p&gt;</comment>
                            <comment id="863454" author="JIRAUSER584236" created="Tue, 15 Dec 2020 17:12:58 +0100"  >&lt;p&gt;I&apos;ve been playing minecraft since 1.2 in 2012 and this is has consistently happened. The animation is triggered by you being in the portal, not you being in the act of teleportation.&lt;/p&gt;</comment>
                            <comment id="854872" author="JIRAUSER566325" created="Wed, 2 Dec 2020 20:28:24 +0100"  >&lt;p&gt;Can confirm in 20w49a.&lt;/p&gt;</comment>
                            <comment id="849411" author="JIRAUSER566325" created="Wed, 25 Nov 2020 20:18:21 +0100"  >&lt;p&gt;Can confirm for 20w48a.&lt;/p&gt;</comment>
                            <comment id="763231" author="farogaming" created="Mon, 13 Jul 2020 12:05:58 +0200"  >&lt;p&gt;Just because it&apos;s an old bug with portals? Or did you find a deeper reason why they&apos;re related?&lt;/p&gt;</comment>
                            <comment id="110936" author="rancore202" created="Sat, 12 Oct 2013 04:39:44 +0200"  >&lt;p&gt;This actually looked the way some people here are asking for, way back when in Beta, as I recall.&lt;/p&gt;</comment>
                            <comment id="96768" author="zambonifofex" created="Fri, 2 Aug 2013 18:43:38 +0200"  >&lt;p&gt;it&apos;s an old bug, it didn&apos;t started in 1.4 you probably haven&apos;t noticied because you exit the portal right way. Sorry for my bad english im brazilian.&lt;/p&gt;</comment>
                            <comment id="85939" author="purple" created="Mon, 8 Jul 2013 12:52:53 +0200"  >&lt;p&gt;Then you probably started playing minecraft after 1.4 was released, right?&lt;/p&gt;</comment>
                            <comment id="75792" author="deepicness12345" created="Fri, 21 Jun 2013 00:41:37 +0200"  >&lt;p&gt;I&apos;ve been experiencing this since forever.&lt;/p&gt;</comment>
                            <comment id="59622" author="cultist_o" created="Wed, 10 Apr 2013 15:26:13 +0200"  >&lt;p&gt;I completely agree that it is counter intuitive, and that it implies you are about to be teleported. Furthermore, if you stand in the portal too long (because of lag, or something) it can make it very difficult to leave portals that have blocks or holes beside them, that would be easy to leave were this not the case.&lt;/p&gt;</comment>
                            <comment id="53347" author="mistersanderson" created="Fri, 15 Mar 2013 01:48:41 +0100"  >&lt;p&gt;Reversing the intensity would be awesome!&lt;/p&gt;</comment>
                            <comment id="46880" author="eleazzaar" created="Thu, 21 Feb 2013 19:04:35 +0100"  >&lt;p&gt;The problem is that there is no difference between standing in a portal, which will soon teleport you, and standing in a portal that will not.  The effect is the same.  The effect going from low levels to high levels of waviness strongly implies that something is powering up and about to happen.&lt;/p&gt;

&lt;p&gt;If you come through a portal, and realize you want to go back (due to monsters, wrong destination, forgot something, etc.) and you move away and immediately back there&apos;s no way to tell if the portal is actually ramping up to teleport you or not.&lt;/p&gt;

&lt;p&gt;Similarly if you don&apos;t want to go through a portal, but are sticking close to it for some reason (maybe hiding behind the obsidian from a ghast) you cant&apos; easily tell if you&apos;ve briefly moved too far away and the portal is actually going to send you somewhere.&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;In short the wavy effect currently only provides the information: &quot;you are standing in a portal&quot;.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;But it would be more informative if it meant, and players tend to expect it to mean: &quot;you are about to be teleported&quot;.&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;To make this clear when arriving through a portal, when it isn&apos;t going to send you anywhere, the waving effect could reverse it self (from maximum to minimum) or it could wave at a constant moderate level.&lt;/p&gt;</comment>
                            <comment id="39898" author="duker" created="Sat, 26 Jan 2013 01:19:12 +0100"  >&lt;p&gt;You travel instantly in creative mode Ben, that is very much intended.&lt;/p&gt;</comment>
                            <comment id="39858" author="aleksandair" created="Fri, 25 Jan 2013 22:01:44 +0100"  >&lt;p&gt;The same bug in snapshot 13w04a&lt;/p&gt;

&lt;p&gt;What&apos;s supposed to happen :&lt;br/&gt;
1-enter the nether portal&lt;br/&gt;
2-wait the animation&lt;br/&gt;
3-teleport to the nether&lt;br/&gt;
4-play bare-handed tennis with ghasts&lt;/p&gt;

&lt;p&gt;What&apos;s happening :&lt;br/&gt;
1-enter the nether portal&lt;br/&gt;
2-instant teleportation to the nether wihtout the animation&lt;br/&gt;
3-after your arrival, the animation start and don&apos;t stop as long as you stay in the portal&lt;br/&gt;
4-be pretty confused&lt;/p&gt;

&lt;p&gt;I think the cause is within the mobs-teleportation-to-the-nether-feature&lt;/p&gt;</comment>
                            <comment id="34068" author="purple" created="Mon, 7 Jan 2013 21:21:10 +0100"  >&lt;p&gt;If I understand correct you mean that this didn&apos;t happen in any version other than 1.3.2 and 1.4.2 ?&lt;/p&gt;

&lt;p&gt;1.4.6&lt;br/&gt;
&lt;a href=&quot;http://youtu.be/imviP8S-biE&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://youtu.be/imviP8S-biE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1.3.2&lt;br/&gt;
&lt;a href=&quot;http://youtu.be/w734yujyAGo&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://youtu.be/w734yujyAGo&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="33901" author="firehunterx" created="Mon, 7 Jan 2013 05:51:02 +0100"  >&lt;p&gt;This DID happen in 1.4.2 AND 1.3.2.&lt;/p&gt;</comment>
                            <comment id="26807" author="shufboyardee" created="Thu, 6 Dec 2012 17:25:50 +0100"  >&lt;p&gt;It is counterintuitive, and because of that, just a bit disorienting; stepping into a portal has an increasing swirly animation, so when I appear in the nether I sort of do expect a decreasing swirly animation, instead of the swirls starting at zero and ramping up again.  Happens in 1.4.5.&lt;/p&gt;</comment>
                            <comment id="24830" author="banana478" created="Sun, 25 Nov 2012 15:43:50 +0100"  >&lt;p&gt;I think this was introduced in one of the 1.4 snapshots. Perhaps portals are just nauseating whether or not you teleport.&lt;/p&gt;</comment>
                            <comment id="24705" author="theant" created="Sun, 25 Nov 2012 03:36:12 +0100"  >&lt;p&gt;This has happened to me since Beta. &lt;/p&gt;</comment>
                            <comment id="24095" author="purple" created="Thu, 22 Nov 2012 11:06:43 +0100"  >&lt;p&gt;This is not an intended feature, unless you have proof that it is. Also it did not happen in previous versions. And finally since the portal is not going to teleport the player back why would the teleportation animation start? So it is a bug. It doesn&apos;t make any sense otherwise. &lt;/p&gt;

&lt;p&gt;EDIT: I&apos;ve played minecraft 1.2.4 , 1.2.5 , 1.3.1 and 1.3.2 before 1.4.2 and it didn&apos;t occur. I&apos;ve never used any mod or texture pack other than the default.&lt;/p&gt;</comment>
                            <comment id="23752" author="banana478" created="Tue, 20 Nov 2012 23:26:08 +0100"  >&lt;p&gt;This doesn&apos;t affect gameplay, so it isn&apos;t a bug. Please resolve.&lt;/p&gt;</comment>
                            <comment id="23751" author="purple" created="Tue, 20 Nov 2012 23:20:35 +0100"  >&lt;p&gt;It won&apos;t teleport you back. Why don&apos;t you just try it and see for yourself.&lt;/p&gt;</comment>
                            <comment id="23019" author="theant" created="Sun, 18 Nov 2012 21:18:58 +0100"  >&lt;p&gt;Well, maybe it should teleport you back to the nether if you stand in the arrival portal for that long.&lt;/p&gt;</comment>
                            <comment id="22790" author="duker" created="Sun, 18 Nov 2012 03:45:03 +0100"  >&lt;p&gt;This used to only happen in multiplayer-servers, but with the code merge... yeah. The problem is NOT the texture animating, that makes perfect sense, the problem is the nauseating warping of the world that going on at the same time.&lt;/p&gt;</comment>
                            <comment id="21522" author="purple" created="Wed, 14 Nov 2012 20:39:05 +0100"  >&lt;p&gt;Saskia this is not affected by pc specs or creation of new chunks. It happens even no new chunks are about to be created. Enter a nether portal and wait to be transferes to the other end. When that happens, don&apos;t move out of the portal. The animation is going start as if you are about to be teleported again, but you won&apos;t.&lt;/p&gt;</comment>
                            <comment id="21274" author="cyrave" created="Tue, 13 Nov 2012 19:34:52 +0100"  >&lt;p&gt;I have a one year old gaming high end pc. And i have to add to this point: this happens mostly while spawning new biomes that arent already on the discovered minecraft map. I have also an issue.. it kinda lacks. Especially in multiplayer games. But hey.. my pc works it out fine in the end. what kind of pc configuration do you guys have? (RAM; GRAFIK.. etc)&lt;/p&gt;</comment>
                            <comment id="18747" author="5ives" created="Tue, 6 Nov 2012 09:23:10 +0100"  >&lt;p&gt;I happened in 1.3 for me...&lt;/p&gt;</comment>
                            <comment id="16376" author="purple" created="Thu, 1 Nov 2012 15:25:11 +0100"  >&lt;p&gt;I confirm this. It didn&apos;t happen in 1.3.2 It&apos;s happening in 1.4.2 and it is very annoying. In 1.3.2 the effect would start playing only if the player would leave the gate block and return back to the gate.&lt;/p&gt;</comment>
                            <comment id="13436" author="sasuke321" created="Thu, 25 Oct 2012 20:58:47 +0200"  >&lt;p&gt;if it&apos;s on a server be sure the nether is actived&lt;/p&gt;</comment>
                            <comment id="12609" author="gravity" created="Thu, 25 Oct 2012 00:10:02 +0200"  >&lt;p&gt;It&apos;s because you&apos;re entering the new nether-portal block in the nether, and so the effect starts.&lt;/p&gt;</comment>
                            <comment id="12509" author="chalmes" created="Wed, 24 Oct 2012 23:12:42 +0200"  >&lt;p&gt;The animation &lt;b&gt;feels&lt;/b&gt; like its the prelude to teleporting, not the act of standing inside a portal, so is confusing when it remains when passing through to the other side.&lt;/p&gt;</comment>
                            <comment id="12474" author="gravity" created="Wed, 24 Oct 2012 22:51:54 +0200"  >&lt;p&gt;But you&apos;re still in the portal, are you not? The animation is caused by being inside the portal block, not by actually teleporting.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10102">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="19146">MC-6474</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="301784">MC-177439</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="417921">MC-217613</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="12167">MC-884</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10103">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="415614">MCPE-118635</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="302072">MC-177524</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="407375">MC-212651</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="11485">MC-233</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="533969">MC-262509</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="351260">MC-193749</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="320381" name="2020-07-07_09.28.07.png" size="128384" author="Awesoman3000" created="Tue, 7 Jul 2020 10:30:18 +0200"/>
                            <attachment id="320382" name="2020-07-07_09.29.35.png" size="155921" author="Awesoman3000" created="Tue, 7 Jul 2020 10:30:18 +0200"/>
                            <attachment id="403910" name="2021-05-12_14.38.48.png" size="372453" author="Avoma" created="Wed, 12 May 2021 15:39:15 +0200"/>
                            <attachment id="403918" name="2021-05-12_14.44.59.png" size="571708" author="Avoma" created="Wed, 12 May 2021 15:45:21 +0200"/>
                            <attachment id="384397" name="MC-180 how it used to work in 1.3.2.mp4" size="7386403" author="bugsbugsbugs" created="Sun, 28 Feb 2021 17:34:29 +0100"/>
                            <attachment id="380123" name="MC-180.mp4" size="6313285" author="Avoma" created="Mon, 15 Feb 2021 13:04:15 +0100"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10701" key="com.atlassian.jira.plugin.system.customfieldtypes:datetime">
                        <customfieldname>CHK</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sat, 17 Nov 2012 01:39:00 +0100</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11901" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Category</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11705"><![CDATA[Player]]></customfieldvalue>
    <customfieldvalue key="11707"><![CDATA[Rendering]]></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>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12200" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Mojang Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11702"><![CDATA[Normal]]></customfieldvalue>

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

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