<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sun Jan 12 12:00:15 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-3151] New Mob AI doesn&apos;t take world limit/Void into account for pathing</title>
                <link>https://bugs.mojang.com/browse/MC-3151</link>
                <project id="10400" key="MC">Minecraft: Java Edition</project>
                    <description>&lt;p&gt;The previous mob AI prevented mobs from pathing across the bottom most plane of the map, the Void. The new mob AI does not take this into account and appears to treat the boundary between the bottom of the world and the Void as a solid plane which can be pathed across. It appears this is caused by the way which pathing is done. As there is nothing to detect below the point separating the world from the Void, the pathing checks to this point and assumes a solid surface exists, thus instructing mobs to attempt crossing and deleting themselves upon contact.&lt;/p&gt;

&lt;p&gt;While normally this situation may not occur, maps which utilize the Void as a deterrent of the player must prevent mob access to areas low over the Void. Even at a height above the Void, mobs will conduct the normal calculations for dropping onto solid surfaces and attempt dropping onto the Void. Especially in this case, map makers attach large amounts of custom data to mobs, so the possibility of the mobs essentially deleting themselves is a frustrating thought.&lt;/p&gt;

&lt;p&gt;Simplest way to test this: Create a superflat map and dig a 3x3 hole to the Void, leaving the center Bedrock block above it. Spawn a sheep or other mob on the Bedrock, then utilize anything which would normally cause the mob to move. It will walk off and be deleted upon contact with the Void, despite that there is no surface for it to walk on other than the non-collidable boundary..&lt;/p&gt;

&lt;p&gt;Original Report: Before Jon&apos;s new AI, mobs would avoid wandering into the Void. The new AI does not take into account if the path they are taking is over open Void. It appears that currently Mob AI only takes into account the number of air blocks to fall, and since this can not be counted below the world limit, the AI essentially treats the Void as a solid floor. This means that if the Void is only a few blocks lower than the surface a mob is walking on, the mob will freely wander into the Void and die.&lt;/p&gt;

&lt;p&gt;This can be tested by placing a block over open void and spawning a mob on it. The mob will normally simply walk off. This can also be tested by exploiting Villager&apos;s more predictable AI mechanics. First, create a classic Superflat world. Make a simple home underground with a door. Then place villagers inside. Break the bedrock directly in front of the door, and you will witness villagers freely wandering into the Void through the hole.&lt;/p&gt;

&lt;p&gt;This should be easy enough to resolve - it has just gone widely unnoticed for quite some time.&lt;/p&gt;

