Skip to content

Releases: ZZZank/ProbeJS-Legacy

2.6.1: Fix "optional" class dumping crash

25 Mar 11:59
Compare
Choose a tag to compare

ProbeJS Legacy 2.6.0 -> 2.6.1

Fix "optional" class dumping crash

What's new?

  • ProbeJS will now catch error thrown when classes to be looked into is missing.
    • This means that "Optional" classes, like classes intended for cross-mod compatibility, should be able to be dumped without crashing the whole game
    • This bug actually exists ever since the very first release of ProbeJS Legacy, so updating to this version is highly recommended.

Commit History: 2.6.0...2.6.1

2.6.0: Registry Dumping!

23 Mar 16:42
Compare
Choose a tag to compare

ProbeJS Legacy 2.5.0 -> 2.6.0

Registry Dumping

What's new?

  • Registry Dumping!
    • Registries, whether from vanilla(e.g. items, blocks) or mods(e.g. Mekanism Slurries), can now be dumped into registries.d.ts.
    • Registries will be resolved into types, showing every avaliable names under such registry. e.g. type schedule = "minecraft:empty"|"minecraft:simple"|"minecraft:villager_baby"|"minecraft:villager_default";
    • Types that are registry entries will now take cooresponding registry as its assignables, like type Attribute_ = Registry.minecraft.attribute | Attribute;
    • This means in some cases, like item.enchant(..., 1), using string in ... will no longer confuses your IDE, if you enable type checks.
  • Minor performance tweaks to allow event listening mixin runs a little bit faster. After this change, changing config disabled will actually require a game restart to take effects
  • move generalized representation of onEvent and onForgeEvent lower to prefer sepcialized ones

2.5.0: RecipeFilter_ & FunctionalInterfaces

14 Mar 13:13
Compare
Choose a tag to compare

ProbeJS Legacy 2.4.1 -> 2.5.0

RecipeFilter_ & FunctionalInterfaces

What's new?

  • Functional Interfaces(Interfaces that accept Lambda as their instances) can now also display their original type, thus accepting document
    • e.g. event.replaceInput(filter, toReplace, replaceWith) in RecipeEvent, where filter used to be a only lambda function, but now accepts Lambda, original type, and objects like {mod: "minecraft", type: "minecraft:blasting"}
  • Detailed doc for RecipeFilter, ItemStackJS, IngredientJS, and much more
  • Event doc will now have a generalized variant displayed, to handle events that are not exported by ProbeJS yet

2.4.1: Fix type casting error & doc++

15 Feb 04:02
Compare
Choose a tag to compare

ProbeJS Legacy 2.4.0 -> 2.4.1

Fix type casting error

What's new?

  • fix error caused by type casting in formatScriptable()
  • doc for AttachedData and CompoundNBT. It can now act like a regular JS object(which means accessing members in formats like data.some_member or data["some_member"] will no longer confuse your IDE)

2.4.0: Event dump ++

14 Feb 13:55
Compare
Choose a tag to compare

ProbeJS Legacy 2.3.1 -> 2.4.0

Event dump ++

What's new?

  • events dumped in events.d.ts are now naturally sorted(in alphabet order).
  • dumped events will have more info displayed, e.g. if such event is cancellabe or not.
    /**
     * @cancellable No
     * @at startup, server
     */
    declare function onEvent(name: "item.crafted", handler: (event: Internal.ItemCraftedEventJS) => void);
  • rawTS doc will now have no namespace wrapped. Instead, there will be two comments marking start and end.
  • fix Raw TS doc being cleared even before they are used for doc gen, so Raw TS doc can actually get generated.
  • fix tag snippets not writing into files.
  • enable special formatter for rhino::Scriptable.
  • recipe doc for Thermal Series.
  • constructors for classes in Internal namespaces will now be showed, with comments clarifying that you needs java() to actually use it.
  • remove haunting in Create doc, since it's not a thing in MC1.16.

2.3.1: Fix CME crash

09 Feb 12:39
Compare
Choose a tag to compare

ProbeJS Legacy 2.3.0 -> 2.3.1

Fix crash caused by ConcurrentModificationException

What's new?

  • use containsKey + put instead of computeIfAbsent to avoid CME crash.
  • fix events with sub-id not actually having sub-id.

2.3.0: Better document system

09 Feb 11:04
Compare
Choose a tag to compare

ProbeJS Legacy 2.2.0 -> 2.3.0

Better document system

What's new?

  • Fix param fetching of documents.
    • This is a bug that has existed since 2.0.0, because the original document system from ProbeJS for MC 1.18 is already problematic.
    • Try event.shaped() or event.shapeless() in recipe event, its type hint should be normal now.
  • ProbeJS Legacy can now catch every fired KubeJS event, without the needs of onEvent.
  • Hand-written recipe doc and auto-gen recipe doc will now be combined together, providing more accurate parameter info.
  • Documents for class now support extends .
  • RawTS doc will now has no namespace wrapped.
  • ProbeJS Legacy can now properly get the index of outter bracket in method documents.
  • Better documents for builtin types, like CompoundNBT .
  • Several performance tweaks to improve performance, especially on heavily modded instances.

2.2.0 - Dump Trimming

18 Jan 09:34
Compare
Choose a tag to compare

ProbeJS Legacy 2.1.0 -> 2.2.0

Dump trimming!

What's new?

  • Dump trimming: probeJS will now make use of inherited Class, and avoid dumping a method/field if such method/field is already avaliable through inheritance. This can greatly reduce the size of global.d.ts
    • On a slightly modded instance, dump trimming makes dump size decrease from 8.02MB to 2.55MB, less than 1/3 of the original dump size.
  • Better documents for builtin types, like Text or Map
  • Java type Object will now be showed, but in namespace Document, and every "complex" type will be it's subclass(for better dump trimming)

2.0.1 - All the (Forge) Events

12 Jan 09:37
Compare
Choose a tag to compare

ProbeJS Legacy 2.0.0 -> 2.0.1

What's new?

  • ProbeJS will now listen to EVERY Forge events, so that users don't need to painstakingly search for names of Forge Events (which are usually very long).
  • /probejs dump command is now restricted to Singleplayer, to prevent freezing servers by accident.
  • A slightly better documents for builtin types, like ResourceLocation

All the Events......all the mods?

2.0.0 - Reconstructed from the ground up

08 Jan 09:14
Compare
Choose a tag to compare

ProbeJS Legacy 1.6.0 -> 2.0.0

A huge update, adding support for Document, Forge event listening, full config with autosave, and much much more

What's new?

  • Collected class/methods/... will now be dumped to kubejs/probe/ folder, instead of kubejs/kubetypings/ folder.
  • ProbeJS can now dump more classes/methods into global.d.ts
    • On a slightly modded 1.16.5 Forge instance, ProbeJS can now dump about 164000 lines, 4.4 times of previously 37700 lines.
  • ProbeJS can now dump java access related data better.
    • On a slightly modded 1.16.5 Forge instance, ProbeJS can now recognize and dump about 2000 method presets, 33% more than previously 1500.
  • Event dumping now supports onForgeEvent()
  • An actual config file will be generated at kubejs/config/probe.json, and will be automatically saved on change(through command).
  • Correctly resolves types used by List/Map
  • Types will have _ appended to prevent conflict
  • better support for RecipeSerializer
  • Remove dump.js generation, because it seems completely useless
  • Suopprt getters
  • and many small changes, for a better experience