File tree Expand file tree Collapse file tree
src/main/kotlin/com/mineinabyss/packy/helpers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -12,18 +12,16 @@ import team.unnamed.creative.model.ModelTexture
1212
1313object AtlasGenerator {
1414 fun generateAtlasFile (resourcePack : ResourcePack ) {
15- val sources = ObjectArrayList <AtlasSource >()
16- resourcePack.models().forEach { model ->
17- addKey(model.textures().layers().mapNotNullFast(ModelTexture ::key), sources)
18- addKey(model.textures().variables().values.mapNotNullFast(ModelTexture ::key), sources)
15+ val textures = resourcePack.models().flatMap { model ->
16+ model.textures().layers().plus(model.textures().variables().values).plus(model.textures().particle())
17+ }.filterNotNull().mapNotNull(ModelTexture ::key)
1918
20- model.textures().particle()?.key()?.let { addKey(listOf (it), sources) }
21- }
22- sources.sortBy { (it as ? SingleAtlasSource )?.resource() }
19+ val sources = textures.distinctBy { it.asString() }.mapNotNull { key ->
20+ if (ResourcePacks .vanillaResourcePack.texture(key) != null ) return @mapNotNull null
21+ else AtlasSource .single(key)
22+ }.sortedBy { it.resource() }.distinct()
2323
24- val atlas = resourcePack.atlas(Atlas .BLOCKS )?.let {
25- it.toBuilder().sources(it.sources().plus(sources)).build()
26- } ? : Atlas .atlas(Atlas .BLOCKS , sources)
24+ val atlas = resourcePack.atlas(Atlas .BLOCKS )?.toBuilder()?.apply { sources.forEach(::addSource) }?.build() ? : Atlas .atlas(Atlas .BLOCKS , sources.distinct())
2725
2826 atlas.addTo(resourcePack)
2927 }
You can’t perform that action at this time.
0 commit comments