From 70f2a2335490443d517d59ba4e4b1405c26299e0 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Fri, 27 Sep 2024 12:42:35 +0900 Subject: [PATCH] use `_cp` property to load custom application --- src/net/torvald/terrarum/Principii.java | 12 +++++++++++- .../terrarum/debuggerapp/CSVEditor.java | 18 ++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/net/torvald/terrarum/Principii.java b/src/net/torvald/terrarum/Principii.java index aa330a59a..bf333d8a4 100644 --- a/src/net/torvald/terrarum/Principii.java +++ b/src/net/torvald/terrarum/Principii.java @@ -108,6 +108,16 @@ public class Principii { // String[] cmd = (runtime+extracmd0+userDefinedExtraCmd0+" -Xms1G -Xmx"+xmx+"G -cp ./out/TerrarumBuild.jar net.torvald.terrarum.App").split(" "); + // use `_cp` property to load custom application + String cp; + try { + cp = getConfigString("_cp"); + } + catch (NullPointerException e) { + cp = ""; + } + if (cp.isBlank()) cp = "net.torvald.terrarum.App"; + List extracmds = Arrays.stream(extracmd0.split(" ")).toList(); List userDefinedExtraCmds = Arrays.stream(userDefinedExtraCmd0.split(" +")).filter((it) -> !it.isBlank()).toList(); ArrayList cmd0 = new ArrayList<>(); @@ -120,7 +130,7 @@ public class Principii { cmd0.add("-Xmx"+xmx+"G"); cmd0.add("-cp"); cmd0.add("./out/TerrarumBuild.jar"); - cmd0.add("net.torvald.terrarum.App"); + cmd0.add(cp); var cmd = cmd0.stream().filter((it) -> !it.isBlank()).toList(); System.out.println(cmd); diff --git a/src/net/torvald/terrarum/debuggerapp/CSVEditor.java b/src/net/torvald/terrarum/debuggerapp/CSVEditor.java index de373d3f2..455c5e9b4 100644 --- a/src/net/torvald/terrarum/debuggerapp/CSVEditor.java +++ b/src/net/torvald/terrarum/debuggerapp/CSVEditor.java @@ -5,12 +5,14 @@ import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVRecord; import javax.swing.*; +import javax.swing.filechooser.FileFilter; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.StringReader; @@ -28,12 +30,12 @@ import java.util.Properties; public class CSVEditor extends JFrame { /** Default columns. When you open existing csv, it should overwrite this. */ - private String[] columns = new String[]{"id", "drop", "spawn", "name", "shdr", "shdg", "shdb", "shduv", "str", "dsty", "mate", "solid", "wall", "grav", "dlfn", "fv", "fr", "lumr", "lumg", "lumb", "lumuv", "colour", "vscs", "refl","tags"}; + private String[] columns = new String[]{"id", "drop", "spawn", "name", "shdr", "shdg", "shdb", "shduv", "str", "dsty", "mate", "solid", "wall", "grav", "dlfn", "fv", "fr", "lumr", "lumg", "lumb", "lumuv", "refl","tags"}; private final int FOUR_DIGIT = 42; private final int SIX_DIGIT = 50; private final int TWO_DIGIT = 30; private final int ARBITRARY = 240; - private int[] colWidth = new int[]{FOUR_DIGIT, FOUR_DIGIT, FOUR_DIGIT, ARBITRARY, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, TWO_DIGIT, FOUR_DIGIT, FOUR_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, FOUR_DIGIT * 2, TWO_DIGIT, SIX_DIGIT, ARBITRARY}; + private int[] colWidth = new int[]{FOUR_DIGIT, FOUR_DIGIT, FOUR_DIGIT, ARBITRARY, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, TWO_DIGIT, FOUR_DIGIT, FOUR_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, TWO_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, SIX_DIGIT, ARBITRARY}; private final int UNDO_BUFFER_SIZE = 10; @@ -120,6 +122,18 @@ public class CSVEditor extends JFrame { { setFileSelectionMode(JFileChooser.FILES_ONLY); setMultiSelectionEnabled(false); + setAcceptAllFileFilterUsed(false); + addChoosableFileFilter(new FileFilter() { + @Override + public boolean accept(File file) { + return file.isDirectory() || file.getName().toLowerCase().endsWith(".csv"); + } + + @Override + public String getDescription() { + return "CSV Files (*.csv)"; + } + }); } };