Skip to content

Java texture packs#1247

Draft
Soggy-Pancake wants to merge 18 commits intosmartcmd:mainfrom
Soggy-Pancake:JavaTexturePacks
Draft

Java texture packs#1247
Soggy-Pancake wants to merge 18 commits intosmartcmd:mainfrom
Soggy-Pancake:JavaTexturePacks

Conversation

@Soggy-Pancake
Copy link

Description

Adds java texture pack support

Changes

Loads texture packs from zip files.

Previous Behavior

DLC pack files only

New Behavior

Texture packs are found on game start and are added to the list of available packs.
image
image

Fix Implementation

  • Added bit7z library with 7z.dll for zip file loading
  • Implemented ZipFile, ZipEntry, and FileTexturePack classes
  • Updated all tile and item names to match current versions
  • Auto atlas generation using matched names to find textures
  • Most atlas icon positions are now tied to the item/tile instance name to allow easier name changes in the future
  • Not all were able to be updated as they have multiple icon variants

AI Use Disclosure

Some scanning to understand parts of the codebase and as interactive documentation of cpp.

Current issues

  • No folder loading yet
  • Packs <16px are busted by animated textures
  • Partial blocks like end portal frames and beds break with smaller packs as well due to rounding.

@deffcolony
Copy link

Hi @Soggy-Pancake
I've actually managed to pull every single official DLC pack released for the console editions directly from my PS3. It's a total of 70 folders, including all the skins, texture packs, and maps.
I'd like to work with you to get all of these implemented into the project. I took a look at how the other DLCs were set up, and I already have tools like FFmpeg and vgmstream ready to convert the Bink audio files to .ogg.
I think adding these would finally complete the entire DLC collection. Would you be interested in collaborating on this? If so, is there somewhere we could chat more easily, like Discord? Let me know!

image

@Soggy-Pancake
Copy link
Author

@deffcolony I haven't really worked much with dlc packs or any of that stack tbh. I could maybe take a look as it could still be helpful for other portions of packs to work. I've mostly sidestepped the dlc code and only interact with PreStitchedTextureMap and a bit of file stuff.

@deffcolony
Copy link

@Soggy-Pancake I've send you a DM on Discord

@Soggy-Pancake
Copy link
Author

Library files got ignored for some reason, just force added them so now it should be able to find them

@Sab44
Copy link

Sab44 commented Mar 18, 2026

This would be awesome to have. Is there any upper limit on texture size that's supported?

@Soggy-Pancake
Copy link
Author

No upper limit. The way I get the pack size is a bit dumb as I just use whatever size the dirt texture is, but I dont want to read in every single texture to find the largest one and then write the atlas. The atlas is just the texture size times icons in each dimension. The animated textures are bit of a problem rn and I havent looked into it too much yet. Items become tiny if the pack is large and if the pack is smaller than 16x then animated blocks begin to overwrite other blocks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants