Mojang / slicer

Resource pack migration tool for Minecraft 1.14
MIT License
174 stars 7 forks source link

The most stupid update ever #1

Closed AmongstReality closed 1 year ago

AmongstReality commented 1 year ago

Changing gui textures was very easy. Now I need to change approximately 400 files instead of ~45. Thanks for making me quit content creation for Minecraft

PencilVoid commented 1 year ago

The amount of graphics you have to draw has not actually changed. They are simply split into more files to assist with organisation. Regardless, this issue is off-topic as it is about Minecraft rather than Slicer.

TheGhost567 commented 1 year ago

You can still use the old retexturing method for new packs, you can draw all the gui elements in their old "bundled" form, then run them through Slicer (I doubt this would work for gui elements added in the future after this change, but that depends on whether "bundled" gui textures will remain supported by Slicer, if it gets updated at all, so you might want to make a feedback post about that), I assume this change was made to allow for even deeper customization of the vanilla game without mods, which is a trend that the game has been moving towards since Microsoft took over:

In 1.13 datapacks were added, which have progressively become more powerful over the years, this same update that reworked the gui textures added function macros to datapacks, for example.

In 1.17 the ability to write shaders for the (then newly updated) vanilla rendering engine was added to resourcepacks, this feature is still VERY experimental, but it allows the use of shaders without mods like Optifine or Iris, and "shaders" in this context don't just mean fancy lights either, i've seen someone use this feature to make a roll animation for a Mirror's-Edge inspired parkour datapack.

This gui update was made to let you selectively change textures without affecting others, for example, if you wanted to animate the hp hearts and xp bar, you would have to stack the entire textures\gui\icons.png file multiple times, then animate every frame without easily being able to see the others, or animate one element on its own, then copy every frame to the giant file, then do the same for the other, then hope any pray you haven't messed anything up, and too bad if the animations are at different incompatibe framerates, or you want to use interpolation for one, but not the other (this example could also apply for texture resolutions). Alternatively you could use a mod like optifine or cit resown to select the bounding box of the element you want to change via a text file, then make an overlay element, and point the mod to that.

Both these solutions work, but aren't great, but with the new texture structure, you just have to edit textures\gui\sprites\hud\experience_bar_progress.png and textures\gui\sprites\hud\heart\full.png.

The new texture method is more clunky if you choose to edit every file individually (it more closely resembles editing block textures now), but you can still use the old method, then convert the files with this program, and if you don't want to edit any individual thing after that, you don't have to.