diff options
Diffstat (limited to 'src/main')
4 files changed, 144 insertions, 125 deletions
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/GTNEIOrePlugin.java b/src/main/java/pers/gwyog/gtneioreplugin/GTNEIOrePlugin.java index e04444ad7c..c781991fe6 100644 --- a/src/main/java/pers/gwyog/gtneioreplugin/GTNEIOrePlugin.java +++ b/src/main/java/pers/gwyog/gtneioreplugin/GTNEIOrePlugin.java @@ -1,8 +1,6 @@ package pers.gwyog.gtneioreplugin; -import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; @@ -12,7 +10,6 @@ import cpw.mods.fml.relauncher.Side; import net.minecraft.init.Items; import pers.gwyog.gtneioreplugin.util.GT5OreLayerHelper; import pers.gwyog.gtneioreplugin.util.GT5OreSmallHelper; -import pers.gwyog.gtneioreplugin.util.Oremix; @Mod(modid = GTNEIOrePlugin.MODID, name = GTNEIOrePlugin.NAME, version = GTNEIOrePlugin.VERSION, dependencies = "required-after:gregtech;required-after:NotEnoughItems") public class GTNEIOrePlugin { @@ -21,7 +18,6 @@ public class GTNEIOrePlugin { public static final String VERSION = "@version@"; public static boolean csv = false; public static String CSVname; - public static List<Oremix> OreVeins=new ArrayList(); public static HashSet OreV=new HashSet(); @Mod.Instance(MODID) @@ -38,10 +34,11 @@ public class GTNEIOrePlugin { @EventHandler public void onLoadComplete(FMLLoadCompleteEvent event) { if (event.getSide() == Side.CLIENT) { - GT5OreLayerHelper h = new GT5OreLayerHelper(); - new GT5OreSmallHelper(); - if (csv) - h.make_csv(); + new GT5OreLayerHelper(); + new GT5OreSmallHelper(); + if (csv) { + new pers.gwyog.gtneioreplugin.util.CSVMaker().run(); + } } } diff --git a/src/main/java/pers/gwyog/gtneioreplugin/util/CSVMaker.java b/src/main/java/pers/gwyog/gtneioreplugin/util/CSVMaker.java new file mode 100644 index 0000000000..82a2f4f341 --- /dev/null +++ b/src/main/java/pers/gwyog/gtneioreplugin/util/CSVMaker.java @@ -0,0 +1,137 @@ +package pers.gwyog.gtneioreplugin.util; + +import java.io.BufferedWriter; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import com.opencsv.CSVWriter; +import com.opencsv.bean.ColumnPositionMappingStrategy; +import com.opencsv.bean.StatefulBeanToCsv; +import com.opencsv.bean.StatefulBeanToCsvBuilder; + +import pers.gwyog.gtneioreplugin.GTNEIOrePlugin; +import pers.gwyog.gtneioreplugin.plugin.gregtech5.PluginGT5VeinStat; +import pers.gwyog.gtneioreplugin.util.GT5OreLayerHelper.OreLayerWrapper; + +public class CSVMaker implements Runnable { + + public CSVMaker() { + + } + + public static <T> List<Oremix> Combsort(List<Oremix> liste) { + try { + List<Oremix> liste2 = new ArrayList<Oremix>(liste.size()); + for (Oremix element : liste) { + liste2.add(element); + } + + int schritt = liste2.size(); + boolean vertauscht = false; + do { + vertauscht = false; + if (schritt > 1) { + schritt = (int) (schritt / 1.3); + } + for (int i = 0; i < liste2.size() - schritt; i++) { + if (liste2.get(i).getOreName().substring(0, 3).compareTo((liste2.get(i + schritt).getOreName().substring(0, 3))) > 0) { + T tmp = (T) liste2.get(i); + liste2.set(i, liste2.get(i + schritt)); + liste2.set(i + schritt, (Oremix) tmp); + vertauscht = true; + } + } + } while (vertauscht || schritt > 1); + return liste2; + }catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + public void run() { + try { + Iterator it = GT5OreLayerHelper.mapOreLayerWrapper.entrySet().iterator(); + List<Oremix> OreVeins=new ArrayList(); + while (it.hasNext()) { + Oremix oremix = new Oremix(); + + Map.Entry pair = (Map.Entry)it.next(); + String Dims = PluginGT5VeinStat.getDims((OreLayerWrapper)pair.getValue()); + OreLayerWrapper oreLayer = (OreLayerWrapper) pair.getValue(); + oremix.setOreName(oreLayer.veinName.split("\\.")[2]); + oremix.setPrimary(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[0])); + oremix.setSecondary(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[1])); + oremix.setInbetween(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[2])); + oremix.setAround(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[3])); + oremix.setSize(oreLayer.size); + oremix.setHeight(oreLayer.worldGenHeightRange); + oremix.setDensity(oreLayer.density); + oremix.setWeight(oreLayer.randomWeight); + oremix.setMix(Integer.toString(oreLayer.Meta[0])+"|"+Integer.toString(oreLayer.Meta[1])+"|"+Integer.toString(oreLayer.Meta[2])+"|"+Integer.toString(oreLayer.Meta[3])); + oremix.as=Dims.contains("As"); + oremix.bc=Dims.contains("BC"); + oremix.be=Dims.contains("BE"); + oremix.bf=Dims.contains("BF"); + oremix.ca=Dims.contains("Ca"); + oremix.cb=Dims.contains("CA"); + oremix.ce=Dims.contains("Ce"); + oremix.dd=Dims.contains("DD"); + oremix.de=Dims.contains("De"); + oremix.ea=Dims.contains("EA"); + oremix.en=Dims.contains("En"); + oremix.eu=Dims.contains("Eu"); + oremix.ga=Dims.contains("Ga"); + oremix.ha=Dims.contains("Ha"); + oremix.io=Dims.contains("Io"); + oremix.kb=Dims.contains("KB"); + oremix.make=Dims.contains("MM"); + oremix.ma=Dims.contains("Ma"); + oremix.me=Dims.contains("Me"); + oremix.mi=Dims.contains("Mi"); + oremix.mo=Dims.contains("Mo"); + oremix.ob=Dims.contains("Ob"); + oremix.ph=Dims.contains("Ph"); + oremix.pl=Dims.contains("Pl"); + oremix.pr=Dims.contains("Pr"); + oremix.tcetie=Dims.contains("TE"); + oremix.tf=Dims.contains("TF"); + oremix.ti=Dims.contains("Ti"); + oremix.tr=Dims.contains("Tr"); + oremix.vb=Dims.contains("VB"); + oremix.ve=Dims.contains("Ve"); + oremix.setOverworld(Dims.contains("Ow")); + oremix.setNether(Dims.contains("Ne")); + oremix.setEnd(Dims.contains("EN")); + OreVeins.add(oremix); + + + System.out.println(pair.getKey() + " = " + pair.getValue()); + it.remove(); // avoids a ConcurrentModificationException + } + BufferedWriter one = Files.newBufferedWriter(Paths.get(GTNEIOrePlugin.CSVname)); + ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy(); + strat.setType(Oremix.class); + String[] columns = "ORENAME,PRIMARY,SECONDARY,INBETWEEN,AROUND,mix,TIER,HEIGHT,DENSITY,SIZE,WEIGHT,overworld,nether,end,ea,tf,mo,ma,ph,de,as,ce,eu,ga,ca,io,ve,me,en,ti,mi,ob,pr,tr,pl,kb,ha,make,dd,cb,vb,bc,be,bf,tcetie".split("\\,"); + strat.setColumnMapping(columns); + StatefulBeanToCsv<Oremix> beanToCsv = new StatefulBeanToCsvBuilder(one) + .withQuotechar(CSVWriter.NO_QUOTE_CHARACTER) + .withMappingStrategy(strat) + .build(); + List towrite = Combsort(OreVeins); + one.write("Ore Name,Primary,Secondary,Inbetween,Around,ID,Tier,Height,Density,Size,Weight,Overworld,Nether,End,End Asteroids,Twilight Forest,Moon,Mars,Phobos,Deimos,Asteroids,Ceres,Europa,Ganymede,Callisto,Io,Venus,Mercury,Enceladus,Titan,Miranda,Oberon,Proteus,Triton,Pluto,Kuiper Belt,Haumea,Makemake,Deep Dark,Centauri Bb,Vega B,Barnard C,Barnard E,Barnard F,T Ceti E"); + one.newLine(); + beanToCsv.write(towrite); + one.flush(); + one.close(); + + }catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java b/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java index b3041f13c0..2b6e286174 100644 --- a/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java +++ b/src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java @@ -47,7 +47,7 @@ public class GT5OreLayerHelper { } public class OreLayerWrapper { - public String veinName,worldGenHeightRange, weightedIEChance; + public String veinName, worldGenHeightRange, weightedIEChance; public short[] Meta = new short[4]; public short randomWeight, size, density; public List<Integer> Weight = new ArrayList<Integer>(); @@ -64,120 +64,5 @@ public class GT5OreLayerHelper { this.randomWeight = worldGen.mWeight; } } - - public static <T> List<Oremix> Combsort(List<Oremix> liste) { - List<Oremix> liste2 = new ArrayList<Oremix>(liste.size()); - for (Oremix element : liste) { - liste2.add(element); - } - - int schritt = liste2.size(); - boolean vertauscht = false; - do { - vertauscht = false; - if (schritt > 1) { - schritt = (int) (schritt / 1.3); - } - for (int i = 0; i < liste2.size() - schritt; i++) { - if (liste2.get(i).getOreName().substring(0, 3).compareTo((liste2.get(i + schritt).getOreName().substring(0, 3))) > 0) { - T tmp = (T) liste2.get(i); - liste2.set(i, liste2.get(i + schritt)); - liste2.set(i + schritt, (Oremix) tmp); - vertauscht = true; - } - } - } while (vertauscht || schritt > 1); - return liste2; - } - - public static void make_csv() { - Iterator it = mapOreLayerWrapper.entrySet().iterator(); - while (it.hasNext()) { - Oremix oremix = new Oremix(); - - Map.Entry pair = (Map.Entry)it.next(); - String Dims = PluginGT5VeinStat.getDims((OreLayerWrapper)pair.getValue()); - OreLayerWrapper oreLayer = (OreLayerWrapper) pair.getValue(); - oremix.setOreName(oreLayer.veinName.split("\\.")[2]); - oremix.setPrimary(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[0])); - oremix.setSecondary(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[1])); - oremix.setInbetween(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[2])); - oremix.setAround(PluginGT5VeinStat.getGTOreLocalizedName(oreLayer.Meta[3])); - oremix.setSize(oreLayer.size); - oremix.setHeight(oreLayer.worldGenHeightRange); - oremix.setDensity(oreLayer.density); - oremix.setWeight(oreLayer.randomWeight); - oremix.setMix(Integer.toString(oreLayer.Meta[0])+"|"+Integer.toString(oreLayer.Meta[1])+"|"+Integer.toString(oreLayer.Meta[2])+"|"+Integer.toString(oreLayer.Meta[3])); - oremix.as=Dims.contains("As"); - oremix.bc=Dims.contains("BC"); - oremix.be=Dims.contains("BE"); - oremix.bf=Dims.contains("BF"); - oremix.ca=Dims.contains("Ca"); - oremix.cb=Dims.contains("CA"); - oremix.ce=Dims.contains("Ce"); - oremix.dd=Dims.contains("DD"); - oremix.de=Dims.contains("De"); - oremix.ea=Dims.contains("EA"); - oremix.en=Dims.contains("En"); - oremix.eu=Dims.contains("Eu"); - oremix.ga=Dims.contains("Ga"); - oremix.ha=Dims.contains("Ha"); - oremix.io=Dims.contains("Io"); - oremix.kb=Dims.contains("KB"); - oremix.make=Dims.contains("MM"); - oremix.ma=Dims.contains("Ma"); - oremix.me=Dims.contains("Me"); - oremix.mi=Dims.contains("Mi"); - oremix.mo=Dims.contains("Mo"); - oremix.ob=Dims.contains("Ob"); - oremix.ph=Dims.contains("Ph"); - oremix.pl=Dims.contains("Pl"); - oremix.pr=Dims.contains("Pr"); - oremix.tcetie=Dims.contains("TE"); - oremix.tf=Dims.contains("TF"); - oremix.ti=Dims.contains("Ti"); - oremix.tr=Dims.contains("Tr"); - oremix.vb=Dims.contains("VB"); - oremix.ve=Dims.contains("Ve"); - oremix.setOverworld(Dims.contains("Ow")); - oremix.setNether(Dims.contains("Ne")); - oremix.setEnd(Dims.contains("EN")); - GTNEIOrePlugin.OreVeins.add(oremix); - - - System.out.println(pair.getKey() + " = " + pair.getValue()); - it.remove(); // avoids a ConcurrentModificationException - } - BufferedWriter one = null; - try { - one = Files.newBufferedWriter(Paths.get(GTNEIOrePlugin.CSVname)); - } catch (IOException e1) { - e1.printStackTrace(); - } - - ColumnPositionMappingStrategy strat = new ColumnPositionMappingStrategy(); - strat.setType(Oremix.class); - String[] columns = "ORENAME,PRIMARY,SECONDARY,INBETWEEN,AROUND,mix,TIER,HEIGHT,DENSITY,SIZE,WEIGHT,overworld,nether,end,ea,tf,mo,ma,ph,de,as,ce,eu,ga,ca,io,ve,me,en,ti,mi,ob,pr,tr,pl,kb,ha,make,dd,cb,vb,bc,be,bf,tcetie".split("\\,"); - strat.setColumnMapping(columns); - StatefulBeanToCsv<Oremix> beanToCsv = new StatefulBeanToCsvBuilder(one) - .withQuotechar(CSVWriter.NO_QUOTE_CHARACTER) - .withMappingStrategy(strat) - .build(); - List towrite = Combsort(GTNEIOrePlugin.OreVeins); - try { - one.write("Ore Name,Primary,Secondary,Inbetween,Around,ID,Tier,Height,Density,Size,Weight,Overworld,Nether,End,End Asteroids,Twilight Forest,Moon,Mars,Phobos,Deimos,Asteroids,Ceres,Europa,Ganymede,Callisto,Io,Venus,Mercury,Enceladus,Titan,Miranda,Oberon,Proteus,Triton,Pluto,Kuiper Belt,Haumea,Makemake,Deep Dark,Centauri Bb,Vega B,Barnard C,Barnard E,Barnard F,T Ceti E"); - one.newLine(); - beanToCsv.write(towrite); - } catch (Exception e) { - e.printStackTrace(); - } - try { - one.flush(); - one.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } }
\ No newline at end of file diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index d553921d26..67282f3b03 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "gtneioreplugin", "name": "GT NEI Ore Plugin GT:NH Mod", "description": "A forge mod which adds NEI plugins for GregTech5's ores. Modded for GT:NH", - "version": "v1.0.4-GTNH", + "version": "v1.0.6c-GTNH", "mcversion": "1.7.10", "url": "", "updateUrl": "", |