use of riskyken.armourersWorkshop.common.blocks.BlockMannequin in project Armourers-Workshop by RiskyKen.
the class ItemPaintbrush method onItemUse.
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) {
Block block = world.getBlock(x, y, z);
if (player.isSneaking() & block == ModBlocks.colourMixer) {
TileEntity te = world.getTileEntity(x, y, z);
if (te != null && te instanceof IPantable) {
if (!world.isRemote) {
int colour = ((IPantable) te).getColour(0);
PaintType paintType = ((IPantable) te).getPaintType(0);
setToolColour(stack, colour);
setToolPaintType(stack, paintType);
}
}
return true;
}
if (block instanceof IPantableBlock) {
int newColour = getToolColour(stack);
if (!world.isRemote) {
UndoManager.begin(player);
if ((Boolean) ToolOptions.FULL_BLOCK_MODE.readFromNBT(stack.getTagCompound())) {
for (int i = 0; i < 6; i++) {
usedOnBlockSide(stack, player, world, new BlockLocation(x, y, z), block, i);
}
} else {
usedOnBlockSide(stack, player, world, new BlockLocation(x, y, z), block, side);
}
UndoManager.end(player);
if ((Boolean) ToolOptions.FULL_BLOCK_MODE.readFromNBT(stack.getTagCompound())) {
world.playSoundEffect(x + 0.5D, y + 0.5D, z + 0.5D, LibSounds.PAINT, 1.0F, world.rand.nextFloat() * 0.1F + 0.9F);
} else {
world.playSoundEffect(x + 0.5D, y + 0.5D, z + 0.5D, LibSounds.PAINT, 1.0F, world.rand.nextFloat() * 0.1F + 1.5F);
}
} else {
spawnPaintParticles(world, x, y, z, side, newColour);
}
return true;
}
if (block == ModBlocks.armourerBrain & player.isSneaking()) {
if (!world.isRemote) {
TileEntity te = world.getTileEntity(x, y, z);
if (te != null && te instanceof TileEntityArmourer) {
((TileEntityArmourer) te).toolUsedOnArmourer(this, world, stack, player);
}
}
ModLogger.log("armourer");
return true;
}
if (block == ModBlocks.mannequin) {
if (!world.isRemote) {
TileEntity te = ((BlockMannequin) block).getMannequinTileEntity(world, x, y, z);
if (te != null && te instanceof TileEntityMannequin) {
int newColour = getToolColour(stack);
if (player.isSneaking()) {
((TileEntityMannequin) te).setHairColour(newColour);
} else {
((TileEntityMannequin) te).setSkinColour(newColour);
}
}
}
return true;
}
return false;
}
use of riskyken.armourersWorkshop.common.blocks.BlockMannequin in project Armourers-Workshop by RiskyKen.
the class DollCraftingHandler method onEntityDestroy.
@Override
public void onEntityDestroy(Entity entity) {
World world = entity.worldObj;
if (!world.isRemote) {
if (entity instanceof EntityFallingBlock) {
if (((EntityFallingBlock) entity).func_145805_f() == Blocks.anvil) {
int x = MathHelper.floor_double(entity.posX);
int y = MathHelper.floor_double(entity.posY) - 1;
int z = MathHelper.floor_double(entity.posZ);
Block block = world.getBlock(x, y, z);
if (block == ModBlocks.mannequin) {
((BlockMannequin) block).convertToDoll(world, x, y, z);
}
}
}
}
}
Aggregations