diff options
author | Namikon <Namikon@users.noreply.github.com> | 2015-07-13 08:37:39 +0200 |
---|---|---|
committer | Namikon <Namikon@users.noreply.github.com> | 2015-07-13 08:37:39 +0200 |
commit | 8fdeea1adc6bdcbb6b97d7c828bb1f3be7854966 (patch) | |
tree | 05f80c669a86c1a661ee66abbfbc6616db391b40 /src/main/java/bloodasp/galacticgreg/api/ISpaceObjectGenerator.java | |
parent | fa1cfee96e2a1efd1e16a7a4c97137e68a5b97d6 (diff) | |
parent | a98f5609f94057d526ea889f428d46de4bd2f566 (diff) | |
download | GT5-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.java | 51 |
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(); +} |