And it gets even weirder works perfectly here. running netbeans 8.0 (EDIT: specifically https://netbeans.org/downloads/start.html?platform=windows&lang=en&option=javase) Created new project, selected java project with existing sources, click next clicked next again under source package folder, clicked add folder and selected the source folding containing the 3 files, clicked next The 3 files were listed in the includes window as expected. Clicked finish. Run -> Run Project and it worked. Are you sure you got java properly installed? I've never heard of eclipse failing to find it if it's there, it's rather good at it. http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
It was looking in program files. It was in x64. I specified that, it still declined it was the folder. Gave up, moved on. Your instructions are different from mine, I started a new project java application, but I will try an existing package this time, thank you much. This time it worked, although your actionlist specifies damage override for a file path listing your exact mod name (so the ubercannon damage override doesn't work for my mod if I run it, I don't have same directory) C:\Users\Lyle\AppData\Local\Uber Entertainment\Planetary Annihilation\server_mods\com.nixtempestas.antipopcorn\pa\ammo\cannon_uber\ java.io.FileNotFoundException: C:\Program Files (x86)\Uber Entertainment\Planetary Annihilation Launcher\Planetary Annihilation\stable\media\pa\ammo\cannon_uber\cannon_uber.json (The system cannot find the path specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:138) at java.io.FileInputStream.<init>(FileInputStream.java:93) at java.io.FileReader.<init>(FileReader.java:58) at ValueChanger.<init>(ValueChanger.java:27) at JSONShadow.main(JSONShadow.java:32) Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1954) at ValueChanger.getValue(ValueChanger.java:114) at JSONShadow.main(JSONShadow.java:36)
Oh crud. I'd have to do more than expected to change 2-3 values at once (health, cost, speed). Unless it's damage which is lil easier. I can still do so, but I will at least do that by hand. Oh wait, I could make the destination and source the same, can't I?
ah right, you'd have to modify those ones too to point to the exact files. The "path override" styled arrays are a duct tape solution for that annoying time when you want to modify something in a folder like ammo or tools. If you don't want to touch anything but units, just comment out the arrays inside the path_overrides array like so and it will be ignored. Code: public static String[][][] path_overrides = { //path_override_damage, //path_override_splash_damage }; If I'd made the moddir = "com.nixtempestas.antipopcorn\\pa\\ and then in the all the specifier arrays listed the directory as "units\\air\\air_scout\\" etc. it would have been unnecessary to use them at all. Since the uber cannon was the only thing not in units though, I went with duct tape solution.
You'd need 3 arrays for that, more if you don't want them to all be the same multiplier for each array. This is a "blanket sweep" application designed for rapid iteration on a mod. I should mention, make sure you delete any files produced by the application between runs, or it will use the existing modded files as the source instead of vanilla. (unless of course that is what you want it to do)