From 5a5daf67509528c506fbd33356b167561826a777 Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Tue, 26 Aug 2014 21:21:45 +0200 Subject: [PATCH] move text resource reading to util class --- .../betterfoliage/client/BlockMatcher.java | 30 +++++-------------- .../common/util/ResourceUtils.java | 22 ++++++++++++++ 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/main/java/mods/betterfoliage/client/BlockMatcher.java b/src/main/java/mods/betterfoliage/client/BlockMatcher.java index 07867ac..4b2ca3b 100644 --- a/src/main/java/mods/betterfoliage/client/BlockMatcher.java +++ b/src/main/java/mods/betterfoliage/client/BlockMatcher.java @@ -1,19 +1,15 @@ package mods.betterfoliage.client; -import java.io.BufferedReader; -import java.io.InputStreamReader; import java.util.Collection; import java.util.Iterator; import java.util.Set; -import mods.betterfoliage.BetterFoliage; +import mods.betterfoliage.common.util.ResourceUtils; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.util.ResourceLocation; import net.minecraftforge.event.world.WorldEvent; -import com.google.common.base.Charsets; import com.google.common.collect.Sets; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -63,24 +59,12 @@ public class BlockMatcher { } public static void loadDefaultLists(ResourceLocation defaults, Collection blacklist, Collection whitelist) { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(defaults).getInputStream(), Charsets.UTF_8)); - String line = reader.readLine(); - while(line != null) { - line = line.trim(); - if (!line.isEmpty() && !line.startsWith("//")) { - if (line.startsWith("-")) - blacklist.add(line.substring(1)); - else - whitelist.add(line); - } - line = reader.readLine(); - } - reader.close(); - } catch (Exception e) { - BetterFoliage.log.warn(String.format("Error reading configuration %s", defaults.toString())); - } + for (String line : ResourceUtils.getLines(defaults)) { + if (line.startsWith("-")) + blacklist.add(line.substring(1)); + else + whitelist.add(line); + } } /** Caches block IDs on world load for fast lookup diff --git a/src/main/java/mods/betterfoliage/common/util/ResourceUtils.java b/src/main/java/mods/betterfoliage/common/util/ResourceUtils.java index 7e801d2..bd28bd8 100644 --- a/src/main/java/mods/betterfoliage/common/util/ResourceUtils.java +++ b/src/main/java/mods/betterfoliage/common/util/ResourceUtils.java @@ -5,8 +5,10 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; +import java.util.List; import java.util.Map; +import mods.betterfoliage.BetterFoliage; import mods.betterfoliage.loader.DeobfHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.IResource; @@ -15,6 +17,7 @@ import net.minecraft.client.resources.SimpleReloadableResourceManager; import net.minecraft.util.ResourceLocation; import com.google.common.base.Charsets; +import com.google.common.collect.Lists; import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.ReflectionHelper.UnableToAccessFieldException; @@ -69,4 +72,23 @@ public class ResourceUtils { reader.close(); writer.close(); } + + public static Iterable getLines(ResourceLocation resource) { + BufferedReader reader = null; + List result = Lists.newArrayList(); + try { + reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(resource).getInputStream(), Charsets.UTF_8)); + String line = reader.readLine(); + while(line != null) { + line = line.trim(); + if (!line.isEmpty() && !line.startsWith("//")) result.add(line); + line = reader.readLine(); + } + reader.close(); + } catch (Exception e) { + BetterFoliage.log.warn(String.format("Error reading resource %s", resource.toString())); + return Lists.newArrayList(); + } + return result; + } }