Перейти к содержимому
Mineforgian

ProbeJS

Supercharging your modpack experience.

621K загрузок28 подписчиковLGPL-2.1-onlyfabricforgeneoforge

Обновлён 22 июня 2026 г. · опубликован 27 ноября 2023 г.

  • Autocompletion (in 1.18.2)

0. ProbeJS v8.0

Welcome to the future! As TypeScript had experienced a major update that deprecated the typing structure of ProbeJS in v7.7.2, we rewrote the mod and the extension to be compatible with the new TypeScript version (and hopefully backward-compatible with the previous TypeScript versions.)

However, there are some features missing in the mod due to the TypeScript Native (tsgo) is not fully implemented yet, the mod will receive continuous updates to add the missing features when TypeScript Native is ready.

What's new in v8.0:

  • tsgo compatible type declarations. TypeScript Native is a new TypeScript compiler written in Go, which is 10x faster and use much less memory than the original TypeScript. We had tested tsgo and it showed less than 500ms item literal completion time and instant class/event completions on ATM10.
  • A GUI that allows you to configure the mod easily in-game and show the dumping progress. Also, it allows you to convert require() to Java.loadClass() due to tsgo is not supporting language plugins yet.
  • (Hopefully) more correct typing generation. Most problems in the previous versions are now fixed as the type resolution is rewritten.
  • Intensive support of agents and LLMs. You can make AIs like DeepSeek or GPT generate 100% correct KubeJS code now!

1. Installation

  1. Get VSCode. And install Typescript (Native Preview) extension by Microsoft.
  2. Install the mod, and install the ProbeJS VSCode Extension.
  3. In game, use /probejs and click the dump button.
  4. Open the .minecraft folder in VSCode, you should see snippets and typing functioning.
  5. Re-dump in case of you want to refresh the generated typing. If VSCode is not responding to file changes, restart VSCode to force a refresh in extension and the language server.

Версии

ВерсияКаналИграЗагрузчикиДатаСкачать
8.0.3Релиз1.21.1neoforge22 июня 2026 г..jar (3.2 МБ)
8.0.2Релиз1.21.1neoforge21 мая 2026 г..jar (2.3 МБ)
7.0.0Альфа1.20.1forge, neoforge18 июня 2024 г..jar (4.1 МБ)
5.3.4Релиз1.19.2fabric11 февраля 2024 г..jar (801 КБ)
5.3.4Релиз1.19.2forge11 февраля 2024 г..jar (807 КБ)
6.0.0Релиз1.20.1fabric11 февраля 2024 г..jar (958 КБ)
6.0.0Релиз1.20.1forge, neoforge11 февраля 2024 г..jar (965 КБ)

Ченджлог

8.0.3Релиз1.21.1 · 22 июня 2026 г.
  • Added Internal namespace for easier JSDoc type annotation
  • Added types for GLFWInput binding
  • Added parchment JSON and Neoforge source patching to resolve argument names for methods
  • Also, Neoforge source patching will add Javadoc from the source as JSDoc comments
  • Modified give command to support giving all items from tags for better Kubedex integration
  • Params with @Nullable annotations are now marked as T | null
  • Added @item, @block... registry snippets back
  • Added experimental agents.md and handoffs to implement KubeJS code with LLM (only supports Copilot Chat now)
  • ItemBuilder.component is correctly typed now
8.0.2Релиз1.21.1 · 21 мая 2026 г.
  • A pretty working version for KJS 7.
  • tsgo installation is recommended.
7.0.0Альфа1.20.1 · 18 июня 2024 г.

Please don't use the v7.0.0!! Use v6 instead.

v7.0.0

  • Final release for Minecraft 1.20.1
  • Dropped Fabric support
  • Completely rewritten the codebase to allow better codegen

TypeScript Generation

  • Declaration files are now generated in a per-script type manner.
  • You can only have type hinting for bindings you have in corresponding script types.
  • Typing generation folder is moved to .minecraft/.probe instead of .minecraft/kubejs/probe.
  • Each script folder will now have its own jsconfig.json and src folder.

Java Class Dumping

  • Largely sanitized the generated Java declarations, it now works in a nearly TS-compatible manner.
  • Java classes are now arraged in their corresponding package as modules, instead of being prefixed with Internal..
  • Reacheable classes are now all visible with the VSCode JS/TS extension.

require and import Statements

  • As the module-based TypeScript generation is now implemented, CommonJS require and ESM import statements are now supported.
  • require is an alias of Java.tryLoadClass, and can be implemented without the installation of ProbeJS.
  • import is transpiled by ProbeJS to require statements using mixins, so it will break if you don't have ProbeJS installed.
  • require and import statements enable VSCode to auto-import classes you needed in your script.
  • Transpile of import statements is only able to process single-line imports, and will not work with import * as ident from ....
  • Java.loadClass dumping support is removed in favor of require statements.

export Statements

  • To prevent namespace pollution, ProbeJS will isolate the identifiers for each script by default.
  • You can declare const ident = ... for each script without the need to worry about the global scope now with isolation.
  • To make a variable or function available to other scripts, you can use the export statement: export const/var/let/function ident ...
  • Can be disabled by /probejs scope_isolation.
  • export statements are stripped by mixin, so you can't use them without ProbeJS.

Snippets

  • Added a few snippets: #uuid, #ignored, #itemstack, #packmode, #priority, #recipes, #requires.
  • @- snippets now include @mod, @lang_key, @recipe_id, and @texture.
  • Added ProbeEvents.snippets to allow you to add your own snippets.

Document Generation

  • Documents to Java classes is now accessible from Java and JS side.
  • Removed the need of downloading document files from the remote server.
  • Added ProbeEvents.assignType and ProbeEvents.modifyClass to allow you to modify the generated Java classes.

Decompilation

  • Now includes a runtime Java decompiler (Vineflower) to allow you to decompile classes in-game.
  • Obfuscated classes will be remapped to their deobfuscated names.
  • Decompilation will provide class info to ProbeJS, allowing you to use require for almost any Java class.
  • Set probejs.enableDecompiler to true and probejs.modHash to -1 to trigger decompilation at next dump.

Linting

  • Added /probejs lint to perform linting on your scripts.
  • Linting will check for non-JS problems in your scripts. Like the redeclaration of exported variables, import conflict due to priorities, etc.
  • Auto-linting by interop with VSCode will be implemented in 1.21.

VSCode Extension

  • Does not require the installation of ProbeJS extension for any features now.
  • Extension will be rewritten to support a different set of features.

Forge Events

  • Literal support for Forge events is removed in favor of require event classes directly.

7 6

6.0.0Релиз1.20.1 · 11 февраля 2024 г.
  • Added a WebSocket server to communicate with the latest ProbeJS VSCode extension.
  • Fixed a bug in a certain field in the config file.

4

6.0.0Релиз1.20.1 · 11 февраля 2024 г.
  • Added a WebSocket server to communicate with the latest ProbeJS VSCode extension.
  • Fixed a bug in a certain field in the config file.

4

Полная история изменений — на Modrinth.

Комментарии

Загружаем…