<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sun Jan 12 12:23:11 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-10077] Ajasent Obsidian Blocks prevent Nether portal appearing</title>
                <link>https://bugs.mojang.com/browse/MC-10077</link>
                <project id="10400" key="MC">Minecraft: Java Edition</project>
                    <description>&lt;p&gt;If you build a nether portal frame against an obsidian wall and then try to light it with the flint the block will catch on fire instead of forming a portal. The blocks causing the problem are the lowest two directly behind where the portal will apear. Placing any other kind of block there does not stop the portal appearing. If you remove one block the portal can then be created on that side but not the other.&lt;/p&gt;

&lt;p&gt;Occurs in both creative and survival&lt;/p&gt;</description>
                <environment></environment>
        <key id="23922">MC-10077</key>
            <summary>Ajasent Obsidian Blocks prevent Nether portal appearing</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="-1">Unassigned</assignee>
                                    <reporter username="hadashiblacksky">Blacksky</reporter>
                        <labels>
                    </labels>
                <created>Wed, 20 Feb 2013 14:28:24 +0100</created>
                <updated>Thu, 12 Sep 2013 20:04:40 +0200</updated>
                            <resolved>Thu, 12 Sep 2013 20:04:39 +0200</resolved>
                                    <version>Minecraft 1.4.7</version>
                    <version>Snapshot 13w07a</version>
                    <version>Snapshot 13w09a</version>
                    <version>Snapshot 13w09b</version>
                    <version>Snapshot 13w09c</version>
                    <version>Snapshot 13w10a</version>
                    <version>Minecraft 1.5</version>
                    <version>Snapshot 13w11a</version>
                    <version>Minecraft 1.5.1</version>
                    <version>Minecraft 1.5.2</version>
                    <version>Snapshot 13w18c</version>
                    <version>Snapshot 13w19a</version>
                    <version>Minecraft 1.6.2</version>
                                    <fixVersion>Minecraft 13w37a</fixVersion>
                                                        <votes>5</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="48456" author="bugi74" created="Thu, 28 Feb 2013 21:15:32 +0100"  >&lt;p&gt;Affects 13w09b.&lt;/p&gt;</comment>
                            <comment id="46953" author="hadashiblacksky" created="Thu, 21 Feb 2013 23:18:15 +0100"  >&lt;p&gt;Ah well, at least this is something that might help if a player gets an obsidian block in the wrong place or tries to wall up behind the portal with obsidian blocks like I did.&lt;/p&gt;</comment>
                            <comment id="46906" author="bugi74" created="Thu, 21 Feb 2013 20:39:18 +0100"  >&lt;p&gt;(No need to &apos;believe&apos; something if someone has already analyzed the code and even provided a fix, like I have already done.)&lt;/p&gt;

&lt;p&gt;If its intention was to prevent two adjacent nether portals, it would be bugged still, as the current behavior does not prevent it. And there is no need to prevent such, either. (There are consequences for having two portals close each other, but they are something that the player can handle, should he find them undesirable.)&lt;/p&gt;

&lt;p&gt;This is simply the result of a bit simple implementation. It does prevent, unnecessarily, certain portal arrangements, but it is just a coincidence, not the intention. The intention was merely to stop the algorithm in a case where it thought it can not resolve which orientation is the right one.&lt;/p&gt;

&lt;p&gt;My fix simply improves that check. It still prevents certain portal frame arrangement, but is much more accurate about it.&lt;/p&gt;</comment>
                            <comment id="46889" author="unon1100" created="Thu, 21 Feb 2013 20:05:31 +0100"  >&lt;p&gt;I believe this is intended so that you do not make 2 nether portals adjacent to eachother&lt;/p&gt;</comment>
                            <comment id="46882" author="bugi74" created="Thu, 21 Feb 2013 19:26:31 +0100"  >&lt;p&gt;No idea, though I thought driving carts through is already semi-working, but just currently a bit messed up by other bug(s).&lt;/p&gt;</comment>
                            <comment id="46878" author="hadashiblacksky" created="Thu, 21 Feb 2013 18:35:31 +0100"  >&lt;p&gt;Thanks I&apos;ve walled up the back with cobblestone now so it should be 0k. Do you know if there are any plans to make it so you walk through the portals instead of standing in them, or making the worlds connected enough to drive a cart through?&lt;/p&gt;</comment>
                            <comment id="46863" author="bugi74" created="Thu, 21 Feb 2013 16:16:40 +0100"  >&lt;p&gt;It should not send you back if you stay in the portal after teleport (even if the swirling effect starts). You need to get out and then back in, in order to reactivate the portal for getting back.&lt;/p&gt;

&lt;p&gt;Also, to make it a bit more safe to approach the gate (if there are cliffs on the other side), use sneaking, and move a bit sideways aiming at the portal frame, instead of walking directly through it. As soon as you notice the swirling to start, just stop, it&apos;ll take you through.&lt;/p&gt;</comment>
                            <comment id="46860" author="hadashiblacksky" created="Thu, 21 Feb 2013 16:04:24 +0100"  >&lt;p&gt;It does cause a few problems for me since I suffer from lag a lot, it hasn&apos;t happened yet but every time I use the portal I very nearly get sent back before I can get out. The first time I tried to use it I walked right through it and fell down a cliff.&lt;/p&gt;</comment>
                            <comment id="46718" author="bugi74" created="Wed, 20 Feb 2013 16:23:51 +0100"  >&lt;p&gt;Depends on the timing. Portal activation has a minimum time the player must stay &quot;in&quot; the portal. If you just speed through it, the time might remain too short.&lt;/p&gt;</comment>
                            <comment id="46717" author="hadashiblacksky" created="Wed, 20 Feb 2013 16:13:40 +0100"  >&lt;p&gt;Wow, you fixed that fast!&lt;/p&gt;

