You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
3.7 KiB
Java
140 lines
3.7 KiB
Java
package net.minecraft.block;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import java.util.List;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.IIcon;
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraft.world.World;
|
|
|
|
public class BlockDirt extends Block
|
|
{
|
|
public static final String[] field_150009_a = new String[] {"default", "default", "podzol"};
|
|
@SideOnly(Side.CLIENT)
|
|
private IIcon field_150008_b;
|
|
@SideOnly(Side.CLIENT)
|
|
private IIcon field_150010_M;
|
|
private static final String __OBFID = "CL_00000228";
|
|
|
|
protected BlockDirt()
|
|
{
|
|
super(Material.ground);
|
|
this.setCreativeTab(CreativeTabs.tabBlock);
|
|
}
|
|
|
|
/**
|
|
* Gets the block's texture. Args: side, meta
|
|
*/
|
|
@SideOnly(Side.CLIENT)
|
|
public IIcon getIcon(int side, int meta)
|
|
{
|
|
if (meta == 2)
|
|
{
|
|
if (side == 1)
|
|
{
|
|
return this.field_150008_b;
|
|
}
|
|
|
|
if (side != 0)
|
|
{
|
|
return this.field_150010_M;
|
|
}
|
|
}
|
|
|
|
return this.blockIcon;
|
|
}
|
|
|
|
/**
|
|
* Determines the damage on the item the block drops. Used in cloth and wood.
|
|
*/
|
|
public int damageDropped(int meta)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public IIcon getIcon(IBlockAccess worldIn, int x, int y, int z, int side)
|
|
{
|
|
int i1 = worldIn.getBlockMetadata(x, y, z);
|
|
|
|
if (i1 == 2)
|
|
{
|
|
if (side == 1)
|
|
{
|
|
return this.field_150008_b;
|
|
}
|
|
|
|
if (side != 0)
|
|
{
|
|
Material material = worldIn.getBlock(x, y + 1, z).getMaterial();
|
|
|
|
if (material == Material.snow || material == Material.craftedSnow)
|
|
{
|
|
return Blocks.grass.getIcon(worldIn, x, y, z, side);
|
|
}
|
|
|
|
Block block = worldIn.getBlock(x, y + 1, z);
|
|
|
|
if (block != Blocks.dirt && block != Blocks.grass)
|
|
{
|
|
return this.field_150010_M;
|
|
}
|
|
}
|
|
}
|
|
|
|
return this.blockIcon;
|
|
}
|
|
|
|
/**
|
|
* Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage
|
|
* and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null.
|
|
*/
|
|
protected ItemStack createStackedBlock(int meta)
|
|
{
|
|
if (meta == 1)
|
|
{
|
|
meta = 0;
|
|
}
|
|
|
|
return super.createStackedBlock(meta);
|
|
}
|
|
|
|
/**
|
|
* returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
|
|
*/
|
|
@SideOnly(Side.CLIENT)
|
|
public void getSubBlocks(Item itemIn, CreativeTabs tab, List list)
|
|
{
|
|
list.add(new ItemStack(this, 1, 0));
|
|
list.add(new ItemStack(this, 1, 2));
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public void registerBlockIcons(IIconRegister reg)
|
|
{
|
|
super.registerBlockIcons(reg);
|
|
this.field_150008_b = reg.registerIcon(this.getTextureName() + "_" + "podzol_top");
|
|
this.field_150010_M = reg.registerIcon(this.getTextureName() + "_" + "podzol_side");
|
|
}
|
|
|
|
/**
|
|
* Get the block's damage value (for use with pick block).
|
|
*/
|
|
public int getDamageValue(World worldIn, int x, int y, int z)
|
|
{
|
|
int l = worldIn.getBlockMetadata(x, y, z);
|
|
|
|
if (l == 1)
|
|
{
|
|
l = 0;
|
|
}
|
|
|
|
return l;
|
|
}
|
|
} |