<!-- 
RSS generated by JIRA (9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13) at Sun Jan 12 12:03:10 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-4020] Rotation of beacon beams are serverside</title>
                <link>https://bugs.mojang.com/browse/MC-4020</link>
                <project id="10400" key="MC">Minecraft: Java Edition</project>
                    <description>&lt;p&gt;This lags the turning of beacon beams. I&apos;m almost certain it&apos;s server-side, since the rotation lags when I go into big servers.&lt;br/&gt;
THIS IS NOT A DUPLICATE OF &lt;a href=&quot;https://bugs.mojang.com/browse/MC-2072&quot; title=&quot;Beacon beam doesn&amp;#39;t rotate properly on Multiplayer&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-2072&quot;&gt;&lt;del&gt;MC-2072&lt;/del&gt;&lt;/a&gt; OR LIKEWISE POSTS, for it&apos;s a more compound explanation of the bug.&lt;/p&gt;</description>
                <environment>In Bukkit servers, but Bukkit is still serverside. I haven&amp;#39;t played on big servers that aren&amp;#39;t Bukkit.</environment>
        <key id="16338">MC-4020</key>
            <summary>Rotation of beacon beams are serverside</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="3">Duplicate</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="headjoe3">Robert Tulley</reporter>
                        <labels>
                    </labels>
                <created>Sat, 1 Dec 2012 04:30:21 +0100</created>
                <updated>Fri, 29 Mar 2013 15:21:07 +0100</updated>
                            <resolved>Fri, 29 Mar 2013 15:21:07 +0100</resolved>
                                    <version>Minecraft 1.4.4</version>
                    <version>Minecraft 1.4.5</version>
                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="57815" author="bljat" created="Fri, 29 Mar 2013 15:21:07 +0100"  >&lt;p&gt;Duplicate of &lt;a href=&quot;https://bugs.mojang.com/browse/MC-1279&quot; title=&quot;Slow (Choppy) Rotating Beacon Block&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MC-1279&quot;&gt;&lt;del&gt;MC-1279&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="57771" author="score_under" created="Fri, 29 Mar 2013 08:25:57 +0100"  >&lt;p&gt;Tails, please re-open this issue.&lt;br/&gt;
By my calculations, this should start happening noticeably after the map has been online for around 45 days. It will also affect single-player worlds if you really have no life.&lt;br/&gt;
To reproduce this, see my CraftBukkit pull request: &lt;a href=&quot;https://github.com/Bukkit/CraftBukkit/pull/1104#issuecomment-15567567&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/Bukkit/CraftBukkit/pull/1104#issuecomment-15567567&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a real issue, caused by a clientside rounding error when the world uptime is cast to float.&lt;/p&gt;

&lt;p&gt;Edit: &quot;I&apos;m almost certain it&apos;s serverside&quot; - the description of the bug is guesswork, the real cause is the server sending a world time that is large, and because of how floating-point ( &lt;a href=&quot;https://en.wikipedia.org/wiki/Single-precision_floating-point_format&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://en.wikipedia.org/wiki/Single-precision_floating-point_format&lt;/a&gt; ) calculations are made, adding a tiny number (rotation amount) to a huge number (world uptime) tends to round down so far that it has literally no effect on the resulting number whatsoever. For an example of this, if you store the number 10000000000000000 as a single-precision floating point number, it rounds to 10000000272564224. Try to add 1000000 to this? The result is 10000000272564224, which is exactly the same as what we started with.&lt;/p&gt;

&lt;p&gt;If the rounding error is fixed in the client (the fix I propose to craftbukkit is a hack to avoid the rounding error entirely, and is not the &quot;real&quot; fix), then beacons will rotate properly again. A cast to double would fix* this but that&apos;s cheating IMHO. The best solution would probably be to add the amount of ticks elapsed since last check to a tick counter (as float or double), instead of using the total world time, and then if it exceeds k (where k = 2pi / 1.5 / 0.025, determined from Minecraft&apos;s code as the rotation period of a beacon beam in ticks) subtract k from it. Saying that, since beacons have rotational symmetry every 90 degrees you could probably get away with k/4, but since there&apos;s very little granularity with numbers that small anyway, saving 2 mantissa bits won&apos;t really net you much benefit.&lt;/p&gt;

&lt;p&gt;*Casting to double as the solution would mean it still suffers rounding errors, it&apos;d just take much longer until it happens.&lt;/p&gt;</comment>
                            <comment id="26150" author="bljat" created="Sun, 2 Dec 2012 01:20:58 +0100"  >&lt;p&gt;If you can recreate this on an unmodded server, I can reopen.&lt;/p&gt;

&lt;p&gt;This ticket is invalid as it relates to a modded or 3rd party client/server.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Any non-standard client/server build needs to be taken up with the appropriate team, not Mojang.&lt;/li&gt;
	&lt;li&gt;Any plugin issues need to be addressed to the plugin creator.&lt;/li&gt;
	&lt;li&gt;This site is for addressing issues related to the base unmodded MineCraft.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10102">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="12602">MC-1279</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10500" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Confirmation Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Unconfirmed]]></customfieldvalue>

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

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