Giter Site home page Giter Site logo

Comments (4)

jasonjgardner avatar jasonjgardner commented on August 25, 2024

About the warnings

I just tried making my own terrain file with ChannelMixer and TileMaker. This output contains a lot of useful information. Thanks! It looks like my current working directory doesn't produce the errors you've encountered when I run it through the CLI utilities; however, I still get a bunch of warnings like:

WARNING: The file 'chain1.png' is not recognized and so is not used.
WARNING: The file 'chain1_mer.png' is not recognized and so is not used.
WARNING: The file 'chain1_normal.png' is not recognized and so is not used.
WARNING: The file 'chain2.png' is not recognized and so is not used.
WARNING: The file 'chain2_mer.png' is not recognized and so is not used.
WARNING: The file 'chain2_normal.png' is not recognized and so is not used.
WARNING: The file 'double_plant_fern_carried.png' is not recognized and so is not used.
WARNING: The file 'double_plant_grass_carried.png' is not recognized and so is not used.
WARNING: The file 'element_006_c.png' is not recognized and so is not used.
WARNING: The file 'element_006_c_mer.png' is not recognized and so is not used.
...
WARNING: The file 'mood_block.png' is not recognized and so is not used.
WARNING: The file 'mood_block_mer.png' is not recognized and so is not used.
WARNING: The file 'mood_block_normal.png' is not recognized and so is not used.
...

How does ChannelMixer/TileMaker recognize textures?

Some of these texture file names match the names found in the vanilla pack template. Some are from the Education Edition. I'm toying around with custom texture names too. Minecraft is able to find them because I've either specified the texture's file path in the textures/terrain_texture.json file, or I've set the custom name within the .texture_set.json layer names.


Side note

This is unrelated to Mineways, but may help explain the method to my madness.

I'm not sure which aforementioned method (if either) is the best way to squeeze "custom" texture names into the Bedrock Edition. The terrain_texture.json file allows me to create a namespace for textures. The .texture_set.json file allows reusing/sharing texture files between different texture sets. I assume both approaches could be used together too.

I'm working on a web app to assist in making Minecraft resource packs – particularly for those which support raytracing. I want to know how to implement unique, custom texture names so users of the app can arbitrarily assign textures to blocks.


About the TGA files

I feel like Minecraft does a better job of rendering transparencies through alpha channels. Transparencies in PNG files tend to show a bit of matte background and the anti-aliasing around opaque edges is poor-quality. I'll see if there are any TGA files that can be cleanly converted to PNG.

I can easily export a PNG alongside the TGA files, though I'm not quite sure how I can share those without cluttering the resource pack. I think I might have to provide dist and src directories in the repository so I can still provide something optimal for Minecraft. I'm open to suggestions!

from jg-rtx.

erich666 avatar erich666 commented on August 25, 2024

ChannelMixer and TileMaker use the default Minecraft texture names (which occasionally change), along with some common variants. The list is here: https://github.com/erich666/Mineways/blob/master/Win/tiles.h#L77 - I even include some common misspellings and more variants at the end of this file. But, I can only go so far...

One (of many) problem with parsing any JSON files is that Mineways does not support modded blocks. It also does not support modded or custom texture layouts, such as putting different textures on the top and sides of a stone block. Basically, if there's no reason to change a texture's name, I wouldn't. Naming it the same as Minecraft's directly helps anyone looking at these textures, vs. them having to try to decode a JSON file.

Is there a list of the "alternate" Education Edition texture names somewhere? I'd like to make sure I have covered all these. Google's turned up nothing.


Could you tell me how to reproduce or show me an example of the TGA vs. PNG problem within Minecraft? Which texture(s) show this? In Bedrock or Java Editions? Or RTX? I would like to see this in action and try to understand how that could happen. I know about fringing and interpolation problems that can occur, I wrote about it here, and the second half of this article gives more on the problem and how to solve it with dilation filters and similar. But that's mostly a DCC program problem, where nearest neighbor texture sampling is not used. Minecraft uses nearest neighbor (giving the blocky look) - or is there a way for mods to turn that off?

