<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Announcement] ScriptAPI Improvements in 0.18.0]]></title><description><![CDATA[<p dir="auto">Hello everyone,</p>
<p dir="auto">Currently on 0.17.0 the ScriptAPI does not use the GraalJS JIT. While we had a proof of concept available in the graaljs_jit branch, it lacked the functionality to remap calls.</p>
<p dir="auto">As you may know, Minecraft runs in an obfuscated environment, making it difficult to navigate the Minecraft source code through JavaScript without remapping. We've previously done this by injecting into GraalJS in non-JIT mode, but the current implementation struggles with functions that have similar names. For the remapper to work effectively, it needs to approach this from a call target remapping perspective rather than a call lookup perspective.</p>
<p dir="auto">We originally posted a request for someone to do this task: <a href="https://github.com/CCBlueX/LiquidBounce/issues/4278" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/CCBlueX/LiquidBounce/issues/4278</a> including a small amount of money as compensation.</p>
<p dir="auto">However, I took it upon myself and am happy to announce that I have successfully implemented a new remapper with call target remapping, which fixes all the bugs caused by overloaded methods and fields, as well as brings higher performance when using the GraalVM JDK, which is now the default JRE on LiquidLauncher starting with this commit: <a href="https://github.com/CCBlueX/LiquidBounce/commit/591c5793a93b8e4cbaf7843545055f517848cbf3" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/CCBlueX/LiquidBounce/commit/591c5793a93b8e4cbaf7843545055f517848cbf3</a></p>
<p dir="auto"><img src="/assets/uploads/files/1730866310737-59efe6ab-6d4c-4d8c-b052-ddb33d7200c0-image.png" alt="59efe6ab-6d4c-4d8c-b052-ddb33d7200c0-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="https://forum.liquidbounce.net/assets/plugins/nodebb-plugin-emoji/emoji/customizations/d0812f42-f469-48ea-bd58-f34e9d29a7ee-axocool.png?v=866ab33d74c" class="not-responsive emoji emoji-customizations emoji--axocool" style="height:23px;width:auto;vertical-align:middle" title=":axocool:" alt="undefined" /></p>
<div class="row github-embeds-container">

<div class="col-md-6">
<div class="github-embed card">
<div class="card-body">

<div class="meta">
<img class="author-picture not-responsive" src="https://avatars.githubusercontent.com/u/12410754?v=4" title="1zun4" />
<a href="https://github.com/1zun4"><span class="username">1zun4</span></a> created this issue <span class="timeago" title="2024-10-27T17:06:37Z"></span> in <a href="//github.com/CCBlueX/LiquidBounce">CCBlueX/LiquidBounce</a>
</div>
<h3>
<span class="badge closed float-end">closed</span>
<a href="https://github.com/CCBlueX/LiquidBounce/issues/4278">[FEATURE] GraalJS JIT Support with Remapper</a>
<span class="number">#4278</span>
</h3>



</div>
</div>
</div>

<div class="col-md-6">
<div class="github-embed card">
<div class="card-body">



<div class="meta">
<span class="float-end">0 <i class="fa fa-comment"></i></span>
<img class="author-picture not-responsive" src="https://avatars.githubusercontent.com/u/12410754?v=4" title="1zun4" />
<a href="https://github.com/1zun4"><span class="username">1zun4</span></a> committed <span class="timeago" title="2024-11-06T03:33:08Z"></span> to <a href="//github.com/CCBlueX/LiquidBounce">CCBlueX/LiquidBounce</a>
</div>
<a href="https://github.com/CCBlueX/LiquidBounce/commit/591c5793a93b8e4cbaf7843545055f517848cbf3"><pre>feat(ScriptAPI): Implement GraalJS JIT with call target remapping (#4368)

Improves ScriptAPI by enabling GraalJS JIT while addressing Minecraft's obfuscation. Previously, non-JIT mode allowed remapping; however, this new approach applies a call target remapping strategy, overcoming bugs with overloaded names.

Also, GraalVM is now the default JDK on LiquidLauncher.

---------

Co-authored-by: Senk Ju &lt;18741573+SenkJu@users.noreply.github.com&gt;</pre></a>

</div>
</div>
</div>

</div>]]></description><link>https://forum.liquidbounce.net/topic/8351/announcement-scriptapi-improvements-in-0-18-0</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Jul 2026 13:19:40 GMT</lastBuildDate><atom:link href="https://forum.liquidbounce.net/topic/8351.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Nov 2024 04:13:30 GMT</pubDate><ttl>60</ttl></channel></rss>