package com.laytonsmith.abstraction.blocks; import com.laytonsmith.abstraction.MCItemStack; import com.laytonsmith.abstraction.MCLocation; import com.laytonsmith.abstraction.MCMetadatable; import com.laytonsmith.abstraction.MCWorld; import java.util.Collection; /** * * */ public interface MCBlock extends MCMetadatable { public int getTypeId(); public byte getData(); public void setTypeId(int idata); public void setData(byte imeta); public void setTypeAndData(int type, byte data, boolean physics); public double getTemperature(); public MCBlockState getState(); public MCMaterial getType(); public MCWorld getWorld(); public int getX(); public int getY(); public int getZ(); public MCLocation getLocation(); public MCSign getSign(); public boolean isSign(); public MCCommandBlock getCommandBlock(); public boolean isCommandBlock(); public MCDispenser getDispenser(); public boolean isDispenser(); public boolean isNull(); public boolean isSolid(); public boolean isFlammable(); public boolean isTransparent(); public boolean isOccluding(); public boolean isBurnable(); public Collection<MCItemStack> getDrops(); public Collection<MCItemStack> getDrops(MCItemStack tool); public int getLightLevel(); public int getBlockPower(); public boolean isBlockPowered(); public boolean isBlockIndirectlyPowered(); public MCBlock getRelative(MCBlockFace face); public MCBlockFace getFace(MCBlock get); }