Fluids:
package com.creepgaming.creepgamingmod.fluids;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
public class Fluids {
public static Fluid rFuel;
public static Block blockRFuel;
public static void mainRegistry() {
rFuel = new Fluid("fuel").setLuminosity(0).setDensity(790).setViscosity(1000);
FluidRegistry.registerFluid(rFuel);
blockRFuel = new BlockRFuel(rFuel, Material.water).setBlockName("rfuel");
GameRegistry.registerBlock(blockRFuel, blockRFuel.getUnlocalizedName().substring(5));
rFuel.setUnlocalizedName(blockRFuel.getUnlocalizedName());
}
}
FluidBlock:
package com.creepgaming.creepgamingmod.fluids;
import com.creepgaming.creepgamingmod.CreepGamingMod;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
public class BlockRFuel extends BlockFluidClassic{
@SideOnly(Side.CLIENT)
protected IIcon stillIcon;
@SideOnly(Side.CLIENT)
protected IIcon flowingIcon;
public BlockRFuel(Fluid fluid, Material material) {
super(fluid, material);
setCreativeTab(CreepGamingMod.tabCCG);
}
@Override
public IIcon getIcon(int side, int meta){
return (side == 0 || side == 1)? stillIcon : flowingIcon;
}
@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister register){
stillIcon = register.registerIcon("creepgamingmod:fuel_still");
flowingIcon = register.registerIcon("creepgamingmod:fuel_flow");
}
@Override
public boolean canDisplace(IBlockAccess world, int x, int y, int z){
if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false;
return super.canDisplace(world, x, y, z);
}
@Override
public boolean displaceIfPossible(World world, int x, int y, int z) {
if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false;
return super.displaceIfPossible(world, x, y, z);
}
}
I used this tutorial:
http://www.minecraftforge.net/wiki/Create_a_Fluid
I don't think I've changed anything besides the textures and the properties of the liquid.