
ProbeJS
Supercharging your modpack experience.
621K загрузок28 подписчиковLGPL-2.1-onlyfabricforgeneoforge
Обновлён 22 июня 2026 г. · опубликован 27 ноября 2023 г.
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:
tsgocompatible 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 testedtsgoand 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()toJava.loadClass()due totsgois 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
- Get VSCode. And install
Typescript (Native Preview)extension by Microsoft. - Install the mod, and install the ProbeJS VSCode Extension.
- In game, use
/probejsand click the dump button. - Open the
.minecraftfolder in VSCode, you should see snippets and typing functioning. - 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.1 | neoforge | 22 июня 2026 г. | .jar (3.2 МБ) |
| 8.0.2 | Релиз | 1.21.1 | neoforge | 21 мая 2026 г. | .jar (2.3 МБ) |
| 7.0.0 | Альфа | 1.20.1 | forge, neoforge | 18 июня 2024 г. | .jar (4.1 МБ) |
| 5.3.4 | Релиз | 1.19.2 | fabric | 11 февраля 2024 г. | .jar (801 КБ) |
| 5.3.4 | Релиз | 1.19.2 | forge | 11 февраля 2024 г. | .jar (807 КБ) |
| 6.0.0 | Релиз | 1.20.1 | fabric | 11 февраля 2024 г. | .jar (958 КБ) |
| 6.0.0 | Релиз | 1.20.1 | forge, neoforge | 11 февраля 2024 г. | .jar (965 КБ) |
Ченджлог
8.0.3Релиз1.21.1 · 22 июня 2026 г.
- Added
Internalnamespace for easier JSDoc type annotation - Added types for
GLFWInputbinding - 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.componentis correctly typed now
8.0.2Релиз1.21.1 · 21 мая 2026 г.
- A pretty working version for KJS 7.
tsgoinstallation 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/.probeinstead of.minecraft/kubejs/probe. - Each script folder will now have its own
jsconfig.jsonandsrcfolder.
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
requireand ESMimportstatements are now supported. requireis an alias ofJava.tryLoadClass, and can be implemented without the installation of ProbeJS.importis transpiled by ProbeJS torequirestatements using mixins, so it will break if you don't have ProbeJS installed.requireandimportstatements enable VSCode to auto-import classes you needed in your script.- Transpile of
importstatements is only able to process single-line imports, and will not work withimport * as ident from .... Java.loadClassdumping support is removed in favor ofrequirestatements.
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
exportstatement:export const/var/let/function ident ... - Can be disabled by
/probejs scope_isolation. exportstatements 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.snippetsto 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.assignTypeandProbeEvents.modifyClassto 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
requirefor almost any Java class. - Set
probejs.enableDecompilertotrueandprobejs.modHashto-1to trigger decompilation at next dump.
Linting
- Added
/probejs lintto perform linting on your scripts. - Linting will check for non-JS problems in your scripts. Like the redeclaration of exported variables,
importconflict 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
requireevent classes directly.
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.
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.
Полная история изменений — на Modrinth.
Комментарии
Загружаем…
