aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/thermalfoundation/fluid/TF_Fluids.java
blob: 6ebae643841729e584c531f255f2390351c81013 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package gtPlusPlus.xmod.thermalfoundation.fluid;

import net.minecraft.block.BlockDispenser;
import net.minecraft.init.Items;
import net.minecraft.item.EnumRarity;

import cofh.core.util.fluid.DispenserEmptyBucketHandler;
import cofh.core.util.fluid.DispenserFilledBucketHandler;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.xmod.thermalfoundation.item.TF_Items;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;

public class TF_Fluids
{
	public static Fluid fluidPyrotheum;
	public static Fluid fluidCryotheum;
	public static Fluid fluidEnder;

	public static void preInit()
	{
		if (!LoadedMods.ThermalFoundation){
			Logger.INFO("Adding in our own versions of Thermal Foundation Fluids - Non-GT");
			final Fluid pyrotheum = FluidRegistry.getFluid("pyrotheum");
			final Fluid cryotheum = FluidRegistry.getFluid("cryotheum");
			final Fluid ender = FluidRegistry.getFluid("ender");

			if (pyrotheum == null){
				Logger.INFO("Registering Blazing Pyrotheum as it does not exist.");
				fluidPyrotheum = new Fluid("pyrotheum").setLuminosity(15).setDensity(2000).setViscosity(1200).setTemperature(4000).setRarity(EnumRarity.rare);
				registerFluid(fluidPyrotheum, "pyrotheum");
			}
			else {
				Logger.INFO("Registering Blazing Pyrotheum as it is an already existing Fluid.");
				fluidPyrotheum = pyrotheum;
			}
			if (cryotheum == null){
				Logger.INFO("Registering Gelid Cryotheum as it does not exist.");
				fluidCryotheum = new Fluid("cryotheum").setLuminosity(0).setDensity(4000).setViscosity(3000).setTemperature(50).setRarity(EnumRarity.rare);
				registerFluid(fluidCryotheum, "cryotheum");
			}
			else {
				Logger.INFO("Registering Gelid Cryotheum as it is an already existing Fluid.");
				fluidCryotheum = cryotheum;
			}
			
			if (ender == null){
				Logger.INFO("Registering Resonant Ender as it does not exist.");
				fluidEnder = new Fluid("ender").setLuminosity(3).setDensity(4000).setViscosity(3000).setTemperature(300).setRarity(EnumRarity.uncommon);
			    registerFluid(fluidEnder, "ender");
			}
			else {
				Logger.INFO("Registering Resonant Ender as it is an already existing Fluid.");
				fluidEnder = ender;
			}
		}
		else {
			Logger.INFO("Thermal Foundation is already loaded, no need to add our own Cryotheum/Pyrotheum.");
		}
	}

	public static void init() {}

	public static void postInit() {}

	public static void registerFluid(final Fluid paramFluid, final String paramString)
	{
		if (!FluidRegistry.isFluidRegistered(paramString)) {
			FluidRegistry.registerFluid(paramFluid);
		}
	}

	public static void registerDispenserHandlers()
	{
		BlockDispenser.dispenseBehaviorRegistry.putObject(TF_Items.itemBucket, new DispenserFilledBucketHandler());
		BlockDispenser.dispenseBehaviorRegistry.putObject(Items.bucket, new DispenserEmptyBucketHandler());
	}
}