From 901a7d66c1766b3f21de4f74e696a30e5d178018 Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Mon, 13 Feb 2017 04:24:48 +0300 Subject: Add new flexible configuration undeground oil --- .../java/gregtech/api/objects/GT_UO_Fluid.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/gregtech/api/objects/GT_UO_Fluid.java (limited to 'src/main/java/gregtech/api/objects/GT_UO_Fluid.java') diff --git a/src/main/java/gregtech/api/objects/GT_UO_Fluid.java b/src/main/java/gregtech/api/objects/GT_UO_Fluid.java new file mode 100644 index 0000000000..e326fac46c --- /dev/null +++ b/src/main/java/gregtech/api/objects/GT_UO_Fluid.java @@ -0,0 +1,41 @@ +package gregtech.api.objects; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Random; + +import gregtech.api.enums.GT_Values; +import net.minecraftforge.common.config.ConfigCategory; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; + +public class GT_UO_Fluid { + public String Registry; + public int MaxAmount; + public int MinAmount; + public int Chance; + + public GT_UO_Fluid(ConfigCategory aConfigCategory) { + Registry = aConfigCategory.get("Registry").getString();; + MaxAmount = aConfigCategory.get("MaxAmount").getInt(); + MinAmount = aConfigCategory.get("MinAmount").getInt(); + Chance = aConfigCategory.get("Chance").getInt(); + //System.out.println("GT UO "+aConfigCategory.getName()+" Fluid:"+Registry+" Max:"+MaxAmount+" Min:"+MinAmount+" Chance:"+Chance); + } + + public Fluid getFluid(){ + try { + return FluidRegistry.getFluid(this.Registry); + } catch (Exception e) { + return null; + } + } + + public int getRandomAmount(Random aRandom){ + int r1 = (int)Math.round(Math.pow((MaxAmount-MinAmount)*500000.d, 0.2)); + int r2 = (int)Math.floor(Math.pow(MinAmount*500000.d, 0.2)); + double amount = aRandom.nextInt(r1)+r2+aRandom.nextDouble(); + return (int) (Math.pow(amount, 5) / 100); + } + +} \ No newline at end of file -- cgit From 8e2280bc2c700a04ae5b829fe79eba4ba95a22d3 Mon Sep 17 00:00:00 2001 From: Maxime Legkiy Date: Fri, 17 Feb 2017 01:55:54 +0300 Subject: Fix name config category to UndergroundFluid Fix comments configuration Fix Start config - add nether and end to BlackList. Default spawn fluids on overworld and Moon. Add Decrease Per Operation Amount (if 0 an endless source) --- .../java/gregtech/api/objects/GT_UO_Fluid.java | 40 +++++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) (limited to 'src/main/java/gregtech/api/objects/GT_UO_Fluid.java') diff --git a/src/main/java/gregtech/api/objects/GT_UO_Fluid.java b/src/main/java/gregtech/api/objects/GT_UO_Fluid.java index e326fac46c..c2d9b70bd2 100644 --- a/src/main/java/gregtech/api/objects/GT_UO_Fluid.java +++ b/src/main/java/gregtech/api/objects/GT_UO_Fluid.java @@ -10,16 +10,38 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; public class GT_UO_Fluid { - public String Registry; - public int MaxAmount; - public int MinAmount; - public int Chance; + public String Registry = "null"; + public int MaxAmount = 0; + public int MinAmount = 0; + public int Chance = 0; + public int DecreasePerOperationAmount = 5; - public GT_UO_Fluid(ConfigCategory aConfigCategory) { - Registry = aConfigCategory.get("Registry").getString();; - MaxAmount = aConfigCategory.get("MaxAmount").getInt(); - MinAmount = aConfigCategory.get("MinAmount").getInt(); - Chance = aConfigCategory.get("Chance").getInt(); + public GT_UO_Fluid(ConfigCategory aConfigCategory) { + if (aConfigCategory.containsKey("Registry")) + { + aConfigCategory.get("Registry").comment = "Fluid registry"; + Registry = aConfigCategory.get("Registry").getString(); + } + if (aConfigCategory.containsKey("MaxAmount")) + { + aConfigCategory.get("MaxAmount").comment = "Max amount generation (per operation Amount)"; + MaxAmount = aConfigCategory.get("MaxAmount").getInt(0); + } + if (aConfigCategory.containsKey("MinAmount")) + { + aConfigCategory.get("MinAmount").comment = "Max amount generation (per operation Amount)"; + MinAmount = aConfigCategory.get("MinAmount").getInt(0); + } + if (aConfigCategory.containsKey("Chance")) + { + aConfigCategory.get("Chance").comment = "Chance generating"; + Chance = aConfigCategory.get("Chance").getInt(0); + } + if (aConfigCategory.containsKey("DecreasePerOperationAmount")) + { + aConfigCategory.get("DecreasePerOperationAmount").comment = "Decrease per operation Amount (X/5000L per operation)"; + DecreasePerOperationAmount = aConfigCategory.get("DecreasePerOperationAmount").getInt(5); + } //System.out.println("GT UO "+aConfigCategory.getName()+" Fluid:"+Registry+" Max:"+MaxAmount+" Min:"+MinAmount+" Chance:"+Chance); } -- cgit