Overhaul Texture_Converter.py and Conversion_Table.csv #4133
No reviewers
Labels
No Label
#P1 CRITICAL
#P2: HIGH
#P3: elevated
#P4 priority: medium
#P6: low
#Review
annoying
API
bug
code quality
combat
commands
compatibility
configurability
contribution inside
controls
core feature
creative mode
delayed for engine release
documentation
duplicate
enhancement
environment
feature request
gameplay
graphics
ground content conflict
GUI/HUD
help wanted
incomplete feature
invalid / won't fix
items
looking for contributor
mapgen
meta
mineclone2+
Minecraft >= 1.13
Minecraft >= 1.17
missing feature
mobile
mobs
mod support
model needed
multiplayer
Needs adoption
needs discussion
needs engine change
needs more information
needs research
nodes
non-mob entities
performance
player
possible close
redstone
release notes
schematics
Skyblock
sounds
Testing / Retest
tools
translation
unconfirmed
mcl5
mcla
Media missing
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: VoxeLibre/VoxeLibre#4133
Loading…
Reference in New Issue
No description provided.
Delete Branch "Impulse/MineClone2:texture-conversion-120"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR updates the conversion tool which converts resource packs from minecraft to mineclone(also supported games, mineclonia, etc) to Support MC 1.20 resource packs, refactors code to be more pythonic and idiomatic.
Tasks:
getopt
argparsing withargparse
making it less prone to error and easier to define behavior.--default
flag--all
flagExtra (Not needed for merge):
logging
module to most entrypoints.os.system
calls with more pythonic and system indiependent function calls.Testing:
I go ingame on my server, to see if the textures look right and are matched up correctly.
I also print out the textures that were not converted so know which ones to add next.
Update Texture_Converter.py and Conversion_Table.csv to support MC 1.20to Overhaul Texture_Converter.py and Conversion_Table.csvOverhaul Texture_Converter.py and Conversion_Table.csvto WIP: Overhaul Texture_Converter.py and Conversion_Table.csvWIP: Overhaul Texture_Converter.py and Conversion_Table.csvto Overhaul Texture_Converter.py and Conversion_Table.csvIts ready to merge, just some minor stuff i wanted to do, like making the conversion platform independent, but i might not have time to do that before the next MCL release. Could you merge this please?
You may have the time before release, but I don't know if I will have the time to review before release. That's a lot of code!
But if you do have the time, the os-independent code may be the main thing to target.
14eb2ba15b
to033ae2c892
033ae2c892
to223f7c9fe3
Thanks for the reply, if i get that done, will you try and merge it?
I really want to see it in the next release.
I'll try to review it.
223f7c9fe3
to033ae2c892
033ae2c892
to6b9980c1b8
Haven't really looked much but at a quick glance the textures that stood out quickly are some of the leaves texture that have no transparency.
Here are some that I found:
default_acacia_leaves.png
default_jungleleaves.png
default_leaves.png
flowers_waterlily.png
mcl_core_leaves_big_oak.png
mcl_core_leaves_birch.png
mcl_core_leaves_spruce.png
EDIT:
After a bit more look at it here are some weird textures that I found:
More textures that have no transparency:
Missing textures:
These are most likely not all of it but it's a start.
Used on 1.20.4 textures
I think I should reply to this
First, introduction: I encouraged the creation of this PR through my texture pack, and my role here is an advisor + the maintainer of conversion_table.csv (CT), and also I have no python experience and just learned very basic git for this PR here's my first ever PR if you missed it
The leaves - and the lily - can be easily implemented in the CT but I think Impulse's reason for using the python script to do it is use MC's default color palette instead of MCL's.
(Trap)door sides and top and bottom parts are waiting to be implemented in the python code.
The top texture for anvils is apparently 2 pixel wider in MCL (why? 3d model difference? if so, why?), I found a solution through multiplying the outer texture to make it 2 pixels wider.
Item frames, MCL's system of texturing these apparently is different from MC's, I wasn't able to implement them (in my pack)
The floating enchanting table book doesn't use different textures for the inside and the outside, even though the default MCL texture contains different ones for both.
Horses are hard (really, I wasn't able to add even 1 horse even with manual photoshopping)
Now for the interesting part: (suggestions on changing how textures and handled in general)
My opinion is that the conversion tool in its current state (at least the CT) is strictly better than the older version, and should be included in 0.87 even with the aforementioned flaws.
I will fix some of these once I manage to fix git (You have divergent branches and need to specify how to reconcile them.)
Edit: Also some textures like some axolotl colors are absent from vanilla MC so we can not implement them.
6b9980c1b8
to34bf062bf4
This generally works.
GUI could be larger, especially the target folder selection window.
As already mentioned, some things lack from the Conversion Table, this can be expanded later.
The
requirements.txt
file could make it clearer what the requirements are for (there are more tools than just this in the folder, and placing them in your lib folder still won't be enough, because the main file is not there and most people won't look there), and could use markdown instead, but this can be done later.Overall, good work! Merging this.
5ae62f2bb1
tob944a70059
The converter previously works for the 1.12 version of the horses if that helps in solving this @Doods
So, every texture that was added to MCL follows the same layout MC uses at the time of adding, so converting at that time is just a matter of renaming, and from that I conclude that Mojang completely reworked the layout from scratch sometime after MCL added horses.
Searching the wiki confirms my theory: the 3D model for horses was changed in 1.13 and they no longer open their mouths, which means 1 - MC lacks a mouth texture and 2 - the 3d model is different altogether. (also searching the old script code confirms it was only a renaming process back then)
I appreciate your attempt at helping.
This... hmmn. Horses, like all modeled entities were hand built, and used in mineclone. They do not follow the Minecraft Texture / texturing for their models. And it would be unreasonable to expect that it would. (As that would mean that we sniped their model, and we didn't.)
@Impulse does your texture converter update do textures for entities? (I'm guessing not, but never hurts to ask.)
@Michieal the textures for all entities - except horses - roughly follow the same layout MC uses, and copying skeleton.png - for example - and renaming it to mobs_mc_skeleton.png makes the MCL skeleton look identical to MC's, and I also read somewhere, in this repo, that seamless compatibility with copied MC textures was a goal when making textures for MCL.
I know that because I copied the textures for almost every entity from MC when making my pack with no issues, and while some required very basic photoshopping.
The ender dragon literally has the wing texture copied twice in the same PNG and only uses 1 of them, just to look different from MC I persume, and just for the record, it uses the right one while MC has the wing texture on the left.
Saying you sniped the models is an understatement, you seem to have copied them outright for almost everything - except for the trident.
Are the MC models are too basic to be copyrightable? They are either a few pixels in a basic layout (Trident) or something that takes all its shape from the texture (skeletons)
And for question on the script, it mostly renames and copies PNGs as my comment suggests.
And to conclude, I feel this reply is somewhat insulting, so I apologize if you did feel insulted.
@Doods
Actually, Foss was complaining that it wasn't like MC. They really wanted this project to be a 1 to 1 copy of minecraft, and IIRC they got upset a few times when that was not the goal of the project. I mean, there's a reason why a new name is being discussed... And part of that is because as "Mine[craft]clone" everyone expects to have all of the numbers be like the wiki. The demand that nothing else be added, except for what is in MC. (I know, I encountered this when I made the Hamburger food item.)
The models are supposed to be similar, but not copies. We are actually going to be changing things around some so that they are more original.
But yeah, the goal of the project is to emulate gameplay... even if the numbers are "off" -- sometimes they have to be, because of minetest. Also, we're trying to make a good gameplay experience.
And, Initially when I read this it did come across as a bit... yeah... so I took a minute and then came back to this. The MC models are copyrighted. And, because someone blindly allowed in direct rips of MC assets, or recolors, we've had to change things out. And, we couldn't use most of the Pixel Perfection textures.