Skip to content

Version 0.4.0

Latest
Compare
Choose a tag to compare
@EliteMasterEric EliteMasterEric released this 11 Nov 01:54

This version was a long time in the making, in part due to issues with the Haxe compiler itself; now, most of those are resolved. Fabric 1.16.5-1.20.2 (+ snapshots!) as well as Forge 1.18.2-1.20.2 are now fully supported and have working builds, and the tools for developing for both have greatly improved.

Added

  • Updated JVM target to be functional, and to be the default mode (to allow for improved code generation from Haxe).
    • In this mode, Pickhaxe will now generate an unmapped "dev" JAR rather than a set of Java source files.
  • Added the pickhaxe runClient commmand.
    • Specify a Minecraft mod loader and game version, and the game will
  • Added the pickhaxe template command.
    • This acts as an alternative to the pickhaxe init command, allowing you to download a sample project and get started with PickHaxe immediately.
    • Use pickhaxe template --list to peruse the list of official sample projects and pickhaxe template <id> to download one.
  • Added the --shading and --no-shading arguments to the Build command.
    • These are used to enable and disable Shading, which is a tool to relocate core classes which would otherwise have shared classpaths. Without Shading, two PickHaxe mods for Forge would conflict with each other.
  • Added the --make argument to the Build command.
    • This will automatically call pickhaxe make with your chosen settings.
  • PickHaxe project files now have the mod-authors and mod-contributors tags.
  • Calling trace in Haxe now properly uses slf4j to output a debug log.

Changed

  • PickHaxe is now dependant on Haxe 5.0.0-alpha. This is due to a long list of recent fixes made to the JVM target that enable PickHaxe to function.
    • Easiest way to handle this is to modify .vscode/settings.json and change terminal.integrated.env.windows to add
  • The pickhaxe build command has been improved; it now cleanly handles multiple versions of Minecraft, and runs way faster on repeat builds for the same version.
  • The pickhaxe init command now includes the .vscode/settings.json and .gitignore files.
  • Call stacks for error messages now only display with --verbose turned on.
  • Error messages for the PickHaxe tool now display an error code ([EXCEPTION ###]) to assist with diagnosis, and for the most part better convey the issue.

Fixed

  • A large range of fixes to ensure projects generate functioning builds for Fabric and Forge.
    • I am summarizing this in one line but really this is what took months of work, on-and-off.
  • Fixed an issue where mod icons were not displaying. Make sure the icon is located at resources/assets/<modid>_icon.png so it works.
  • Fixed an issue where certain metadata wasn't getting put into the mod manifest.
  • Fixed a bug where the wrong Parchment version would be used when using build --make.
  • Fixed an issue where builds would fail if optional tags were not included in project.xml.

Removed

  • Removed the mapping macros, which were never used (Gradle is now used to obfuscate output instead).

Known Issues

  • Any time you use a functional interface (i.e. you pass a function as an argument to another function), all parameters must be properly typed or Java will crash.