&lt;p&gt;Edit: Considering Jeb&apos;s declaration that all mobs will now use the new AI (&lt;a href=&quot;https://twitter.com/jeb_/status/428840815549747200&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://twitter.com/jeb_/status/428840815549747200&lt;/a&gt;), I wish this issue reconsidered. Read comment below (Jan 30, 2014).&lt;/p&gt;</description>
                <environment></environment>
        <key id="15088">MC-3151</key>
            <summary>New Mob AI doesn&apos;t take world limit/Void into account for pathing</summary>
                <type id="1" iconUrl="https://bugs.mojang.com/secure/viewavatar?size=xsmall&amp;avatarId=18903&amp;avatarType=issuetype">Bug</type>
                                    <status id="6" iconUrl="https://bugs.mojang.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="dinnerbone">[Mojang] Nathan Adams</assignee>
                                    <reporter username="megascience">MegaScience</reporter>
                        <labels>
                            <label>AI</label>
                            <label>fall</label>
                            <label>mob</label>
                            <label>void</label>
                    </labels>
                <created>Fri, 16 Nov 2012 05:26:10 +0100</created>
                <updated>Wed, 6 May 2015 14:32:19 +0200</updated>
                            <resolved>Fri, 7 Mar 2014 10:47:52 +0100</resolved>
                                    <version>Minecraft 1.4.4</version>
                    <version>Snapshot 13w04a</version>
                    <version>Minecraft 14w04b</version>
                    <version>Minecraft 14w05a</version>
                    <version>Minecraft 14w05b</version>
                    <version>Minecraft 14w06b</version>
                    <version>Minecraft 14w07a</version>
                    <version>Minecraft 14w08a</version>
                    <version>Minecraft 14w10b</version>
                                    <fixVersion>Minecraft 14w10c</fixVersion>
                                                        <votes>1</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="142945" author="kumasasa" created="Mon, 24 Feb 2014 20:53:34 +0100"  >&lt;p&gt;Fix by &lt;a href=&quot;https://bugs.mojang.com/secure/ViewProfile.jspa?name=bugi74&quot; class=&quot;user-hover&quot; rel=&quot;bugi74&quot;&gt;bugi74&lt;/a&gt; of &lt;a href=&quot;https://bugs.mojang.com/browse/MC-5397&quot; title=&quot;Mob AI allows mobs to fall into the void&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-5397&quot;&gt;&lt;del&gt;MC-5397&lt;/del&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Possible fix&lt;/b&gt;&lt;br/&gt;
Using MCP naming.&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;PathFinder.getSafePoint()&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        ...
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (var9++ &amp;gt;= entity.func_82143_as()) {
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;;
        }

        --y;

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (y &amp;gt; 0) {
            var7 = &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;.openPoint(x, y, z); &lt;span class=&quot;code-comment&quot;&gt;// Accept a point in mid air, eh?
&lt;/span&gt;        } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {         &lt;span class=&quot;code-comment&quot;&gt;// FIX: lets cancel that possible mid air point &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; reached void.
&lt;/span&gt;            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;; &lt;span class=&quot;code-comment&quot;&gt;// FIX
&lt;/span&gt;        }                &lt;span class=&quot;code-comment&quot;&gt;// FIX
&lt;/span&gt;    ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Tested on 1.4.7 and at least creepers learned to look down.&lt;/p&gt;</comment>
                            <comment id="138734" author="megascience" created="Fri, 7 Feb 2014 00:34:45 +0100"  >&lt;p&gt;Thank you. Of course if it becomes agreed to be intended, I&apos;ll accept it being closed again. I am only concerned, as said, 1: Because all mobs now utilize the new AI to varying extents. 2: With all the data attached to mobs, mostly with custom maps, I&apos;d consider mobs deleting themselves an issue. 3: They can&apos;t walk on the Void, so I find it odd they&apos;d path over it.&lt;/p&gt;</comment>
                            <comment id="138728" author="kumasasa" created="Fri, 7 Feb 2014 00:09:54 +0100"  >&lt;p&gt;Reopened.&lt;br/&gt;
Unclear if oversight or intended or working by design.&lt;/p&gt;</comment>
                            <comment id="138696" author="torabi" created="Thu, 6 Feb 2014 23:00:47 +0100"  >&lt;p&gt;It doesn&apos;t matter if you doubt it. You need to either bring the issue up directly with the developers, or prove to the moderators that it&apos;s not intended. The easiest way to accomplish the second would be the first. They&apos;re not going to reopen the issue just because you ask.&lt;/p&gt;</comment>
                            <comment id="138690" author="megascience" created="Thu, 6 Feb 2014 22:52:29 +0100"  >&lt;p&gt;Well, I&apos;ve always doubted they intended for mobs to walk into the Void. I mean maybe there&apos;s a reason, but I think it was just a forgotten part of the code which ends up causing mobs full of mapmaker NBT to commit suicide and be a frustration to recreate. At least that&apos;s how I see it&apos;d be an issue in modern Minecraft: All the mapmaker ability on entities, and mobs can just walk off and be deleted on contact.&lt;/p&gt;</comment>
                            <comment id="138610" author="torabi" created="Thu, 6 Feb 2014 19:39:49 +0100"  >&lt;p&gt;You&apos;re probably best off asking a developer directly (via twitter) whether or not this is intended behavior.&lt;/p&gt;</comment>
                            <comment id="138591" author="megascience" created="Thu, 6 Feb 2014 19:13:02 +0100"  >&lt;p&gt;Requesting moderator to reopen this issue as I just witnessed a slime jumping into the Void first hand without even setting up an environment other than having a pre-existing hole into the Void.&lt;/p&gt;</comment>
                            <comment id="136507" author="megascience" created="Thu, 30 Jan 2014 20:32:34 +0100"  >&lt;p&gt;Still exists in 14w05a. This is not a feature request, it is a bug which causes low-level areas over the Void to be impractical.&lt;/p&gt;</comment>
                            <comment id="136274" author="megascience" created="Thu, 30 Jan 2014 13:02:10 +0100"  >&lt;p&gt;Considering Jeb&apos;s announcement via Twitter an hour ago (&lt;a href=&quot;https://twitter.com/jeb_/status/428840815549747200&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://twitter.com/jeb_/status/428840815549747200&lt;/a&gt;), I think this issue should be revisited.&lt;/p&gt;

&lt;p&gt;The old AI system avoids pathing into the Void. The new AI system does not. Mobs treat the the plane between the normal area and the Void as a solid surface, and will freely path into it. This creates issues with areas placed low in empty worlds, such as custom maps, as mobs will freely wander off and despawn in the Void, making many low-level applications involving mobs impractical without obstructive precautions.&lt;/p&gt;

&lt;p&gt;Essentially, I wish this issue reopened so it may be recognized and corrected: Mobs should not treat the Void as a solid surface to walk on, AKA not path into it.&lt;/p&gt;</comment>
                            <comment id="41196" author="megascience" created="Wed, 30 Jan 2013 19:06:01 +0100"  >&lt;p&gt;Walter, what this report points out is that the previous mob AI did not allow mobs to walk into the Void. The new mob AI does. What I&apos;ve come to believe after discussing it with others is that the new mob AI simply counts air blocks to determine if it should walk off a ledge. As such, since there can&apos;t be air blocks beyond the world limit, the AI tells the mob the world limit itself is a solid floor and lets mobs walk onto it, falling out of the world. Now, while in normal worlds, this would not be possible, this does not take into account custom zuperflat and overall custom maps.&lt;/p&gt;

&lt;p&gt;Basically, mobs should be able to recognize the world limit as an infinite drop and not a solid floor.&lt;/p&gt;</comment>
                            <comment id="41130" author="megascience" created="Wed, 30 Jan 2013 16:37:07 +0100"  >&lt;p&gt;Would this still be believed as a feature request? Because as far as I know, it was intended that mobs would calculate and avoid wandering into the Void, since the previous AI code did take this into account. However, the new Mob AI was done without that consideration. Not his fault, but it is something to be fixed.&lt;/p&gt;

&lt;p&gt;Edit: I just tested in Snapshot 13w04a with a sheep on a block three units above open Void. After standing for a moment, it freely walked off the block and out of the world. This behavior does not correlate with previous behavior, and I believe it is something to be fixed and not added.&lt;/p&gt;</comment>
                            <comment id="29689" author="torabi" created="Thu, 20 Dec 2012 19:20:37 +0100"  >&lt;p&gt;This is either a bug, or Working as Intended, but certainly not a feature request. It is inconsistent and unexpected behavior. It previously did not occur, but now does as a result of a code change.&lt;/p&gt;</comment>
                            <comment id="22111" author="megascience" created="Fri, 16 Nov 2012 08:36:48 +0100"  >&lt;p&gt;I noticed several resolved issues under 1.5, which was what confused me. I won&apos;t put these in 1.5&apos;s entry again, sorry.&lt;/p&gt;

&lt;p&gt;In terms of this ticket, this is definitely an oversight with the new AI code. The previous AI code prevented mobs from wandering into the Void. When the new AI code was introduced, I tested and compared how mobs acted when on a single block above the Void. In the previous AI code they would stand still, even when presented wheat. When I loaded the same world in the new version, before my world even finished loading, the mob would simply walk off the platform. Before making this ticket, I tested this in 1.4.4 and found it to be even worse. Since they added the mechanic of mobs calculating risk in falling, I noticed villagers jumping in from greater height. Falling in from a greater height isn&apos;t a constant, but mobs will still freely wander into the Void.&lt;/p&gt;</comment>
                            <comment id="22102" author="adencraft2000" created="Fri, 16 Nov 2012 08:18:50 +0100"  >&lt;p&gt;@Kumasasa - why does it let you select future versions?&lt;/p&gt;</comment>
                            <comment id="22093" author="kumasasa" created="Fri, 16 Nov 2012 07:59:14 +0100"  >&lt;p&gt;This site is for bug reports only. For feature suggestions/changes please use the &lt;a href=&quot;http://www.minecraftforum.net/forum/1-suggestions/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;MineCraft Forums: Suggestions&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="22092" author="kumasasa" created="Fri, 16 Nov 2012 07:58:57 +0100"  >&lt;p&gt;Do not set affected version to future versions, you couldn&apos;t have played it!&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10102">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="18000">MC-5397</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="48638">MC-28456</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10103">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="21666">MC-8701</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10701" key="com.atlassian.jira.plugin.system.customfieldtypes:datetime">
                        <customfieldname>CHK</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 3 Mar 2014 10:19: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_11600" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i06f0n:</customfieldvalue>

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