mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 10:12:53 +00:00
f
This commit is contained in:
parent
1e3ff59b26
commit
516a7111a7
@ -27,6 +27,7 @@ import com.volmit.iris.engine.object.IrisJigsawPiece;
|
|||||||
import com.volmit.iris.engine.object.IrisJigsawPieceConnector;
|
import com.volmit.iris.engine.object.IrisJigsawPieceConnector;
|
||||||
import com.volmit.iris.engine.object.IrisObject;
|
import com.volmit.iris.engine.object.IrisObject;
|
||||||
import com.volmit.iris.engine.object.IrisPosition;
|
import com.volmit.iris.engine.object.IrisPosition;
|
||||||
|
import com.volmit.iris.util.collection.KList;
|
||||||
import com.volmit.iris.util.collection.KMap;
|
import com.volmit.iris.util.collection.KMap;
|
||||||
import com.volmit.iris.util.data.Cuboid;
|
import com.volmit.iris.util.data.Cuboid;
|
||||||
import com.volmit.iris.util.io.IO;
|
import com.volmit.iris.util.io.IO;
|
||||||
@ -48,6 +49,7 @@ import org.bukkit.util.Vector;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
public class JigsawEditor implements Listener {
|
public class JigsawEditor implements Listener {
|
||||||
@ -155,15 +157,48 @@ public class JigsawEditor implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void removeKey(JSONObject o, String... path)
|
||||||
|
{
|
||||||
|
if(path.length == 1)
|
||||||
|
{
|
||||||
|
o.remove(path[0]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> s = new java.util.ArrayList<>(List.of(path));
|
||||||
|
s.remove(0);
|
||||||
|
removeKey(o.getJSONObject(path[0]), s.toArray(new String[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<JSONObject> getObjectsInArray(JSONObject a, String key)
|
||||||
|
{
|
||||||
|
KList<JSONObject> o = new KList<>();
|
||||||
|
|
||||||
|
for(int i = 0; i < a.getJSONArray(key).length(); i++)
|
||||||
|
{
|
||||||
|
o.add(a.getJSONArray(key).getJSONObject(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
public void close() {
|
public void close() {
|
||||||
exit();
|
exit();
|
||||||
try {
|
try {
|
||||||
JSONObject j = new JSONObject(new Gson().toJson(piece));
|
JSONObject j = new JSONObject(new Gson().toJson(piece));
|
||||||
// Remove sub-key
|
// Remove sub-key
|
||||||
// J.attempt(() -> j.getJSONObject("placementOptions").remove("translateCenter"));
|
removeKey(j, "placementOptions", "translateCenter"); // should work
|
||||||
|
J.attempt(() -> j.getJSONObject("placementOptions").remove("translateCenter")); // otherwise
|
||||||
|
|
||||||
// remove root key
|
// remove root key
|
||||||
// j.remove("placementOptions");
|
removeKey(j, "placementOptions"); // should work
|
||||||
|
j.remove("placementOptions"); // otherwise
|
||||||
|
|
||||||
|
// Remove key in all objects in array
|
||||||
|
for(JSONObject i : getObjectsInArray(j, "connectors"))
|
||||||
|
{
|
||||||
|
removeKey(i, "rotateConnector");
|
||||||
|
}
|
||||||
|
|
||||||
IO.writeAll(targetSaveLocation, j.toString(4));
|
IO.writeAll(targetSaveLocation, j.toString(4));
|
||||||
} catch(IOException e) {
|
} catch(IOException e) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user