From 0a6e24104ee6c95004f796f22c76cf56614452c3 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Mon, 2 Aug 2021 15:27:05 -0400 Subject: [PATCH] Support new loaders --- .../com/volmit/iris/engine/object/IrisBiome.java | 10 ++++++++++ .../volmit/iris/engine/object/IrisBlockData.java | 10 ++++++++++ .../volmit/iris/engine/object/IrisDimension.java | 10 ++++++++++ .../com/volmit/iris/engine/object/IrisEntity.java | 10 ++++++++++ ...xpressionGenerator.java => IrisExpression.java} | 14 ++++++++++++-- .../volmit/iris/engine/object/IrisGenerator.java | 10 ++++++++++ .../volmit/iris/engine/object/IrisJigsawPiece.java | 10 ++++++++++ .../volmit/iris/engine/object/IrisJigsawPool.java | 10 ++++++++++ .../iris/engine/object/IrisJigsawStructure.java | 10 ++++++++++ .../object/IrisJigsawStructurePlacement.java | 2 +- .../volmit/iris/engine/object/IrisLootTable.java | 10 ++++++++++ .../com/volmit/iris/engine/object/IrisMod.java | 10 ++++++++++ .../com/volmit/iris/engine/object/IrisObject.java | 10 ++++++++++ .../com/volmit/iris/engine/object/IrisRegion.java | 10 ++++++++++ .../volmit/iris/engine/object/IrisRegistrant.java | 6 +++++- .../com/volmit/iris/engine/object/IrisSpawner.java | 10 ++++++++++ 16 files changed, 148 insertions(+), 4 deletions(-) rename src/main/java/com/volmit/iris/engine/object/{IrisExpressionGenerator.java => IrisExpression.java} (93%) diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiome.java b/src/main/java/com/volmit/iris/engine/object/IrisBiome.java index 16f3f318d..961d8dafb 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiome.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisBiome.java @@ -672,4 +672,14 @@ public class IrisBiome extends IrisRegistrant implements IRare { return Color.black; } + + @Override + public String getFolderName() { + return "biomes"; + } + + @Override + public String getTypeName() { + return "Biome"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBlockData.java b/src/main/java/com/volmit/iris/engine/object/IrisBlockData.java index d353d746c..768fd737b 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBlockData.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisBlockData.java @@ -209,4 +209,14 @@ public class IrisBlockData extends IrisRegistrant { return string; } + + @Override + public String getFolderName() { + return "blocks"; + } + + @Override + public String getTypeName() { + return "Block"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java b/src/main/java/com/volmit/iris/engine/object/IrisDimension.java index 4cbec63ab..4027180e7 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisDimension.java @@ -501,4 +501,14 @@ public class IrisDimension extends IrisRegistrant { return false; }); } + + @Override + public String getFolderName() { + return "dimensions"; + } + + @Override + public String getTypeName() { + return "Dimension"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEntity.java b/src/main/java/com/volmit/iris/engine/object/IrisEntity.java index 0f68a7ec5..0994c13fc 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEntity.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisEntity.java @@ -297,4 +297,14 @@ public class IrisEntity extends IrisRegistrant { // TODO: return Iris.linkCitizens.supported() && someType is not empty; } + + @Override + public String getFolderName() { + return "entities"; + } + + @Override + public String getTypeName() { + return "Entity"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisExpressionGenerator.java b/src/main/java/com/volmit/iris/engine/object/IrisExpression.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisExpressionGenerator.java rename to src/main/java/com/volmit/iris/engine/object/IrisExpression.java index d9e196d85..1a3d06453 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisExpressionGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisExpression.java @@ -41,10 +41,10 @@ import lombok.experimental.Accessors; @Desc("Represents Block Data") @Data @EqualsAndHashCode(callSuper = false) -public class IrisExpressionGenerator extends IrisRegistrant { +public class IrisExpression extends IrisRegistrant { private static final Parser parser = new Parser(); - @ArrayType(type = IrisExpressionGenerator.class, min = 1) + @ArrayType(type = IrisExpression.class, min = 1) @Desc("Variables to use in this expression") private KList variables = new KList<>(); @@ -109,4 +109,14 @@ public class IrisExpressionGenerator extends IrisRegistrant { return expression().evaluate(g); } + + @Override + public String getFolderName() { + return "expressions"; + } + + @Override + public String getTypeName() { + return "Expression"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java b/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java index 72af98ab7..1486abe25 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java @@ -278,4 +278,14 @@ public class IrisGenerator extends IrisRegistrant { return g; } + + @Override + public String getFolderName() { + return "generators"; + } + + @Override + public String getTypeName() { + return "Generator"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPiece.java b/src/main/java/com/volmit/iris/engine/object/IrisJigsawPiece.java index 8005783f3..259777323 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPiece.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisJigsawPiece.java @@ -121,4 +121,14 @@ public class IrisJigsawPiece extends IrisRegistrant { public ObjectPlaceMode getPlaceMode() { return getPlacementOptions().getMode(); } + + @Override + public String getFolderName() { + return "jigsaw-pieces"; + } + + @Override + public String getTypeName() { + return "Jigsaw Piece"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPool.java b/src/main/java/com/volmit/iris/engine/object/IrisJigsawPool.java index c5a52e39c..05b49ee8e 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPool.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisJigsawPool.java @@ -43,4 +43,14 @@ public class IrisJigsawPool extends IrisRegistrant { @ArrayType(min = 1, type = String.class) @Desc("A list of structure piece pools") private KList pieces = new KList<>(); + + @Override + public String getFolderName() { + return "jigsaw-pools"; + } + + @Override + public String getTypeName() { + return "Jigsaw Pool"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructure.java b/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructure.java index 381e595a3..33c8def40 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructure.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructure.java @@ -129,4 +129,14 @@ public class IrisJigsawStructure extends IrisRegistrant { } }); } + + @Override + public String getFolderName() { + return "jigsaw-structures"; + } + + @Override + public String getTypeName() { + return "Jigsaw Structure"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructurePlacement.java b/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructurePlacement.java index 7c56ef4c6..1846d8a8b 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructurePlacement.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructurePlacement.java @@ -35,7 +35,7 @@ import lombok.experimental.Accessors; @Desc("Represents a jigsaw structure placer") @Data @EqualsAndHashCode(callSuper = false) -public class IrisJigsawStructurePlacement extends IrisRegistrant { +public class IrisJigsawStructurePlacement { @RegistryListJigsaw @Required @Desc("The structure to place") diff --git a/src/main/java/com/volmit/iris/engine/object/IrisLootTable.java b/src/main/java/com/volmit/iris/engine/object/IrisLootTable.java index 8a55966cc..04589fa03 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisLootTable.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisLootTable.java @@ -84,4 +84,14 @@ public class IrisLootTable extends IrisRegistrant { return lootf; } + + @Override + public String getFolderName() { + return "loot"; + } + + @Override + public String getTypeName() { + return "Loot"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisMod.java b/src/main/java/com/volmit/iris/engine/object/IrisMod.java index f58a2cdd0..703d3917d 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisMod.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisMod.java @@ -98,4 +98,14 @@ public class IrisMod extends IrisRegistrant { @ArrayType(min = 1, type = IrisModNoiseStyleReplacer.class) @Desc("Replace noise styles with other styles") private KList styleReplacers = new KList<>(); + + @Override + public String getFolderName() { + return "mods"; + } + + @Override + public String getTypeName() { + return "Mod"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObject.java b/src/main/java/com/volmit/iris/engine/object/IrisObject.java index 4438d9872..5775ab8e9 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObject.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisObject.java @@ -964,4 +964,14 @@ public class IrisObject extends IrisRegistrant { public int volume() { return blocks.size(); } + + @Override + public String getFolderName() { + return "objects"; + } + + @Override + public String getTypeName() { + return "Object"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java b/src/main/java/com/volmit/iris/engine/object/IrisRegion.java index ebb85d622..b13673da4 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisRegion.java @@ -548,4 +548,14 @@ public class IrisRegion extends IrisRegistrant implements IRare { public void pickRandomColor(DataProvider data) { } + + @Override + public String getFolderName() { + return "regions"; + } + + @Override + public String getTypeName() { + return "Region"; + } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegistrant.java b/src/main/java/com/volmit/iris/engine/object/IrisRegistrant.java index ba1f313e1..91fb918a4 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegistrant.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisRegistrant.java @@ -26,13 +26,17 @@ import java.awt.*; import java.io.File; @Data -public class IrisRegistrant { +public abstract class IrisRegistrant { private transient IrisDataManager loader; private transient String loadKey; private transient File loadFile; + public abstract String getFolderName(); + + public abstract String getTypeName(); + public File openInVSCode() { try { Desktop.getDesktop().open(getLoadFile()); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisSpawner.java b/src/main/java/com/volmit/iris/engine/object/IrisSpawner.java index fa50a9f4e..c2c1eb40e 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisSpawner.java +++ b/src/main/java/com/volmit/iris/engine/object/IrisSpawner.java @@ -51,4 +51,14 @@ public class IrisSpawner extends IrisRegistrant { public boolean isValid(World world) { return timeBlock.isWithin(world) && weather.is(world); } + + @Override + public String getFolderName() { + return "spawners"; + } + + @Override + public String getTypeName() { + return "Spawner"; + } }