aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/pers/gwyog/gtneioreplugin/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/pers/gwyog/gtneioreplugin/util')
-rw-r--r--src/main/java/pers/gwyog/gtneioreplugin/util/CSVMaker.java137
-rw-r--r--src/main/java/pers/gwyog/gtneioreplugin/util/GT5OreLayerHelper.java117
2 files changed, 138 insertions, 116 deletions
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