/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.fluids;
import mods.railcraft.common.blocks.machine.alpha.EnumMachineAlpha;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import mods.railcraft.common.plugins.forge.RailcraftRegistry;
import mods.railcraft.common.core.RailcraftConfig;
import mods.railcraft.common.plugins.forge.CreativePlugin;
import mods.railcraft.common.plugins.forge.LootPlugin;
import net.minecraft.init.Items;
/**
*
* @author CovertJaguar <http://www.railcraft.info>
*/
public class FluidContainers {
public static final FluidContainers INSTANCE = new FluidContainers();
private static Item itemCreosoteOilBucket;
private static Item itemCreosoteOilBottle;
private static Item itemSteamBottle;
private static ItemFluidContainer itemCreosoteOilCell;
private static ItemFluidContainer itemCreosoteOilCan;
private static ItemFluidContainer itemCreosoteOilWax;
private static ItemFluidContainer itemCreosoteOilRefactory;
private FluidContainers() {
}
public static ItemStack getCreosoteOilBucket() {
Item item = itemCreosoteOilBucket;
if (item == null) {
String tag = "railcraft.fluid.creosote.bucket";
item = new ItemBucketRailcraft(Fluids.CREOSOTE.get());
item.setUnlocalizedName(tag);
RailcraftRegistry.register(item);
FluidHelper.registerBucket(Fluids.CREOSOTE.get(FluidHelper.BUCKET_VOLUME), new ItemStack(item));
itemCreosoteOilBucket = item;
}
return new ItemStack(item);
}
public static ItemStack getCreosoteOilBottle() {
return getCreosoteOilBottle(1);
}
public static ItemStack getCreosoteOilBottle(int qty) {
Item item = itemCreosoteOilBottle;
if (item == null) {
String tag = "railcraft.fluid.creosote.bottle";
if (RailcraftConfig.isItemEnabled(tag)) {
item = new ItemFluidContainer().setUnlocalizedName(tag).setCreativeTab(CreativePlugin.RAILCRAFT_TAB);
RailcraftRegistry.register(item);
LootPlugin.addLootRailway(new ItemStack(item), 4, 16, "creosote.bottle");
if (!RailcraftConfig.useCreosoteFurnaceRecipes() && RailcraftConfig.isSubBlockEnabled(EnumMachineAlpha.COKE_OVEN.getTag()))
FluidHelper.registerBottle(Fluids.CREOSOTE.get(FluidHelper.BUCKET_VOLUME), new ItemStack(item));
itemCreosoteOilBottle = item;
} else
return null;
}
return new ItemStack(item, qty);
}
public static ItemStack getCreosoteOilCan() {
return getCreosoteOilCan(1);
}
public static ItemStack getCreosoteOilCan(int qty) {
ItemFluidContainer item = itemCreosoteOilCan;
if (item == null) {
String tag = "railcraft.fluid.creosote.can";
if (RailcraftConfig.isItemEnabled(tag)) {
item = new ItemFluidContainer();
item.setUnlocalizedName(tag);
RailcraftRegistry.register(item);
boolean forestry = FluidHelper.registerCan(Fluids.CREOSOTE.get(FluidHelper.BUCKET_VOLUME), new ItemStack(item));
if (forestry)
item.setCreativeTab(CreativePlugin.RAILCRAFT_TAB);
itemCreosoteOilCan = item;
} else
return null;
}
return new ItemStack(item, qty);
}
public static ItemStack getCreosoteOilWax() {
return getCreosoteOilWax(1);
}
public static ItemStack getCreosoteOilWax(int qty) {
ItemFluidContainer item = itemCreosoteOilWax;
if (item == null) {
String tag = "railcraft.fluid.creosote.wax";
if (RailcraftConfig.isItemEnabled(tag)) {
item = new ItemFluidContainer();
item.setUnlocalizedName(tag);
RailcraftRegistry.register(item);
boolean forestry = FluidHelper.registerWax(Fluids.CREOSOTE.get(FluidHelper.BUCKET_VOLUME), new ItemStack(item));
if (forestry)
item.setCreativeTab(CreativePlugin.RAILCRAFT_TAB);
itemCreosoteOilWax = item;
} else
return null;
}
return new ItemStack(item, qty);
}
public static ItemStack getCreosoteOilRefactory() {
return getCreosoteOilRefactory(1);
}
public static ItemStack getCreosoteOilRefactory(int qty) {
ItemFluidContainer item = itemCreosoteOilRefactory;
if (item == null) {
String tag = "railcraft.fluid.creosote.refactory";
if (RailcraftConfig.isItemEnabled(tag)) {
item = new ItemFluidContainer();
item.setUnlocalizedName(tag);
RailcraftRegistry.register(item);
boolean forestry = FluidHelper.registerRefactory(Fluids.CREOSOTE.get(FluidHelper.BUCKET_VOLUME), new ItemStack(item));
if (forestry)
item.setCreativeTab(CreativePlugin.RAILCRAFT_TAB);
itemCreosoteOilRefactory = item;
} else
return null;
}
return new ItemStack(item, qty);
}
public static ItemStack getCreosoteOilCell() {
return getCreosoteOilCell(1);
}
public static ItemStack getCreosoteOilCell(int qty) {
ItemFluidContainer item = itemCreosoteOilCell;
if (item == null) {
String tag = "railcraft.fluid.creosote.cell";
if (RailcraftConfig.isItemEnabled(tag)) {
item = new ItemFluidContainer();
item.setUnlocalizedName(tag);
RailcraftRegistry.register(item);
boolean ic2 = FluidHelper.registerCell(Fluids.CREOSOTE.get(FluidHelper.BUCKET_VOLUME), new ItemStack(item));
if (ic2)
item.setCreativeTab(CreativePlugin.RAILCRAFT_TAB);
itemCreosoteOilCell = item;
} else
return null;
}
return new ItemStack(item, qty);
}
public static ItemStack getSteamBottle() {
return getSteamBottle(1);
}
public static ItemStack getSteamBottle(int qty) {
Item item = itemSteamBottle;
if (item == null) {
String tag = "railcraft.fluid.steam.bottle";
item = new ItemBucketRailcraft(Fluids.STEAM.get()).setContainerItemStack(new ItemStack(Items.glass_bottle));
item.setUnlocalizedName(tag);
RailcraftRegistry.register(item);
FluidHelper.registerBottle(Fluids.STEAM.get(FluidHelper.BUCKET_VOLUME), new ItemStack(item));
itemSteamBottle = item;
}
return new ItemStack(item);
}
}