Bundle the ic2 wrench api
This commit is contained in:
parent
52af3d2d2d
commit
1475554f8e
2 changed files with 1 additions and 0 deletions
61
src/main/java/ic2/api/tile/IWrenchable.java
Normal file
61
src/main/java/ic2/api/tile/IWrenchable.java
Normal file
|
@ -0,0 +1,61 @@
|
|||
package ic2.api.tile;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Allows a tile entity to make use of the wrench's removal and rotation functions.
|
||||
*/
|
||||
public interface IWrenchable {
|
||||
/**
|
||||
* Determine if the wrench can be used to set the block's facing.
|
||||
* Called before wrenchCanRemove().
|
||||
*
|
||||
* @param entityPlayer player using the wrench, may be null
|
||||
* @param side block's side the wrench was clicked on
|
||||
* @return Whether the wrenching was done and the wrench should be damaged
|
||||
*/
|
||||
boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side);
|
||||
|
||||
/**
|
||||
* Get the block's facing.
|
||||
*
|
||||
* @return Block facing
|
||||
*/
|
||||
short getFacing();
|
||||
|
||||
/**
|
||||
* Set the block's facing
|
||||
*
|
||||
* @param facing facing to set the block to
|
||||
*/
|
||||
void setFacing(short facing);
|
||||
|
||||
/**
|
||||
* Determine if the wrench can be used to remove the block.
|
||||
* Called if wrenchSetFacing fails.
|
||||
*
|
||||
* @param entityPlayer player using the wrench, may be null
|
||||
* @return Whether the wrenching was done and the wrench should be damaged
|
||||
*/
|
||||
boolean wrenchCanRemove(EntityPlayer entityPlayer);
|
||||
|
||||
/**
|
||||
* Determine the probability to drop the block as it is.
|
||||
* The first entry in getDrops will be replaced by blockid:meta if the drop is successful.
|
||||
*
|
||||
* @return Probability from 0 to 1
|
||||
*/
|
||||
float getWrenchDropRate();
|
||||
|
||||
/**
|
||||
* Determine the item the block will drop when the wrenching is successful.
|
||||
*
|
||||
* The ItemStack will be copied before creating the EntityItem.
|
||||
*
|
||||
* @param entityPlayer player using the wrench, may be null
|
||||
* @return ItemStack to drop, may be null
|
||||
*/
|
||||
ItemStack getWrenchDrop(EntityPlayer entityPlayer);
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue