aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/galacticgreg/api/enums/properties
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-02 23:17:17 +0200
committerGitHub <noreply@github.com>2024-09-02 23:17:17 +0200
commit1b820de08a05070909a267e17f033fcf58ac8710 (patch)
tree02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/galacticgreg/api/enums/properties
parentafd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff)
downloadGT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip
The Great Renaming (#3014)
* move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names
Diffstat (limited to 'src/main/java/galacticgreg/api/enums/properties')
-rw-r--r--src/main/java/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java105
-rw-r--r--src/main/java/galacticgreg/api/enums/properties/Asteroids.java78
2 files changed, 183 insertions, 0 deletions
diff --git a/src/main/java/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java b/src/main/java/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java
new file mode 100644
index 0000000000..bf5fecc78a
--- /dev/null
+++ b/src/main/java/galacticgreg/api/enums/properties/AsteroidPropertyBuilder.java
@@ -0,0 +1,105 @@
+package galacticgreg.api.enums.properties;
+
+public class AsteroidPropertyBuilder {
+
+ public int probability;
+ public int sizeMin, sizeMax;
+ public int specialBlockChance;
+ public OreSpawnPropertyBuilder oreSpawn;
+ public LootPropertyBuilder loot;
+
+ public static class OreSpawnPropertyBuilder {
+
+ public int baseOreChance;
+ public boolean obeyHeighLimits;
+ public boolean oresOnlyInsideAsteroids;
+ public int primaryToRareOreOffset;
+ public int smallOreChance;
+
+ public OreSpawnPropertyBuilder baseOreChance(int baseOreChance) {
+ this.baseOreChance = baseOreChance;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder doesObeyingHeightLimits(boolean obeyHeighLimits) {
+ this.obeyHeighLimits = obeyHeighLimits;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder AreOresOnlyInsideAsteroids(boolean oresOnlyInsideAsteroids) {
+ this.oresOnlyInsideAsteroids = oresOnlyInsideAsteroids;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder primaryToRareOreOffset(int primaryToRareOreOffset) {
+ this.primaryToRareOreOffset = primaryToRareOreOffset;
+ return this;
+ }
+
+ public OreSpawnPropertyBuilder smallOreChance(int smallOreChance) {
+ this.smallOreChance = smallOreChance;
+ return this;
+ }
+
+ }
+
+ public static class LootPropertyBuilder {
+
+ public int lootChestChance;
+ public int lootChestItemCount;
+ public int lootChestTable;
+ public boolean randomizeLootItemCount;
+
+ public LootPropertyBuilder lootChestChance(int lootChestChance) {
+ this.lootChestChance = lootChestChance;
+ return this;
+ }
+
+ public LootPropertyBuilder lootChestItemCount(int lootChestItemCount) {
+ this.lootChestItemCount = lootChestItemCount;
+ return this;
+ }
+
+ public LootPropertyBuilder lootChestTable(int lootChestTable) {
+ this.lootChestTable = lootChestTable;
+ return this;
+ }
+
+ public LootPropertyBuilder isLootItemCountRandomized(boolean randomizeLootItemCount) {
+ this.randomizeLootItemCount = randomizeLootItemCount;
+ return this;
+ }
+
+ }
+
+ public AsteroidPropertyBuilder() {
+ oreSpawn = new OreSpawnPropertyBuilder();
+ loot = new LootPropertyBuilder();
+ }
+
+ public AsteroidPropertyBuilder probability(int probability) {
+ this.probability = probability;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder sizeRange(int sizeMin, int sizeMax) {
+ this.sizeMin = sizeMin;
+ this.sizeMax = sizeMax;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder specialBlockChance(int specialBlockChance) {
+ this.specialBlockChance = specialBlockChance;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder oreSpawn(OreSpawnPropertyBuilder oreSpawnPropertyBuilder) {
+ this.oreSpawn = oreSpawnPropertyBuilder;
+ return this;
+ }
+
+ public AsteroidPropertyBuilder loot(LootPropertyBuilder lootPropertyBuilder) {
+ this.loot = lootPropertyBuilder;
+ return this;
+ }
+}
diff --git a/src/main/java/galacticgreg/api/enums/properties/Asteroids.java b/src/main/java/galacticgreg/api/enums/properties/Asteroids.java
new file mode 100644
index 0000000000..2916031aaf
--- /dev/null
+++ b/src/main/java/galacticgreg/api/enums/properties/Asteroids.java
@@ -0,0 +1,78 @@
+package galacticgreg.api.enums.properties;
+
+import galacticgreg.api.enums.DimensionDef;
+import galacticgreg.api.enums.ModContainers;
+
+public enum Asteroids {
+
+ // spotless : off
+ EndAsteroids(ModContainers.Vanilla, DimensionDef.EndAsteroids, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),
+ KuiperBelt(ModContainers.GalaxySpace, DimensionDef.KuiperBelt, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),
+ MehenBelt(ModContainers.AmunRa, DimensionDef.MehenBelt, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),
+ Asteroids(ModContainers.GalacticraftMars, DimensionDef.Asteroids, new AsteroidPropertyBuilder().probability(200)
+ .sizeRange(5, 15)
+ .specialBlockChance(5)
+ .oreSpawn(
+ new AsteroidPropertyBuilder.OreSpawnPropertyBuilder().baseOreChance(5)
+ .doesObeyingHeightLimits(false)
+ .AreOresOnlyInsideAsteroids(false)
+ .primaryToRareOreOffset(5)
+ .smallOreChance(10))
+ .loot(
+ new AsteroidPropertyBuilder.LootPropertyBuilder().lootChestChance(1)
+ .lootChestItemCount(10)
+ .lootChestTable(3)
+ .isLootItemCountRandomized(true))),;
+
+ // spotless : on
+
+ public ModContainers modContainers;
+ public DimensionDef dimensionDef;
+ public AsteroidPropertyBuilder asteroidPropertyBuilder;
+
+ private Asteroids(ModContainers modContainers, DimensionDef dimensionDef,
+ AsteroidPropertyBuilder asteroidPropertyBuilder) {
+ this.modContainers = modContainers;
+ this.dimensionDef = dimensionDef;
+ this.asteroidPropertyBuilder = asteroidPropertyBuilder;
+ }
+}