下面列出了怎么用net.minecraft.util.Icon的API类实例代码及写法,或者点击链接到github查看源代码。
@SideOnly(Side.CLIENT)
@Override
public Icon getIcon(int id, int meta)
{
if (AliquoTickHandler.tick == 400 && allow)
{
allow = false;
return icon[eyeBlink()];
}
if (AliquoTickHandler.tick > 20 && !allow)
{
allow = true;
return icon[0];
}
else return icon[eye];
}
@Override
@SideOnly(Side.CLIENT)
public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int side)
{
TileEntity tileentity = blockAccess.getBlockTileEntity(x, y, z);
if (tileentity != null)
{
TileEntityMEBattery meBattery = (TileEntityMEBattery) tileentity;
double energy = meBattery.getMECurrentPower();
double maxEnergy = meBattery.getMEMaxPower();
if (energy < (maxEnergy * 0.25))
{
return iconLow;
} else if (energy >= (maxEnergy * 0.25) && energy <= (maxEnergy * 0.75))
{
return iconMed;
} else
{
return iconHi;
}
}
return iconLow;
}
public void drawFace(ForgeDirection side, Block block, double x, double y, double z, Icon icon, RenderBlocks renderer)
{
switch (side)
{
case UP:
renderer.renderFaceYPos(block, x, y, z, icon);
break;
case DOWN:
renderer.renderFaceYNeg(block, x, y, z, icon);
break;
case NORTH:
renderer.renderFaceZNeg(block, x, y, z, icon);
break;
case EAST:
renderer.renderFaceXPos(block, x, y, z, icon);
break;
case SOUTH:
renderer.renderFaceZPos(block, x, y, z, icon);
break;
case WEST:
renderer.renderFaceXNeg(block, x, y, z, icon);
break;
case UNKNOWN:
break;
}
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister register)
{
icon = new Icon[3];
for (int i = 0; i < icon.length; i++)
{
icon[i] = register.registerIcon("exaliquo:" + Registries.oreType[i] + "/Block" + this.getUnlocalizedName().substring(5) + Registries.oreType[i]);
}
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister register)
{
icon = new Icon[4];
for (int i = 0; i < icon.length; i++)
{
icon[i] = register.registerIcon("exaliquo:EnderCake_" + i);
}
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister register)
{
icon = new Icon[3];
for (int i = 0; i < icon.length; i++)
{
icon[i] = register.registerIcon("exaliquo:EnderEye_" + i);
}
}
@Override
public Icon getBlockTexture(IBlockAccess world, int x, int y, int z, int side)
{
if (AliquoTickHandler.tick < 10)
{
return icon[eyeBlink()];
}
return icon[0];
}
@Override
public void registerIcons(IconRegister register)
{
icon = new Icon[3];
for (int i = 0; i < icon.length; i++)
{
icon[i] = register.registerIcon("exaliquo:" + Registries.oreType[i] + "/Item" + this.getUnlocalizedName().substring(5) + Registries.oreType[i]);
}
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IconRegister par1IconRegister)
{
icons = new Icon[MoCreatures.multiBlockNames.size()];
for (int x = 0; x < MoCreatures.multiBlockNames.size(); x++)
{
icons[x] = par1IconRegister.registerIcon("mocreatures:" + "rock_" + MoCreatures.multiBlockNames.get(x));
}
}
@SideOnly(Side.CLIENT)
/**
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
*/
@Override
public Icon getIcon(int par1, int par2)
{
return icons[par2];
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IconRegister par1IconRegister)
{
icons = new Icon[MoCreatures.multiBlockNames.size()][2];
for (int x = 0; x < MoCreatures.multiBlockNames.size(); x++)
{
icons[x][0] = par1IconRegister.registerIcon("mocreatures:" + "logTop_" + MoCreatures.multiBlockNames.get(x));
icons[x][1] = par1IconRegister.registerIcon("mocreatures:" + "logSide_" + MoCreatures.multiBlockNames.get(x));
}
}
/**
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
*/
@SideOnly(Side.CLIENT)
@Override
public Icon getIcon(int par1Side, int Metadata)
{
if (par1Side < 2)
{
return icons[Metadata][0];
}
return icons[Metadata][1];
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IconRegister par1IconRegister)
{
icons = new Icon[MoCreatures.multiBlockNames.size()][3];
for (int x = 0; x < MoCreatures.multiBlockNames.size(); x++)
{
icons[x][0] = par1IconRegister.registerIcon("mocreatures:" + "dirt_" + MoCreatures.multiBlockNames.get(x));
icons[x][1] = par1IconRegister.registerIcon("mocreatures:" + "grassTop_" + MoCreatures.multiBlockNames.get(x));
icons[x][2] = par1IconRegister.registerIcon("mocreatures:" + "grassSide_" + MoCreatures.multiBlockNames.get(x));
}
}
/**
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
*/
@SideOnly(Side.CLIENT)
@Override
public Icon getIcon(int par1Side, int Metadata)
{
if (par1Side > 2) par1Side = 2;
return icons[Metadata][par1Side];
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IconRegister par1IconRegister)
{
icons = new Icon[MoCreatures.multiBlockNames.size()];
for (int x = 0; x < MoCreatures.multiBlockNames.size(); x++)
{
icons[x] = par1IconRegister.registerIcon("mocreatures:" + "dirt_" + MoCreatures.multiBlockNames.get(x));
//System.out.println("adding icon " + icons[x] + " with texture " + "mocreatures:" + "dirt_" +MoCreatures.multiBlockNames.get(x));
}
}
@SideOnly(Side.CLIENT)
/**
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
*/
@Override
public Icon getIcon(int par1, int par2)
{
return icons[par2];
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IconRegister par1IconRegister)
{
icons = new Icon[MoCreatures.multiBlockNames.size()];
for (int x = 0; x < MoCreatures.multiBlockNames.size(); x++)
{
icons[x] = par1IconRegister.registerIcon("mocreatures:" + "leaves_" + MoCreatures.multiBlockNames.get(x));
}
}
@SideOnly(Side.CLIENT)
/**
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
*/
@Override
public Icon getIcon(int par1, int par2)
{
return icons[par2];
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IconRegister par1IconRegister)
{
icons = new Icon[MoCreatures.multiBlockNames.size()];
for (int x = 0; x < MoCreatures.multiBlockNames.size(); x++)
{
icons[x] = par1IconRegister.registerIcon("mocreatures:" + "tallGrass_" + MoCreatures.multiBlockNames.get(x));
}
}
/**
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
*/
@SideOnly(Side.CLIENT)
@Override
public Icon getIcon(int par1, int par2)
{
//fixes? game crashing bug
if (par2 > icons.length)
{
par2 = icons.length;
}
return icons[par2];
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IconRegister par1IconRegister)
{
icons = new Icon[MoCreatures.multiBlockNames.size()];
for (int x = 0; x < MoCreatures.multiBlockNames.size(); x++)
{
icons[x] = par1IconRegister.registerIcon("mocreatures:" + "woodPlanks_" + MoCreatures.multiBlockNames.get(x));
}
}
/**
* From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
*/
@SideOnly(Side.CLIENT)
@Override
public Icon getIcon(int par1, int par2)
{
return icons[par2];
}
@Override
@SideOnly(Side.CLIENT)
public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int side)
{
TileEntity tileentity = blockAccess.getBlockTileEntity(x, y, z);
int metadata = blockAccess.getBlockMetadata(x, y, z);
if (tileentity != null)
{
return giveIcon(side, metadata);
}
return null;
}
@Override
@SideOnly(Side.CLIENT)
public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int side)
{
TileEntity tileentity = blockAccess.getBlockTileEntity(x, y, z);
int metadata = blockAccess.getBlockMetadata(x, y, z);
if (tileentity != null)
{
return side == metadata ? frontIcon : side == 0 ? bottomIcon : side == 1 ? topIcon : sideIcon;
}
return null;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister iconregister)
{
frontIcon = iconregister.registerIcon("extracells:fluid.monitor.hotbar");
sideIcon = iconregister.registerIcon("extracells:machine.side");
bottomIcon = iconregister.registerIcon("extracells:machine.bottom");
topIcon = iconregister.registerIcon("extracells:machine.top");
baseLayer = iconregister.registerIcon("extracells:fluid.monitor.layerbase");
colorLayers = new Icon[]
{ iconregister.registerIcon("extracells:fluid.monitor.layer3"), iconregister.registerIcon("extracells:fluid.monitor.layer2"), iconregister.registerIcon("extracells:fluid.monitor.layer1") };
}
@Override
@SideOnly(Side.CLIENT)
public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int side)
{
TileEntity tileentity = blockAccess.getBlockTileEntity(x, y, z);
int metadata = blockAccess.getBlockMetadata(x, y, z);
if (tileentity != null)
{
return side == metadata ? baseLayer : side == 0 ? bottomIcon : side == 1 ? topIcon : sideIcon;
}
return null;
}
@Override
@SideOnly(Side.CLIENT)
public Icon getIcon(int side, int b)
{
//a slight abuse of metadata but it should cause little issue.
if(b==1)
return sideTopIcon;
if(b==2)
return sideBottomIcon;
if(b==3)
return sideMiddleIcon;
return side == 0 ? bottomIcon : side == 1 ? topIcon :sideIcon;
}
@Override
@SideOnly(Side.CLIENT)
public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int side)
{
TileEntity tileentity = blockAccess.getBlockTileEntity(x, y, z);
int metadata = blockAccess.getBlockMetadata(x, y, z);
if (tileentity != null)
{
return side == metadata ? (metadata != 1 && metadata != 0 ? frontHorizontalIcon : frontVerticalIcon) : (metadata != 1 && metadata != 0 ? (side != 1 && side != 0 ? sideIcon : topIcon) : topIcon);
}
return null;
}
@Override
@SideOnly(Side.CLIENT)
public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int side)
{
TileEntity tileentity = blockAccess.getBlockTileEntity(x, y, z);
int metadata = blockAccess.getBlockMetadata(x, y, z);
if (tileentity != null)
{
return side == metadata ? frontIcon : side == 0 ? bottomIcon : side == 1 ? topIcon : sideIcon;
}
return null;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister iconregister)
{
frontIcon = iconregister.registerIcon("extracells:fluid.terminal.hotbar");
sideIcon = iconregister.registerIcon("extracells:machine.side");
bottomIcon = iconregister.registerIcon("extracells:machine.bottom");
topIcon = iconregister.registerIcon("extracells:machine.top");
baseLayer = iconregister.registerIcon("extracells:fluid.terminal.layerbase");
colorLayers = new Icon[]
{ iconregister.registerIcon("extracells:fluid.terminal.layer3"), iconregister.registerIcon("extracells:fluid.terminal.layer2"), iconregister.registerIcon("extracells:fluid.terminal.layer1") };
}