-
Notifications
You must be signed in to change notification settings - Fork 81
Description
Since all the documentation claims to support Minecraft 1.2.1 and newer, and Chunky has code for reading Minecraft’s terrain.png, I was misled into thinking that Chunky supports Minecraft 1.2.1.
I installed Minecraft client 1.2.1 using Minecraft Launcher, placed my Minecraft 1.2.5 world in the Minecraft saves directory, and then I installed Chunky 2.4.6 using Chunky Launcher.
I selected my chunks, loaded them, and saw the default Chunky textures in the Render Preview. Then I tried adding 1.2.1.jar to the list of resource packs to use in Chunky. An error occurred when clicking the Apply button in the Resource Packs window:
Missing assets directory in default resource pack (C:\Users\User\AppData\Roaming\.minecraft\versions\1.2.1\1.2.1.jar)
Obviously, at first I thought that Chunky does not support texture packs, but only supports resource packs. However, I had doubts because of:
- Support for Minecraft 1.2.1 is stated. This could only mean the level save format (worlds), however, wording like “Supports Minecraft 1.2.1 and up” in the documentation was ambiguous regarding this.
- I was skimming through the Chunky open source code and saw methods that read block textures from terrain.png.
- Using GitHub and Google, I found how Chunky users had issues loading terrain.png in the past (like Cannot load texture pack. #138). I thought that Chunky had dropped texture pack support later, continuing to support resource packs only. However, I doubted it, as it wasn’t mentioned in any of the documentation I read, but it did mention Minecraft 1.2(.1)+ support. Supported pack formats of resource packs are also not listed. I was also confused that the current stable version (2.4.6) code still had something to do with terrain.png.
Since the error text said that the assets directory was missing from the default and selected resource pack (1.2.1.jar), I decided to add an empty assets directory to the jar to skip the step of checking for the assets directory and move on to reading textures from terrain.png. Now, Chunky Launcher failed to start Chunky. The following command was used to start Chunky:
C:\Program Files\Java\jdk-17.0.15+6-jre\bin\java.exe -Xmx2048m -Dchunky.home=C:\Users\User\.chunky --module-path "C:\Users\User\.chunky\javafx\lib" --add-modules javafx.controls,javafx.fxml -Dprism.order=sw -classpath C:\Users\User\.chunky\lib\chunky-core-2.4.6.jar;C:\Users\User\.chunky\lib\commons-math3-3.2.jar;C:\Users\User\.chunky\lib\fastutil-8.4.4.jar se.llbit.chunky.main.Chunky
Debug Console:
Exception in thread "main" java.lang.UnsupportedOperationException: ConditionalTextures doesn't support loadFromTerrain
at se.llbit.chunky.resources.texturepack.ConditionalTextures.loadFromTerrain(ConditionalTextures.java:30)
at se.llbit.chunky.resources.TexturePackLoader.loadTerrainTextures(TexturePackLoader.java:3829)
at se.llbit.chunky.resources.TexturePackLoader.loadTextures(TexturePackLoader.java:3733)
at se.llbit.chunky.resources.TexturePackLoader.loadTexturePacks(TexturePackLoader.java:3790)
at se.llbit.chunky.resources.TexturePackLoader.loadTexturePacks(TexturePackLoader.java:3757)
at se.llbit.chunky.main.CommandLineOptions.(CommandLineOptions.java:493)
at se.llbit.chunky.main.Chunky.main(Chunky.java:202)
Chunky exited abnormally with exit value 1
After that, I was almost convinced that Chunky does not support Minecraft 1.5.2 and older. The next experiment showed that Chunky can load 1.6.1, the first Minecraft release with resource packs. However, after that I tested Minecraft client 1.5, which still used texture packs, but without terrain.png. The first attempt to launch Chunky failed because the assets directory was missing. However, after I added an empty assets directory to 1.5.jar, Chunky started, loading the 1.5 textures.
So I found that texture packs are still supported by Chunky, but only for Minecraft 1.5–1.5.2 and only if the texture pack has an assets directory — even if it’s empty. Only Minecraft 1.2.1–1.4.7 texture packs are not supported, leading to a caught error if the assets directory does not exist, or to a crash if it does.
Edit: Chunky 1.4.6-beta2 can load terrain.png from 1.2.1–1.4.7 clients and texture packs, but the texture pack should contain an assets directory, which can be empty. This behavior is similar to how Chunky 2.4.6 can load 1.5–1.5.2 clients and texture packs.