@SubscribeEvent @SideOnly(Side.CLIENT) public void registerSprites(TextureStitchEvent.Pre event) { TextureLeaves.registerAllSprites(); WoodTextureManager.parseFile(); for (IAlleleFruit alleleFruit : AlleleFruits.getFruitAlleles()) { alleleFruit.getProvider().registerSprites(); } List<ResourceLocation> textures = new ArrayList<>(); for (IWoodType type : TreeManager.woodAccess.getRegisteredWoodTypes()) { textures.add(new ResourceLocation(type.getHeartTexture())); textures.add(new ResourceLocation(type.getBarkTexture())); textures.add(new ResourceLocation(type.getDoorLowerTexture())); textures.add(new ResourceLocation(type.getDoorUpperTexture())); textures.add(new ResourceLocation(type.getPlankTexture())); for (WoodBlockKind kind : WoodBlockKind.values()) { for (Entry<String, String> loc : WoodTextureManager.getTextures(type, kind).entrySet()) { textures.add(new ResourceLocation(loc.getValue())); } } } for (ResourceLocation loc : textures) { TextureManagerForestry.registerSprite(loc); } }