Skip to content

Releases: Prunoideae/ProbeJS-Forge

v2.5.0

07 Apr 16:16
Compare
Choose a tag to compare
  • Added full support for functional interfaces to cope with potential more additions of such thing later. Functional interfaces are now resolved instead of being hardcoded.
  • Object now resolves to object for better markup.
  • Tested to fully support KubeJS 1.18.2 now.

v2.4.5

04 Apr 13:25
Compare
Choose a tag to compare
  • Fixed wrongly generated registry dumps due to the change of registry system.

v2.4.0

04 Apr 09:56
Compare
Choose a tag to compare
  • Migrated to Minecraft 1.18.2
  • Implemented onForgeEvent mixins, now Forge event dump will function the same as the onEvent
  • Implemented way to handle name remapping, the same as KubeJS does.

MK Q_8SZC7PPBLS@@V7NL_K

v2.3.0

23 Mar 07:10
Compare
Choose a tag to compare
  • Implemented fully functional @assign comment handler. Now you can assign a wrapper type to a class.
  • Implemented raw TS documents importing, such documents can be specified by adding a ! at the start of userdoc file name, or a !{mod_name} {entry_name} in document list.
  • Fixed a problem where events may be shown as any in onEvent due to unparameterized type.
  • Added static documentation of ArsNouveau, ArtisanWorktables, Botania, BotanyPots, Cucumber, DankStorage and ExtendedCrafting, as how they're supported in KubeJS's built-in plugin.

v2.2.0

17 Mar 16:40
Compare
Choose a tag to compare
  • Reworked TypeInfo system, most of the inherited methods are working without problems now. However, Java's type system still has something weird with TypeScript, so don't expect it to work out of the generated context.
  • Reworked ClassInfo system, now information of classes are cached as soon as they're queried, allowing for faster compilation to typing.
  • Added alternated snippet generation and configure command so I won't mistype like @item.modid... everytime.
  • Added configuration to disable auto-export on KubeJS to reduce compilation time.
  • Added class name snippets to export resolved class name to full class path, to simplify the process of doc writing.
  • Fields and methods with identifier constructor are now ignored in typing due to naming conflict.
  • java.lang.Object now resolves to any to allow more flexible type resolving.
  • Special formatters of functions are now guaranteed to return special typing.
  • Removed abstract keyword from interface to prevent confusion.
  • Replaced implements keyword with extends in interfaces to prevent confusion.
  • Changed auto-generated private constructors to protected constructors to prevent confusion.
  • Removed beans in interfaces to prevent confusion.
  • Reworked bean dumping logic to ensure setters and getters are correct.
  • java.lang.Map now resolves to Internal.Map to prevent confusion.
  • All Unknown types now resolve to any to prevent confusion.

v2.1.0

16 Mar 03:15
Compare
Choose a tag to compare
  • Changed how typing is generated to make TypeScript complain less. This includes:

    1. All static members in unexposed interfaces are now removed, and all static members in exposed interfaces are now not static.
    2. Inherited method is now removed only when the method contains any type variables to reduce the problem in overloading.
    3. Added declare to all top-level declarations.
  • Added typing generation for constructors. I forgot this.

  • Constructors of non-exposed classes are automatically private, and a doc is added to warn if there's an intentional call to the constructor.

  • Added persisted config system, which is mainly configured by /probejs configure.

  • Added option to enable/disable mixin wrappers through configuration to reduce overhead.

  • Added abstract keyword to abstract classes/interfaces.

  • Added option to enable/disable dumping of methods if the method has a corresponding bean.

  • Fixed how @modify is wrongly parsed.

  • Added @rename special comment, to allow for renaming an arg in parameters.

v2.0.0

15 Mar 12:24
Compare
Choose a tag to compare
  • Removed captureEvent, now events are recorded after they're fired at least once.
  • Replaced decorators in documents with special comments.
  • Export command is now 10x faster, and command loggings are reduced since you don't need to wait so long.
  • Beans are setters and getters now. Documents don't need to override the field of the bean, just the method will be enough.
    image

v1.7.0-fix

12 Mar 01:46
Compare
Choose a tag to compare
  • Removed stupid dump.js generation which may cause potential naming conflict and does not have a wide usage.

v1.7.0

07 Mar 03:48
Compare
Choose a tag to compare
  • Added support for union types and intersection types in type parsing, like Internal.List<Internal.ItemStackJS | Internal.FluidStackJS>
  • Added type declaration at document level for simplifying complex type declarations.
  • Untyped param comments are ignored in param modifying and will be outputted as normal comments now.

image
image

v1.6.0

06 Mar 03:55
Compare
Choose a tag to compare
  • Completed the static document system, now ProbeJS will try to look up documents in jars.
  • Rearranged file structures, now things are under probe/docs, probe/user and probe/generated, please regenerate the docs by deleting jsconfig.json and kubetypings dirs, and rerun /probejs dump.
  • As the document is pretty completed, ProbeJS now accepts PRs for adding recipes or documents to other mods.