diff --git a/src/main/java/mods/betterfoliage/client/resource/LeafParticleTextures.java b/src/main/java/mods/betterfoliage/client/resource/LeafParticleTextures.java index 3ce4960..93b5f5c 100644 --- a/src/main/java/mods/betterfoliage/client/resource/LeafParticleTextures.java +++ b/src/main/java/mods/betterfoliage/client/resource/LeafParticleTextures.java @@ -7,6 +7,7 @@ import java.util.Map; import javax.imageio.ImageIO; +import mods.betterfoliage.BetterFoliage; import mods.betterfoliage.client.TextureMatcher; import mods.betterfoliage.client.render.IconSet; import mods.betterfoliage.client.resource.LeafTextureEnumerator.LeafTextureFoundEvent; @@ -40,6 +41,8 @@ public class LeafParticleTextures { /** Default color value */ public int defaultColor = 0x208040; + public int loadedSets; + public LeafParticleTextures(int defaultColor) { this.defaultColor = defaultColor; } @@ -56,16 +59,6 @@ public class LeafParticleTextures { return result == null ? defaultColor : result; } - protected void addAtlasTexture(TextureAtlasSprite icon) { - Integer textureColor = calculateTextureColor(icon); - if (textureColor != null) iconColors.put(icon, textureColor); - - String leafType = leafTypes.put(icon); - if (leafType != null && !iconSets.keySet().contains(leafType)) { - iconSets.put(leafType, new IconSet("betterfoliage", String.format("falling_leaf_%s_%%d", leafType))); - } - } - /** Calculate average color value (in HSB color space) for a texture. * @param icon texture */ @@ -104,6 +97,7 @@ public class LeafParticleTextures { @SubscribeEvent public void handleTextureReload(TextureStitchEvent.Pre event) { if (event.map.getTextureType() != 0) return; + loadedSets = 1; iconSets.clear(); iconColors.clear(); @@ -113,9 +107,23 @@ public class LeafParticleTextures { defaultIcons.registerIcons(event.map); } + @SubscribeEvent + public void endTextureReload(TextureStitchEvent.Post event) { + if (event.map.getTextureType() == 0) BetterFoliage.log.info(String.format("Loaded %d leaf particle sets", loadedSets)); + } + @SubscribeEvent public void handleRegisterTexture(LeafTextureFoundEvent event) { - addAtlasTexture(event.icon); + Integer textureColor = calculateTextureColor(event.icon); + if (textureColor != null) iconColors.put(event.icon, textureColor); + + String leafType = leafTypes.put(event.icon); + if (leafType != null && !iconSets.keySet().contains(leafType)) { + IconSet newSet = new IconSet("betterfoliage", String.format("falling_leaf_%s_%%d", leafType)); + newSet.registerIcons(event.blockTextures); + iconSets.put(leafType, newSet); + loadedSets++; + } } } diff --git a/src/main/resources/assets/betterfoliage/leafTextureMappings.cfg b/src/main/resources/assets/betterfoliage/leafTextureMappings.cfg new file mode 100644 index 0000000..d8d4f00 --- /dev/null +++ b/src/main/resources/assets/betterfoliage/leafTextureMappings.cfg @@ -0,0 +1,7 @@ +// Vanilla +spruce=spruce +jungle=jungle + +// Biomes O' Plenty +loftwood=jungle +fir=spruce \ No newline at end of file diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_0.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_0.png new file mode 100644 index 0000000..3b3ea39 Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_0.png differ diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_1.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_1.png new file mode 100644 index 0000000..b44a85f Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_1.png differ diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_2.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_2.png new file mode 100644 index 0000000..1020259 Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_2.png differ diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_3.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_3.png new file mode 100644 index 0000000..8665fcc Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_jungle_3.png differ diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_0.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_0.png new file mode 100644 index 0000000..714b14b Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_0.png differ diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_1.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_1.png new file mode 100644 index 0000000..7103dcc Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_1.png differ diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_2.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_2.png new file mode 100644 index 0000000..480f409 Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_2.png differ diff --git a/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_3.png b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_3.png new file mode 100644 index 0000000..6fd5ea4 Binary files /dev/null and b/src/main/resources/assets/betterfoliage/textures/blocks/falling_leaf_spruce_3.png differ