Mineways avoids the problem when exporting its PNG textures by doing dilation around the immediate fringes and averaging elsewhere (a full dilation on high-res textures would take a lot of passes, but for your textures would need to be done only once).

So the only thing I can imagine is that Targa files have white (say) wherever alpha is 0, while the PNGs have black, so giving different fringing artifacts. That sounds like a function of Minecraft itself, an unfortunate one, if that's what's going on. The solution on your end is to dilate your textures into the cutout regions, as I mentioned. Aha, there's even a Photoshop plugin for this, and some other tools out there. This article notes "To avoid those artifacts a better solution is to use Solidify (see also Photoshop plug-in) or Dilation filter." Seriously consider using them on completed cutouts and see if that improves things.

from jg-rtx.

jasonjgardner avatar jasonjgardner commented on August 25, 2024

I stand corrected! I switched the double tall grass from a TGA to a PNG and did not see an apparent difference. I think my other misgivings over PNGs are simply due to textures without any dilation. I'm very new to 3D in general and am unaware of many common or best practices.

You'll notice there's still a bunch of TGAs in the last release. I wanted to get another release out ASAP, so I just uploaded everything in its current format. But yes, I will certainly use PNG over TGA now. Thank you for the advice.

I didn't have time to test this release with ChannelMixer and TileMaker. I'm going to close this issue with this comment, because the repository should be a bit cleaner now to avoid some of those older warning messages. I wouldn't be surprised if this last release comes with a new batch of problems though, so please feel free to post another issue.


The Education Edition blocks use the following naming convention:

  • Start with element_
  • Followed by three-digit atomic number, with zeros padded to the left: 001
  • Followed by underscore and lowercase atomic symbol: _h

Put it together for: element_001_h

Thank you to KellyTheDerg in the Minecraft RTX community for figuring this out.

Here is a list for you and Googlers of the future:

Minecraft Education Edition block texture names

element_001_h
element_002_he
element_003_li
element_004_be
element_005_b
element_006_c
element_007_n
element_008_o
element_009_f
element_010_ne
element_011_na
element_012_mg
element_013_al
element_014_si
element_015_p
element_016_s
element_017_cl
element_018_ar
element_019_k
element_020_ca
element_021_sc
element_022_ti
element_023_v
element_024_cr
element_025_mn
element_026_fe
element_027_co
element_028_ni
element_029_cu
element_030_zn
element_031_ga
element_032_ge
element_033_as
element_034_se
element_035_br
element_036_kr
element_037_rb
element_038_sr
element_039_y
element_040_zr
element_041_nb
element_042_mo
element_043_tc
element_044_ru
element_045_rh
element_046_pd
element_047_ag
element_048_cd
element_049_in
element_050_sn
element_051_sb
element_052_te
element_053_i
element_054_xe
element_055_cs
element_056_ba
element_057_la
element_058_ce
element_059_pr
element_060_nd
element_061_pm
element_062_sm
element_063_eu
element_064_gd
element_065_tb
element_066_dy
element_067_ho
element_068_er
element_069_tm
element_070_yb
element_071_lu
element_072_hf
element_073_ta
element_074_w
element_075_re
element_076_os
element_077_ir
element_078_pt
element_079_au
element_080_hg
element_081_tl
element_082_pb
element_083_bi
element_084_po
element_085_at
element_086_rn
element_087_fr
element_088_ra
element_089_ac
element_090_th
element_091_pa
element_092_u
element_093_np
element_094_pu
element_095_am
element_096_cm
element_097_bk
element_098_cf
element_099_es
element_100_fm
element_101_md
element_102_no
element_103_lr
element_104_rf
element_105_db
element_106_sg
element_107_bh
element_108_hs
element_109_mt
element_110_ds
element_111_rg
element_112_cn
element_113_nh
element_114_fl
element_115_mc
element_116_lv
element_117_ts
element_118_og

from jg-rtx.

erich666 avatar erich666 commented on August 25, 2024

Ha, that's a revelation - the EE edition has elements?! I had no idea. Found. Well, that's something definitely not in the Java edition, so I can blithely ignore these.

from jg-rtx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.