You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CHANGELOG.md
+54-65
Original file line number
Diff line number
Diff line change
@@ -4,78 +4,68 @@ All notable changes to this project will be documented in this file.
4
4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
at net.pickhaxe.compat.world.item.CreativeModeTab$CreativeModeTab_Impl_.setId(E:\Programming\Game Modding\Minecraft Modding\PickHaxe\pickhaxe\src\net/pickhaxe/compat/world/item/CreativeModeTab.hx:66)
9
-
at net.pickhaxe.compat.world.item.CreativeModeTab$CreativeModeTab_Impl_.register(E:\Programming\Game Modding\Minecraft Modding\PickHaxe\pickhaxe\src\net/pickhaxe/compat/world/item/CreativeModeTab.hx:30)
10
-
at com.elitemastereric.madeinhaxe.items.ModItems.registerCreativeTab(./src/com/elitemastereric/madeinhaxe/items/ModItems.hx:38)
11
-
at com.elitemastereric.madeinhaxe.MadeInHaxeMod.onCreativeModeTabRegister(./src/com/elitemastereric/madeinhaxe/MadeInHaxeMod.hx:13)
12
-
at net.pickhaxe.core.CommonMod.onInitialize(E:\Programming\Game Modding\Minecraft Modding\PickHaxe\pickhaxe\src\net/pickhaxe/core/CommonMod.hx:196)
13
-
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:383)
14
-
-[] Caused by 1: java.lang.NoClassDefFoundError: net/minecraftforge/event/RegistryEvent/Register
15
-
at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?] {}
16
-
at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?] {}
17
-
at java.lang.Class.privateGetPublicMethods(Class.java:3427) ~[?:?] {}
18
-
at java.lang.Class.privateGetPublicMethods(Class.java:3433) ~[?:?] {}
19
-
at java.lang.Class.getMethods(Class.java:2019) ~[?:?] {}
20
-
at net.minecraftforge.eventbus.EventBus.registerObject(EventBus.java:92) ~[eventbus-5.0.3.jar%2336!/:?] {}
21
-
at net.minecraftforge.eventbus.EventBus.register(EventBus.java:120) ~[eventbus-5.0.3.jar%2336!/:?] {}
22
-
at net.pickhaxe.core.CommonMod.forge_registerListeners(E:\Programming\Game Modding\Minecraft Modding\PickHaxe\pickhaxe\src\net/pickhaxe/core/CommonMod.hx:95) ~[obsidianarmor-0.4.0.jar%2353!/:?] {re:classloading}
-[] Prompt to clean when switching versions, and save last version so we know when to do that
25
-
-[] Add command line argument for shading
26
-
-[] Option to auto-make when building
7
+
### Enhancements
8
+
- Support more versions of Forge
9
+
- Support for Legacy Fabric
10
+
- Support for Quilt
11
+
- Support for NeoForge
12
+
- Update documentation
13
+
- Add feature in tooling that checks metadata and warns you if a specific loader/version commmbination is unsupported
14
+
- Add more Bare samples for MadeInHaxe
15
+
- Add more sample projects
16
+
- Add more compat features
17
+
- Dogfood PickHaxe (make some real mods)
18
+
### Known Issues
19
+
- Multiple PickHaxe mods for Forge will conflict: https://github.com/HaxeFoundation/haxe/issues/11361
20
+
- Functional interfaces need to be fully qualified (i.e. if you're passing a function as an argument, add typing to all the arguments or it will break at runtime).
21
+
-`pickhaxe runClient` doesn't work on Fabric (need to figure out a fix)
-[] NeoForge 1.20.2: Haven't looked into it, will need Gradle work
30
+
-[] Quilt 1.18.2: Haven't looked into it, will need Gradle work
31
+
-[] Quilt 1.19.4: Haven't looked into it, will need Gradle work
32
+
-[] Quilt 1.20.2: Haven't looked into it, will need Gradle work
27
33
28
-
## [0.4.0]
34
+
35
+
## [0.4.0] - 2023-11-10
36
+
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.
29
37
## Added
30
38
- Updated JVM target to be functional, and to be the default mode (to allow for improved code generation from Haxe).
31
39
- In this mode, Pickhaxe will now generate an unmapped "dev" JAR rather than a set of Java source files.
32
-
- Fixes to mod metadata now add `authors` and `contributors`
40
+
- Added the `pickhaxe runClient` commmand.
41
+
- Specify a Minecraft mod loader and game version, and the game will
42
+
- Added the `pickhaxe template` command.
43
+
- This acts as an alternative to the `pickhaxe init` command, allowing you to download a sample project and get started with PickHaxe immediately.
44
+
- Use `pickhaxe template --list` to peruse the list of official sample projects and `pickhaxe template <id>` to download one.
45
+
- Added the `--shading` and `--no-shading` arguments to the Build command.
46
+
- 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.
47
+
- Added the `--make` argument to the Build command.
48
+
- This will automatically call `pickhaxe make` with your chosen settings.
49
+
- PickHaxe project files now have the `mod-authors` and `mod-contributors` tags.
50
+
- Calling `trace` in Haxe now properly uses `slf4j` to output a debug log.
33
51
## Changed
34
-
-Haxe dependency updated to require `5.0.0-alpha` (unless they end up releasing a 4.3.3).
52
+
-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.
35
53
- Easiest way to handle this is to modify `.vscode/settings.json` and change `terminal.integrated.env.windows` to add
54
+
- 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.
55
+
- The `pickhaxe init` command now includes the `.vscode/settings.json` and `.gitignore` files.
56
+
- Call stacks for error messages now only display with `--verbose` turned on.
57
+
- 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.
36
58
## Fixed
37
-
- Updates and bug fixes to fix Fabric 1.16.0-1.20.2, as well as Fabric on snapshot 23w44a.
59
+
- A large range of fixes to ensure projects generate functioning builds for Fabric and Forge.
60
+
- I am summarizing this in one line but really this is what took months of work, on-and-off.
38
61
- 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.
63
+
- Fixed a bug where the wrong Parchment version would be used when using `build --make`.
64
+
- Fixed an issue where builds would fail if optional tags were not included in `project.xml`.
65
+
## Removed
66
+
- Removed the mapping macros, which were never used (Gradle is now used to obfuscate output instead).
67
+
## Known Issues
68
+
- 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.
Copy file name to clipboardexpand all lines: README.md
+8-3
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,17 @@
4
4
5
5
PickHaxe is a flexible, powerful Haxe framework to supercharge your Minecraft mod development. Build your mods in a high-level strictly-typed language and export to the Minecraft version and modding API of your choice.
6
6
7
-
Getting started is simple. Install Haxe and PickHaxe, then create a new mod project and get developing. When you're ready to test, PickHaxe will compile your mod for the mod loader of your choice, for the Minecraft version of your choice.
8
-
9
-
PickHaxe currently supports exporting mods to Minecraft 1.19, with plans to gradually expand to other versions over time. PickHaxe currently supports exporting mods to Fabric and Forge.
7
+
Getting started is simple. Install Haxe and PickHaxe, then create a new mod project (or download a sample project) and get developing. When you're ready to test, PickHaxe will compile your mod for any of several several versions of Minecraft on multiple different mod loaders. PickHaxe currently supports Fabric 1.16.5-1.20.2, as well as Forge 1.18.2-1.20.2, and all your code can be shared in a single project!
10
8
11
9
# Usage
12
10
11
+
Download PickHaxe via [haxelib](https://lib.haxe.org/p/PickHaxe/):
12
+
13
+
```
14
+
haxelib install pickhaxe
15
+
haxelib run pickhaxe help
16
+
```
17
+
13
18
Please see the [tutorial](https://github.com/EliteMasterEric/PickHaxe/wiki/Tutorial%253A-Your-First-Mod) on the wiki for more information on basic usage.
14
19
15
20
Also see the available [sample projects](https://github.com/EliteMasterEric/PickHaxe-Samples/), available in their own repo.
0 commit comments