Shift clicking a facade with facade equipped will now remove the facade from the pipe
This commit is contained in:
parent
c8aa189aa8
commit
ebe9e3a020
2 changed files with 32 additions and 2 deletions
|
@ -66,6 +66,22 @@ public class ItemFacade extends ItemBuildCraft {
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World worldObj, int x, int y, int z, int side) {
|
||||
if (worldObj.isRemote) return false;
|
||||
if (!player.isSneaking()) return false;
|
||||
|
||||
TileEntity tile = worldObj.getBlockTileEntity(x, y, z);
|
||||
if (!(tile instanceof TileGenericPipe)) return false;
|
||||
|
||||
TileGenericPipe pipeTile = (TileGenericPipe)tile;
|
||||
|
||||
if (!pipeTile.hasFacade(Orientations.dirs()[side])) return false;
|
||||
|
||||
pipeTile.dropFacade(Orientations.dirs()[side]);
|
||||
return true;
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public static void initialize(){
|
||||
List creativeItems = getCreativeContents();
|
||||
|
|
|
@ -531,8 +531,8 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, ILiqu
|
|||
if (this.worldObj.isRemote) return false;
|
||||
if (this.facadeBlocks[direction.ordinal()] == blockid) return false;
|
||||
|
||||
if (this.facadeBlocks[direction.ordinal()] != 0){
|
||||
Utils.dropItems(worldObj, new ItemStack(BuildCraftTransport.facadeItem, 1, ItemFacade.encode(this.facadeBlocks[direction.ordinal()], this.facadeMeta[direction.ordinal()])), this.xCoord, this.yCoord, this.zCoord);
|
||||
if (hasFacade(direction)){
|
||||
dropFacade(direction);
|
||||
}
|
||||
|
||||
this.facadeBlocks[direction.ordinal()] = blockid;
|
||||
|
@ -541,6 +541,20 @@ public class TileGenericPipe extends TileEntity implements IPowerReceptor, ILiqu
|
|||
return true;
|
||||
}
|
||||
|
||||
public boolean hasFacade(Orientations direction){
|
||||
if (this.worldObj.isRemote) return false;
|
||||
return (this.facadeBlocks[direction.ordinal()] != 0);
|
||||
}
|
||||
|
||||
public void dropFacade(Orientations direction){
|
||||
if (this.worldObj.isRemote) return;
|
||||
if (!hasFacade(direction)) return;
|
||||
Utils.dropItems(worldObj, new ItemStack(BuildCraftTransport.facadeItem, 1, ItemFacade.encode(this.facadeBlocks[direction.ordinal()], this.facadeMeta[direction.ordinal()])), this.xCoord, this.yCoord, this.zCoord);
|
||||
this.facadeBlocks[direction.ordinal()] = 0;
|
||||
this.facadeMeta[direction.ordinal()] = 0;
|
||||
refreshRenderState();
|
||||
}
|
||||
|
||||
/** IPipeRenderState implementation **/
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue