aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java
diff options
context:
space:
mode:
authorNamikon <Namikon@users.noreply.github.com>2015-07-13 08:37:39 +0200
committerNamikon <Namikon@users.noreply.github.com>2015-07-13 08:37:39 +0200
commit8fdeea1adc6bdcbb6b97d7c828bb1f3be7854966 (patch)
tree05f80c669a86c1a661ee66abbfbc6616db391b40 /src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java
parentfa1cfee96e2a1efd1e16a7a4c97137e68a5b97d6 (diff)
parenta98f5609f94057d526ea889f428d46de4bd2f566 (diff)
downloadGT5-Unofficial-8fdeea1adc6bdcbb6b97d7c828bb1f3be7854966.tar.gz
GT5-Unofficial-8fdeea1adc6bdcbb6b97d7c828bb1f3be7854966.tar.bz2
GT5-Unofficial-8fdeea1adc6bdcbb6b97d7c828bb1f3be7854966.zip
Merge pull request #1 from GTNewHorizons/dev
Diffstat (limited to 'src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java')
-rw-r--r--src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java b/src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java
new file mode 100644
index 0000000000..b51e5facb3
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java
@@ -0,0 +1,51 @@
+package bloodasp.galacticgreg.api;
+
+import java.util.List;
+
+import bloodasp.galacticgreg.api.Enums.SpaceObjectType;
+import net.minecraft.util.Vec3;
+
+public interface ISpaceObjectGenerator {
+ Vec3 getCenterPoint();
+ /**
+ * Set the center-point of the object to generate, by providing X, Y and Z directly
+ * @param pX
+ * @param pY
+ * @param pZ
+ */
+ void setCenterPoint(int pX, int pY, int pZ);
+
+ /**
+ * Set the center-point of the object to generate, by providing a Vec3 instance
+ * @param pCenter
+ */
+ void setCenterPoint(Vec3 pCenter);
+ List<StructureInformation> getStructure();
+
+ /**
+ * Calculate the structure
+ * Called after randomize()
+ */
+ void calculate();
+
+ /**
+ * Randomize the structure.
+ * Called before calculate()
+ * @param pSizeMin The minimum size for the structure. It is up to you how you handle this value. it's what the user sets in his config file
+ * @param pSizeMax The maximum size for the structure. It is up to you how you handle this value. it's what the user sets in his config file
+ */
+ void randomize(int pSizeMin, int pSizeMax);
+
+ /**
+ * Define the type of the generator. OreAsteroid will be used to spawn ores at given coordinates,
+ * where NonOreSchematic will use the Blocks provided in the structural information to generate your structure
+ * @return
+ */
+ SpaceObjectType getType();
+
+
+ /**
+ * This function is called every time the generator shall be reset in order to generate a blank, new structure
+ */
+ void reset();
+}