&lt;p&gt;By the way, I&apos;m not sure if it strictly a bug or not, but you can walk all the way through an active portal and out the other side without travelling to the Nether. Do you know if it is supposed to do that or not?&lt;/p&gt;</comment>
                            <comment id="46716" author="bugi74" created="Wed, 20 Feb 2013 16:01:27 +0100"  >&lt;p&gt;&lt;b&gt;Fix&lt;/b&gt;&lt;br/&gt;
(MCP naming and my own interpretations)&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;BlockPortal&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-comment&quot;&gt;// Copied out from the other (old method) &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; multiple calls:
&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; checkPortalShape(World world, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; z, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; eastwest, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; northsouth) {
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; hor;
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; ver;

        &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (hor = -1; hor &amp;lt;= 2; ++hor) {
            &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (ver = -1; ver &amp;lt;= 3; ++ver) {
                &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; onEdge = hor == -1 || hor == 2 || ver == -1 || ver == 3;

                &lt;span class=&quot;code-comment&quot;&gt;// If not in corner:
&lt;/span&gt;                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (hor != -1 &amp;amp;&amp;amp; hor != 2 || ver != -1 &amp;amp;&amp;amp; ver != 3) {
                    &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; blockId = world.getBlockId(x + eastwest * hor, y + ver, z + northsouth * hor);
                    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (onEdge) {
                        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (blockId != Block.obsidian.blockID) {
                            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
                        }
                    } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (blockId != 0 &amp;amp;&amp;amp; blockId != Block.fire.blockID) {
                        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
                    }
                }
            }
        }
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
    }

    &lt;span class=&quot;code-comment&quot;&gt;// Existing method, quite heavily modified:
&lt;/span&gt;    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt; tryToCreatePortal(World world, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; z) {
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; eastwest = 0;
        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; northsouth = 0;

        &lt;span class=&quot;code-comment&quot;&gt;// Check &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; all 4 possible portal frames around the input location:
&lt;/span&gt;        &lt;span class=&quot;code-comment&quot;&gt;// East or west end (of east-west portal):
&lt;/span&gt;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (checkPortalShape(world, x, y, z, 1, 0)) {
            eastwest = 1;
        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (checkPortalShape(world, x-1, y, z, 1, 0)) {
            x--;
            eastwest = 1;
        }
        &lt;span class=&quot;code-comment&quot;&gt;// North or south end (of north-south portal):
&lt;/span&gt;        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (checkPortalShape(world, x, y, z, 0, 1)) {
            northsouth = 1;
        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (checkPortalShape(world, x, y, z-1, 0, 1)) {
            z--;
            northsouth = 1;
        }

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (eastwest == northsouth) {
            &lt;span class=&quot;code-comment&quot;&gt;// Either two valid frames or no frames at all.
&lt;/span&gt;            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
            &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; horiz;
            &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; verti;

            world.editingBlocks = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;

            &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (horiz = 0; horiz &amp;lt; 2; ++horiz) {
                &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; (verti = 0; verti &amp;lt; 3; ++verti) {
                    world.setBlockWithNotify(x + eastwest * horiz, y + verti, z + northsouth * horiz, Block.portal.blockID);
                }
            }

            world.editingBlocks = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
        }
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Tested on 1.4.7. After those changes, even crossed portal frames will be handled as long as either orientation can be detected as valid and the other not. Or, if overlapping portals are both full/valid, but the fire is applied to a block that is not in the crossed/overlapping section (in which case the fire block can only be part of one portal frame), the changes still work (as they did before, too).&lt;/p&gt;</comment>
                            <comment id="46706" author="bugi74" created="Wed, 20 Feb 2013 15:13:07 +0100"  >&lt;p&gt;If I remember it right, this is because the portal creation routine does not check for full portal shape before deciding which way it could possibly be. Having the extra obsidian there confuses the routine so it just bails out, and thus the default action (of starting a fire) is launched instead. Edit: I remembered it correctly. It only checks 4 neighbor blocks for being obsidian, and if there is at least one obsidian block for both orientations, it simply (and incorrectly) decides a portal is not possible.&lt;/p&gt;

&lt;p&gt;I might take a look on this, as it may affect another portal bug (&lt;a href=&quot;https://bugs.mojang.com/browse/MC-3&quot; title=&quot;Player facing changes when passing through nether portals in certain cases&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-3&quot;&gt;&lt;del&gt;MC-3&lt;/del&gt;&lt;/a&gt;), too. Edit: Does not affect &lt;a href=&quot;https://bugs.mojang.com/browse/MC-3&quot; title=&quot;Player facing changes when passing through nether portals in certain cases&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-3&quot;&gt;&lt;del&gt;MC-3&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="25143">MC-11053</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="32589">MC-16688</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10103">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="18227">MC-5597</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="22129" name="Untitled.png" size="168854" author="hadashiblacksky" created="Wed, 20 Feb 2013 14:28:24 +0100"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10701" key="com.atlassian.jira.plugin.system.customfieldtypes:datetime">
                        <customfieldname>CHK</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 20 Feb 2013 16:33:00 +0100</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10500" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Confirmation Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10303"><![CDATA[Confirmed]]></customfieldvalue>

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

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